正如 Wordpress Codec 中所述,我想通过 RewritetRule 防止对 wp-login.php 的暴力攻击。
http://codex.wordpress.org/Brute_Force_Attacks#Deny_Access_to_No_Referrer_Requests
我想将其重写为 403 禁止状态,而不是 Codex 的 301 状态代码,并将其记录为“客户端被服务器配置拒绝“以便Fail2Ban可以处理日志并阻止IP。
我正在使用下面的代码。
# Stop spam attack logins and comments
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .(wp-comments-post|wp-login)\.php*
RewriteCond %{HTTP_REFERER} !.*example.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) - [R=403,L]
</ifModule>
它禁止 403 状态代码的 POST 攻击,但我在 error_log 中没有看到有关该事件的任何日志。
我如何让 RewriteRule 将事件记录为 error_log 中的正常 403 日志?并且 Rewrite + Fail2Ban 配置是否能够有效处理暴力攻击,从而提高服务器管理效率?
答案1
您不会在 error_log 中看到这些尝试。您会在 access_log 中看到它们的条目,因此您可以配置 fail2ban,以根据访问日志条目禁止在访问特定 URL 时达到 403 状态代码的 IP。