Overview

前几天忽然收到学校云服务器安全中心的邮件,说我们部署的几台服务器流量明显出现异常,可能是被攻击了,并提供了几个可能的问题。大致看了下,问题出在Strut2,这不是个特有的问题,而是涉及到多个版本的安全问题,所以在这里记录一下。

问题描述

Struts2存在远程代码执行的严重漏洞,目前Struts2官方已经确认漏洞(漏洞编号S2-045CVE编号:cve-2017-5638),并定级为高危风险。

  • 漏洞危害程度严重,可造成直接获取应用系统所在服务器的控制权限。
  • 黑客可以利用该漏洞通过浏览器在远程服务器上执行任意系统命令,将会对受影响站点造成严重影响,引发数据泄露、网页篡改、植入后门、成为肉鸡等安全事件。
  • 漏洞利用无任何条件限制,可绕过绝大多数防护设备的通用防护策略!
  • 该漏洞影响范围较广(Struts 2.3.5 - Struts 2.3.31, Struts 2.5 - Struts 2.5.10

我们当前使用的版本号恰好就在上述范围中,从安全性报告大约可以知道,我们的服务器已经变成转发流量的肉鸡了。

解决方案

官方解决方案

升级到不受影响的版本(Struts 2.3.32Struts 2.5.10.1):

如果打不开上面的网页,自己搜索一下应该也很容易下载到。

临时解决方案

如果暂时不方便升级,也可以通过配置目前的版本来避免这次安全漏洞,请参见:一份数据告诉你,被万年漏洞王 Struts2 坑了的网站有哪些

小结

如果服务器已经被攻击,多半需要重新安装服务器以清理原来服务器上的后门程序。我们清空了受攻击的服务器,重新申请了一个新的云服务器挂载到了之前的网址下,现在来看,一切正常。

参考网址