Fail2Ban掃描/var/log/auth.log之類的日志文件,并禁止IP地址進行過多的失敗登錄嘗試。它通過更新系統(tǒng)防火墻規(guī)則以在可配置的時間內(nèi)拒絕來自那些IP地址的新連接來實現(xiàn)此目的。 Fail2Ban開箱即用,可以讀取許多標準日志文件,例如sshd和Apache的文件,并且可以輕松配置為讀取您選擇的任何日志文件,以解決所需的任何錯誤。
在這篇文章中,我向您介紹了如何使用Fail2Ban保護SSH服務(wù)?,F(xiàn)在,我將指導(dǎo)您如何使用Fail2Ban保護WordPress登錄頁面。
要與WordPress集成,您需要在WordPress中安裝WP fail2ban插件。
安裝后,需要將WP fail2ban插件文件夾(通常位于wordpress/wp-content/plugins/wp-fail2ban)的文件夾中的wordpress.conf文件復(fù)制到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
本節(jié)將所有訪問錯誤都寫入/var/log/auth.log文件,此過濾器適用于http和https。但是,如果在Web服務(wù)器的配置中使用了高速緩存代理,則還需要為WP fail2ban插件指定它,以便它開始從特殊標頭中獲取客戶端地址,而不是Frontend-proxy的地址。為此,請打開wp-config.php文件,并在其中添加包含代理服務(wù)器配置的行。
define(‘WP_FAIL2BAN_PROXIES’,‘127.0.0.1’);
127.0.0.1 is the address of the proxy server.
現(xiàn)在,重新啟動Fail2ban:
service fail2ban restart