ves*_*ino 1 apache mod-security mod-security2 ubuntu-16.04
我已使用以下说明安装了 Mod Security:https : //www.digitalocean.com/community/tutorials/how-to-set-up-modsecurity-with-apache-on-ubuntu-14-04-and-debian- 8
它似乎工作正常,但我似乎无法为 WordPress 登录创建例外。我已将以下内容添加到我的虚拟主机文件中:
<Directory "/var/www/domain.com/public_html/wp-admin">
<IfModule security2_module>
SecRuleEngine Off
</IfModule>
</Directory>
Run Code Online (Sandbox Code Playgroud)
我还尝试了以下方法:
<LocationMatch "/wp-admin">
<IfModule security2_module>
SecRuleEngine Off
</IfModule>
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)
以及两者的不同组合。
我正在运行 Ubuntu 16.04.2,但我想它与 14.04 相同,对吧?
ModSecurity 在几个不同的阶段运行。第一个阶段在处理任何目录或位置规则之前运行。因此,像这样关闭 ModSecurity 是行不通的,因为当 Apache 开始处理该配置时,为时已晚。
更好的方法是编写一个 ModSecurity 规则来“允许”这些位置:
SecRule REQUEST_URI "@beginsWith /wp-admin" "phase:1,id:12345,allow"
Run Code Online (Sandbox Code Playgroud)
或者,为该请求的其余部分动态关闭 ModSecurity(这将具有与上述基本相同的效果):
SecRule REQUEST_URI "@beginsWith /wp-admin" "phase:1,id:12345,ctl:ruleEngine=off"
Run Code Online (Sandbox Code Playgroud)
在任何其他规则之前定义这些规则中的任何一个很重要,以确保其他规则在上述规则生效之前不会阻止请求。
但是,我会说 wp-admin 是 WordPress 网站上最有可能的攻击位置之一,所以请注意为什么您会遇到安装 ModSecurity 的麻烦,然后决定不使用它来保护该特定 URL!
归档时间: |
|
查看次数: |
4060 次 |
最近记录: |