Centos 7安裝Fail2ban防禦暴力破解密碼(配合FirewallD)
- 安裝EPEL源
yum -y install epel-release.noarch -
安裝支持firewalld的fail2ban
yum -y install fail2ban-firewalld fail2ban-systemd - 安裝相關軟件,讓fail2ban可以通過postfix發送提醒郵件(可選)
安裝配置postfix用於發送提醒郵件請點這裏
yum -y install postfix whois fail2ban-sendmail
systemctl enable postfix
systemctl start postfix
- 設定fail2ban
新建配置文件jail.local
vi /etc/fail2ban/jail.local
輸入以下內容後保存退出
[DEFAULT]
bantime = 86400
findtime = 300
maxretry = 3
sender = [email protected]
destemail = [email protected]
action = %(action_mwl)s
[sshd]
enabled = true
[sshd-ddos]
enabled = true
port = 2345
bantime是被封IP禁止訪問的時間,設定值為24小時,單位是秒。
findtime是檢測時間,在此時間內超過規定的次數會激活fail2ban,單位是秒。
maxretry是允許錯誤登錄的最大次數,和findtime配合使用。
sender為郵件發送者,destemail為接收通知郵箱。
action是觸發fail2ban采取的動作,action_mwl為禁IP+發通知郵件+寫入日誌。
sshd區塊的enabled = true開啟對SSH服務的防護,port為SSH的自定義端口。
sshd-ddos區塊的enabled = true開啟SSH-DDOS防護,port為SSH的自定義端口。
如果裝有vsftpd,在配置文件最後加上以下內容(port為vsftpd的登錄和數據端口)
[vsftpd]
enabled = true
port = 2121,2122
- 啟用fail2ban並設為開機自啟
systemctl enable fail2ban
systemctl start fail2ban - fail2ban常用命令
查看SSH服務監護狀態,能看到當前被禁IP。
fail2ban-client status sshd
在SSH監護服務忽略IP列表(白名單)中添加IP 192.168.111.111
fail2ban-client set sshd addignoreip 192.168.111.111
在SSH監護服務忽略IP列表(白名單)中刪除IP 192.168.111.111
fail2ban-client set sshd delignoreip 192.168.111.111
查看fail2ban日誌
tail /var/log/fail2ban.log
查看禁用了那些IP和取消禁止策略
可以使用‘ firewall-cmd --direct --get-all-rules’ 查看臨時策略集;也可以使用ipset list命令進行查看
如果要刪除172.20.20.51 這個地址,那麽可以使用下面的命令:
ipset del fail2ban-sshd 172.20.20.51 -exist
本文參考以下內容:
1,http://blog.163.com/l1_jun/blog/static/14386388201642443431107/
2,http://blog.csdn.net/xiaokurong/article/details/77369704
Centos 7安裝Fail2ban防禦暴力破解密碼(配合FirewallD)