Apache Solr代码执行漏洞自助处置手册

一、漏洞概述

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为版本信息)的版本。

三、漏洞官方修复建议

  1. 目前官方已发布安全更新,受影响的用户可以更新到 Apache Solr 9.2.0 及以上版本。
  2. 不方便升级的用户可依据“避免将 Apache Solr 开放在公网或为 Apache Solr 配置身份校验”的原则,参考以下缓解措施,缓解该漏洞:

(1) 配置 Solr 身份校验:在 security.json 中启用身份验证插件,代码示例:

代码语言:javascript
复制
{
"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

六、联系我们

如需获得帮助可以直接扫码联系我们: