一、漏洞概述
Apache Solr 是一个开源搜索服务引擎,使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 在默认配置下存在服务端请求伪造漏洞,当Solr以cloud模式启动且可出网时,远程攻击者可利用此漏洞在目标系统上执行任意代码。
二、漏洞详情
漏洞名称:Apache Solr代码执行漏洞
漏洞编号:CNVD-2023-27598
危害等级:高危
漏洞类型:其他
影响版本:8.10.0 <= Apache Solr < 9.2.0
排查方式:通过排查使用的 Apache Solr 版本确定是否可能受该漏洞影响。
注:可根据与 Apache Solr 应用版本一致的 jar / maven 包的版本信息来获取当前的应用版本,如检查 org.apache.solr:solr-solrj 或 solr-solrj-x.x.x.jar(其中x.x.x为版本信息)的版本。
三、漏洞官方修复建议
- 目前官方已发布安全更新,受影响的用户可以更新到 Apache Solr 9.2.0 及以上版本。
- 不方便升级的用户可依据“避免将 Apache Solr 开放在公网或为 Apache Solr 配置身份校验”的原则,参考以下缓解措施,缓解该漏洞:
(1) 配置 Solr 身份校验:在 security.json 中启用身份验证插件,代码示例:
{
"authentication" : {
"class": "class.that.implements.authentication"
},
"authorization": {
"class": "class.that.implements.authorization"
}
}
(2) 在 SolrCloud 模式下需要将 security.json 上传到 ZooKeeper。可参考以下命令:
server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:2181 -cmd put /security.json '{"authentication":{"class":"org.apache.solr.security.KerberosPlugin"}}'
(3) 在独立模式下需要创建 security.json 并将其放在 $SOLR_HOME 安装目录中,
了解操作详情
注:更改配置前请做好相关备份工作,避免发生意外。
四、使用云安全产品漏洞防御指南
目前,腾讯云主机安全、容器安全已支持对Apache Solr 代码执行漏洞进行检测和防护。
1、开启“三道防线防护”
腾讯云安全中心将向符合条件且未试用过产品的企业用户限时开放 7 天免费试用,用于处置SApache Solr 代码执行漏洞。
(1)一键领取试用(已购客户可跳过)
领取安全产品七天免费试用
2 、漏洞检测
(1)使用腾讯T-Sec主机安全(云镜)检测服务器漏洞
登录腾讯主机安全控制台,对Apache Solr 代码执行漏洞进行排查。细节如下:
1) 主机安全(云镜)控制台:如当前进入【授权管理】页面绑定主机安全授权,选中“绑定主机”并选择待扫描机器;
2) 打开【漏洞管理】>全部漏洞,搜索“Apache Solr 代码执行漏洞”进行扫描检测
3) 查看扫描到的漏洞风险项目;
4) 确认资产存在漏洞风险;
5) 升级到安全版本;
6) 回到主机安全(云镜)控制台再次打开【漏洞管理】,重新检测确保资产不受漏洞影响。
(2)使用腾讯容器安全服务(TCSS)检测容器镜像漏洞
登录腾讯容器安全服务控制台,进入【漏洞管理】页面,对本地镜像和仓库镜像进行排查。步骤细节如下:
1) 容器安全服务控制台:打开【漏洞管理】->应急漏洞点击“一键检测”或“检测应急漏洞”;
2)如镜像尚未授权可以点击批量授权,自选镜像授权扫描;
3)扫描完毕,单击详情确认资产存在漏洞风险;
4)升级到安全版本;
5)回到容器安全服务控制台再次打开【漏洞管理】,重新检测确保资产不受漏洞影响。
3、漏洞防御推荐配置
根据业务类型可选择云防火墙虚拟补丁、Web应用防火墙基础安全进行防护,同时借助主机安全和容器安全泰石引擎RASP+解决方案对主机/容器进行防护:
业务类型 | 防护产品 | 产品功能 |
---|---|---|
公网IP业务 | 云防火墙 | 虚拟补丁 |
域名业务 | Web应用防火墙 | 基础安全 |
(1)公网IP业务防护:使用腾讯腾讯T-Sec云防火墙(CFW)虚拟补丁
适用于绑定公网IP对外提供服务的业务类型,通过虚拟补丁功能,一键开启针对漏洞利用的检测与自动拦截,无需重启服务。步骤细节如下:
1)登录腾讯T-Sec云防火墙控制台,进入【防火墙开关】页面开启互联网边界开关;
2)进入【入侵防御】页面,开启拦截模式即可拦截漏洞利用攻击流量;
(2)域名业务防护:使用腾讯T-Sec Web应用防火墙(WAF)防御漏洞攻击
适用于通过域名对外提供服务的业务类型,通过WAF可实现针对HTTP/HTTPS流量的漏洞防护与虚拟补丁
1)确认业务是否已经接入Web应用防火墙(以下简称WAF):
● 业务在腾讯云外,领用SaaS-WAF(需做域名调度)
详细接入指引:https://cloud.tencent.com/document/product/627/18631
● 业务在腾讯云内且有七层CLB,领用CLB-WAF(无需业务变动)
详细接入指引:https://cloud.tencent.com/document/product/627/40765
2)登录腾讯T-Sec Web应用防火墙控制台,依次打开左侧【资产中心-域名列表】,添加域名并开启防护即可。步骤细节如下:
● Web应用防火墙控制台:【资产中心—域名列表】,点击【添加域名】。
● SaaS-WAF 域名接入:输入域名,配置端口,源站地址或者域名,点击确定即可。新增域名成功后【资产中心—基础安全】防护默认打开。
● CLB-WAF(负载均衡型)域名接入:输入域名,配置代理,负载均衡监听器,点击确定即可。新增域名成功后【资产中心—基础安全】防护默认打开。
● 域名列表查看配置,防护开关、回源IP等接入情况,确认接入成功。
(3)主机/容器防护:使用腾讯T-Sec主机安全(云镜)腾讯容器安全服务(TCSS)泰石引擎RASP+方案对主机/容器进行防御
泰石引擎RASP+方案支持java反序列化通用防御,可自动注入RASP 插件,通过插件管理、虚拟补丁部署,实现一键化漏洞主动防御。
登录腾讯主机安全控制台,开启漏洞防御。(如未授权可参考【漏洞检测】步骤细节)
1)主机安全(云镜)控制台:打开【漏洞管理】->漏洞防御,点击按钮一键开启;
2)容器安全服务控制台:打开【漏洞管理】->漏洞防御,点击按钮一键开启。
五、参考链接
https://solr.apache.org/guide/6_6/authentication-and-authorization-plugins.html
六、联系我们
如需获得帮助可以直接扫码联系我们: