共计 884 个字符,预计需要花费 3 分钟才能阅读完成。
Fail2Ban 扫描 /var/log/auth.log 之类的日志文件,并禁止 IP 地址进行过多的失败登录尝试。它通过更新系统防火墙规则以在可配置的时间内拒绝来自那些 IP 地址的新连接来实现此目的。Fail2Ban 开箱即用,可以读取许多标准日志文件,例如 sshd 和 Apache 的文件,并且可以轻松配置为读取您选择的任何日志文件,以解决所需的任何错误。
在这篇文章中,我向您介绍了如何使用 Fail2Ban 保护 SSH 服务。现在,我将指导您如何使用 Fail2Ban 保护 WordPress 登录页面。
要与 WordPress 集成,您需要在 WordPress 中安装 WP fail2ban 插件。
安装后,需要将 WP fail2ban 插件文件夹(通常位于 wordpress/wp-content/plugins/wp-fail2ban)的文件夹中的 wordpress.conf 文件复制到 Fail2ban 文件夹(位于 /etc/fail2ban/filter.d)。然后在 /etc/fail2ban/jail.conf 件中编辑 Fail2ban 配置,在其中添加 WordPress 部分:
[wordpress]
enabled = true
filter = wordpress
logpath = /var/log/auth.log
port = http,https
maxretry = 5
findtime = 3600
bantime = 86400
本节将所有访问错误都写入 /var/log/auth.log 文件,此过滤器适用于 http 和 https。但是,如果在 Web 服务器的配置中使用了高速缓存代理,则还需要为 WP fail2ban 插件指定它,以便它开始从特殊标头中获取客户端地址,而不是 Frontend-proxy 的地址。为此,请打开 wp-config.php 文件,并在其中添加包含代理服务器配置的行。
define(‘WP_FAIL2BAN_PROXIES’,‘127.0.0.1’);
127.0.0.1 is the address of the proxy server.
现在,重新启动 Fail2ban:
service fail2ban restart
: