apache tomcat AJP漏洞修复方案(2020-02-21)

Apache Tomcat AJP 协议协议漏洞,可在未授权的情况下远程读取特定目录下的任意文件。

漏洞影响的产品版本包括:Tomcat 6、Tomcat 7、Tomcat 8、Tomcat 9。

修复方案

升级版本方案

Apache官方已发布9.0.31、8.5.51及7.0.100版本已修复此漏洞。

手动修复方案

1. 若未使用Tomcat AJP协议:

如未使用Tomcat AJP 协议,可将版本升级到 9.0.31、8.5.51、7.0.100。

如无法行行版本更新可直接关闭AJPConnector,或将监听改为localhost。

具体操作:

打开CATALINA_BASE/conf/server.xml:

<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />

注释或删掉该行:

<!--<Connectorport="8009" protocol="AJP/1.3"redirectPort="8443" />-->

重启服务。

2、若使用了AJP协议

将Tomcat升级到9.0.31、8.5.51、7.0.100。

同时为AJP Connector配置secret,设置AJP协议的认证凭证。如,将YOUR_TOMCAT_AJP_SECRET更改成一个安全性高、无法轻易猜到的值:

<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS" secret="YOUR_TOMCAT_AJP_SECRET"/>

若无法执行版本更新,为AJPConnector配置requiredSecret,设置AJP协议认证凭证。如:

<Connector port="8009"protocol="AJP/1.3" redirectPort="8443"address="YOUR_TOMCAT_IP_ADDRESS"requiredSecret="YOUR_TOMCAT_AJP_SECRET" />