如何永久解决Apache Struts文件上传漏洞
Apache Struts又双叒叕爆文件上传漏洞了。
自Apache Struts框架发布以来,就存在多个版本的漏洞,其中一些漏洞涉及到文件上传功能。这些漏洞可能允许攻击者通过构造特定的请求来绕过安全限制,从而上传恶意文件。虽然每次官方都发布补丁进行修复,但是问题一直没有根除过,时不时的又爆出新的漏洞。
那么有没有办法杜绝Apache Struts文件上传漏洞呢?
依靠Apache Struts自身肯定是不行的,毕竟官方也不知道什么时候爆出新的漏洞。
所谓文件上传漏洞,是指绕过系统安全限制,非法上传恶意文件。哪如果让黑客不能上传恶意文件,或是让上传的恶意文件不能被执行,不就解决问题了吗?
思路有了,接下来就是如何实现拦截功能。要阻止黑客上传恶意文件,可以使用杀毒软件和防篡改功能来解决。杀毒软件不说了,没有一家杀毒公司敢保证100%的拦截效果,只能作为辅助手段。那就只剩下防篡改功能了。
但新的问题又来了,恶意文件有两种,一种是破坏操作系统的可执行文件,一种是破坏网站的网页木马。对于破坏操作系统的可执行文件,总不至于对全操作系统做防篡改保护吧,这样操作系统将立刻蓝屏。幸运的是,可以使用《护卫神.防入侵系统》的“进程防护”来解决这个问题。“进程防护”模块用于对软件做防护,可以限制软件的网络通信范围和文件访问范围。设置以后,软件只能按照预定规则访问文件和网络,没有任何办法越权,轻松搞定非法提权。
Apache Struts一般和Tomcat集成使用,接下来我们以Tomcat为防护对象,通过《护卫神.防入侵系统》,手把手演示如何一劳永逸的解决Apache Struts文件上传漏洞。
防护思路如下:
1、 设置Tomcat对jsp文件和可执行文件只有读取权限(阻止上传非法文件)
2、 设置Tomcat只对网站目录和日志目录有写权限(保障网站正常访问)
3、 设置Tomcat不能执行任何文件(禁止执行高危命令,例如cmd.exe、net.exe)
注意:虽然本文以Windows为例,但对Linux系统也适用,只是设置方法大同小异,详情请咨询护卫神客服!
第一步:添加Tomcat防护对象
(图一:添加Tomcat防护)
第二步:在“文件访问”选项卡,添加如下文件访问规则
温馨提示:护卫神.防入侵系统按优化级顺序逐条匹配访问路径规则,匹配到禁止操作就跳出。优先级数字越小,越优先执行!
优先级 | 访问路径 | 操作限制 |
1 | *\conhost.exe | 禁止新建、禁止改名、禁止修改、禁止删除 |
1 | *\werfault.exe | 禁止新建、禁止改名、禁止修改、禁止删除 |
10 | *.jsp | 禁止执行、禁止新建、禁止改名、禁止修改、禁止删除 |
10 | *.exe | 禁止执行、禁止新建、禁止改名、禁止修改、禁止删除 |
20 | d:\wwwroot\* | 禁止执行 |
20 | c:\hws.com\hwsjspmaster\tomcat9\* | 禁止执行 |
20 | c:\windows\temp\* | 禁止执行 |
20 | c:\windows\syswow64\config\systemprofile\* | 禁止执行 |
20 | c:\programdata\microsoft\* | 禁止执行 |
99 | * | 禁止执行、禁止新建、禁止改名、禁止修改、禁止删除 |
添加结果如下图:
(图二:Tomcat进程防护规则)
文件访问规则解释:
优先级为“1”的规则:
最先执行的规则,这2个是Windows启动Tomcat产生的配套进程。
只允许读取和执行,防止黑客创建同名文件绕过防护。
优先级为“10”的规则:
设置禁止写操作的文件类型。.jsp是网页木马,.exe是可执行文件。同样还可以添加其他类型,例如:.do、.dll、.vbs等等。
只允许读取,防止黑客上传此类恶意文件。
优先级为“20”的规则:
设置允许写操作的目录。一般填写网站目录、Tomcat安装目录、系统临时目录。
允许读取和写操作,禁止执行。
优先级为“99”的规则:
设置其他文件的访问规则。填写“*”,表示所有文件。
只允许读取,禁止黑客写操作任何文件,或执行高危命令(cmd.exe、net.exe)。
第三步:检查拦截效果
设置好防护规则后,黑客再想通过Apache Struts上传网页木马、恶意病毒,或执行高危命令(cmd.exe、net.exe)就成为不可能了,都会被护卫神拦截,轻松搞定Apache Struts文件上传漏洞。即使后期再次爆出此种漏洞,也不用担心,护卫神会一如既往的守护服务器安全!拦截效果如下图:
(图七:拦截非法执行cmd.exe提权)
(图八:拦截上传可执行文件)
(图八:拦截上传JSP文件)
原文:如何一劳永逸解决Apache Struts文件上传漏洞