Overview
前几天忽然收到学校云服务器安全中心的邮件,说我们部署的几台服务器流量明显出现异常,可能是被攻击了,并提供了几个可能的问题。大致看了下,问题出在Strut2
,这不是个特有的问题,而是涉及到多个版本的安全问题,所以在这里记录一下。
问题描述
Struts2
存在远程代码执行的严重漏洞,目前Struts2
官方已经确认漏洞(漏洞编号S2-045
,CVE
编号:cve-2017-5638
),并定级为高危风险。
- 漏洞危害程度严重,可造成直接获取应用系统所在服务器的控制权限。
- 黑客可以利用该漏洞通过浏览器在远程服务器上执行任意系统命令,将会对受影响站点造成严重影响,引发数据泄露、网页篡改、植入后门、成为肉鸡等安全事件。
- 漏洞利用无任何条件限制,可绕过绝大多数防护设备的通用防护策略!
- 该漏洞影响范围较广(
Struts 2.3.5
-Struts 2.3.31
,Struts 2.5
-Struts 2.5.10
)
我们当前使用的版本号恰好就在上述范围中,从安全性报告大约可以知道,我们的服务器已经变成转发流量的肉鸡了。
解决方案
官方解决方案
升级到不受影响的版本(Struts 2.3.32
或Struts 2.5.10.1
):
- Struts 2.3.32 下载地址:
https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.32 - Struts 2.5.10.1下载地址:
https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.10.1
如果打不开上面的网页,自己搜索一下应该也很容易下载到。
临时解决方案
如果暂时不方便升级,也可以通过配置目前的版本来避免这次安全漏洞,请参见:一份数据告诉你,被万年漏洞王 Struts2 坑了的网站有哪些。
小结
如果服务器已经被攻击,多半需要重新安装服务器以清理原来服务器上的后门程序。我们清空了受攻击的服务器,重新申请了一个新的云服务器挂载到了之前的网址下,现在来看,一切正常。