Fail2Ban掃描/var/log/auth.log之類的日志文件,并禁止IP地址進行過多的失敗登錄嘗試。它通過更新系統防火墻規則以在可配置的時間內拒絕來自那些IP地址的新連接來實現此目的。 Fail2Ban開箱即用,可以讀取許多標準日志文件,例如sshd和Apache的文件,并且可以輕松配置為讀取您選擇的任何日志文件,以解決所需的任何錯誤。
在這篇文章中,我將指導您如何使用Fail2Ban保護SSH服務。
首先,您需要安裝Fail2ban:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo systemctl start fail2ban
安裝后,Fail2ban將立即開始工作,但僅適用于SSH和默認設置。現在添加我們需要的設置。整個配置在文件/etc/fail2ban/jail.conf中。我們將需要更改SSH部分:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
findtime = 3600
bantime = 86400
maxretry:在findtime參數指定的時間內最大錯誤連接數
findtime:日志文件中分析錯誤連接數的時間。以秒計算
bantime:阻塞時間(以秒為單位)
您將要使用以下命令啟動并啟用Fail2ban服務:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo systemctl start fail2ban
[sudo] linuxidc 的密碼:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo systemctl enable fail2ban
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban
linuxidc@linuxidc:~/www.linuxidc.com$ sudo systemctl restart fail2ban
現在,在一小時內輸入5個錯誤密碼后,該地址將被封鎖一天。您可以使用以下命令找到包含的保護列表:
fail2ban–client status
您可以使用以下命令查找每個服務的受阻止客戶端的統計信息:
fail2ban–client status service_name