Php ModSecurity:apache中代码为406的访问被拒绝
下面的错误是在网页上添加由PHP开发的代码时生成的Php ModSecurity:apache中代码为406的访问被拒绝,php,mod-security2,Php,Mod Security2,下面的错误是在网页上添加由PHP开发的代码时生成的 [error] [client 1192.168.0.1] ModSecurity: Access denied With code 406(phase 2). Pattern match "(?:\\b(?:\\.(?:ht(?:access|passwd|group)|www_?acl)|global\\\.asa|httpd\\\.conf|boot\\\\.ini)\\\\b|\\\\/etc\\\\/|\\\\/root\\\\/|\
[error] [client 1192.168.0.1] ModSecurity: Access denied With code 406(phase 2). Pattern match "(?:\\b(?:\\.(?:ht(?:access|passwd|group)|www_?acl)|global\\\.asa|httpd\\\.conf|boot\\\\.ini)\\\\b|\\\\/etc\\\\/|\\\\/root\\\\/|\\\\/public_html\\\\/)" at ARGS:content. [file "/usr/local/apache/conf/2.user.conf"] [line "134"] [id "1234123401"] [msg "Remote File Access Attempt"] [data "/etc/"] [severity "CRITICAL"] [tag "WEB_ATTACK/FILE_INJECTION"] [hostname "mydomain.com"] [uri "/admin/preview.php"] [unique_id "U36x7XyZeYcAAFVUXLsAAADC"]
我从以下文件中找到了代码:
vim /usr/local/apache/conf/modsec2.user.conf
"phase:2,capture,t:none,t:htmlEntityDecode,t:lowercase,ctl:auditLogParts=+E,deny,log,auditlog,msg:'Remote File Access Attempt',id:'1234123401',tag:'WEB_ATTACK/FILE_INJECTION',logdata:'%{TX.0}',severity:'2'"
它是否安全可能会禁用mod_security?在我看来,问题是在对“/admin/preview.php”请求的一个请求参数中使用了字符串“/etc/”,这看起来像是攻击,因此id为1234123401的规则阻止了请求 如果这是一次攻击,那么ModSecurity工作得很好 如果这是一个需要通过ModSecurity的合法请求,您可以 1) 更改请求,使其不包含字符串“/etc/”作为参数值-可能PHP脚本必须对此进行调整 2) 修改规则的正则表达式并删除/etc/part 3) 将规则操作从“拒绝”更改为“通过” 我不会选择选项2和3,因为这样会降低安全级别。相反,我会试着选择一 最好的, 罗纳德