0%

攔截暴力入侵的 IP - Fail2Ban

攔截暴力入侵的 IP

Fail2Ban 是一套用 Python 寫成的系統安全工具,它會監察伺服器的紀錄檔,當出現多次登入錯誤後,便會觸發一些安全動作,例如將 IP 封鎖或用 Email 通知系統管理員等。Fail2Ban 相當具彈性,可以針對自己的需求設定不同的過濾規則,而 Fail2Ban 已經內建多個過濾規則,包含一些熱門伺服器軟體的過濾規則,支援 sshd, web server, ftp server, email server, dns server 等。

安裝

centos

1
$ sudo yum install -y fail2ban

設定

開啟 /etc/fail2ban/jail.conf 進行設定,主要的幾個設定為:

1
2
3
4
ignoreip = 127.0.0.1 ( 忽略的 ip )
bantime = 86400 ( 封鎖 ip 的時間, 以秒為單位, 這裡是 1 天 )
findtime = 600 ( 錯誤登入的時間 )
maxretry = 3 ( 在 findtime 時間內發生的錯誤發入次數 )

設定 SSHD 在 /etc/fail2ban/jail.conf

1
2
3
4
5
6
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=SSH, protocol=tcp]
logpath = /var/log/secure
maxretry = 3

啟動

1
2
$ sudo systemctl enable fail2ban
$ sudo systemctl start fail2ban

狀態

查看紀錄檔 /var/log/fail2ban.log,或者用 iptables 查看:

1
$ sudo iptables -nvL