我对 Modsecurity 还很陌生,需要一些帮助来保护我的开发服务器。
我安装了 Apache 2.4 和 Mod Security 2.8.0
我还安装了 OWASP ModSecurity Core 规则集 ver.3.2.0
现在,我正在尝试阻止所有不遵循特定REQUEST_URI
模式的请求。
例如我有这样的规则:
SecRule REQUEST_URI "!@rx (^(\/loc\/.*)$)" \
"id:1234, phase:1,log,deny,status:404, msg:'Block URI'"
当我访问与浏览器不同的 URL 时,mysite.com/loc/
该规则会起作用并阻止请求。问题是:我在 Apache 日志中看到很多来自攻击者的请求尽管有此规则,但仍通过了,所以我一定遗漏了某些东西。
我通过浏览器发出的请求(与攻击者的请求相同)被阻止(来自 Apache 日志):
MY IP - - [18/Oct/2019:09:44:26 +0300] "GET /FxCodeShell.jsp?xxx HTTP/1.1" 404 89 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
攻击者的请求被传递(来自Apache日志):
Attacker IP - - [18/Oct/2019:03:37:03 +0300] "GET /FxCodeShell.jsp?xxx HTTP/1.1" 302 310 "http://XX.XX.XX.XX:80/FxCodeShell.jsp?xxx" "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)"
有什么建议可以解释为什么该规则无法生效吗?我遗漏了什么?
任何帮助将不胜感激!