1. 程式人生 > >Centos 7安裝Fail2ban防禦暴力破解密碼(配合FirewallD)

Centos 7安裝Fail2ban防禦暴力破解密碼(配合FirewallD)

art 臨時 屏蔽 軟件 who set list 火墻 list 設定

fail2ban可以監視你的系統日誌,然後匹配日誌的錯誤信息(正則表達式匹配)執行相應的屏蔽動作(一般情況下是調用防火墻屏蔽)。比如有人在試探你的SSH、SMTP、FTP密碼,只要達到你預設的次數,fail2ban就會調用防火墻屏蔽這個IP,而且可以發送e-mail通知系統管理員。

  1. 安裝EPEL源
    yum -y install epel-release.noarch
  2. 安裝支持firewalld的fail2ban
    yum -y install fail2ban-firewalld fail2ban-systemd

  3. 安裝相關軟件,讓fail2ban可以通過postfix發送提醒郵件(可選)
    安裝配置postfix用於發送提醒郵件請點這裏

yum -y install postfix whois fail2ban-sendmail
systemctl enable postfix
systemctl start postfix

  1. 設定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

port = 2345
[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

  1. 啟用fail2ban並設為開機自啟
    systemctl enable fail2ban
    systemctl start fail2ban
  2. 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)