Linux 的安全防護,用 fail2ban 自動封IP
總以為 Linux 比較安全,被攻擊的概率較低,不過我用了非常簡單的 root 賬戶密碼 (password),家里的機子兩次剛掛上網沒半天就被人給改了密碼,很是郁悶,不過兩次的原因都很簡單,掛上網后就開始遭遇不斷的試密碼,因為密碼過于簡單,很快就被攻破了,想想看,這也不是個事,密碼就算比較復雜,天天也還是會被人試密碼,心里總是不爽,找找看有沒有什么輸錯幾次密碼就自動禁止 IP 的工具。這不,還真找到了個叫 fail2ban 的小工具,通過分析日志來自動 ban 入侵者的 IP,話不多說,裝上去用用。
下載地址在:http://fail2ban.sourceforge.net/rpms/
找到最新版本的 rpm 包來安裝,裝好后,稍微根據自己的情況改一下配置就可以使用了。
vi /etc/fail2ban.conf
#以 daemon 方式啟動 fail2ban
background = true
#允許嘗試次數
maxfailures = 3
#觸發 maxfailures 之後的封鎖時間(秒); 設為 -1 表示永遠封鎖
bantime = 3600
#以 findtime (秒) 時間內的錯誤記錄作為 maxfailures 的計數基準
findtime = 600
#排除 IP 范圍, 以空白隔開
ignoreip = 127.0.0.1 192.168.0.0/24
#不啟用 mail 通知
[MAIL]
enabled = false
#修改自 VSFTPD, 未提及的部份保持原設定
[PROFTPD]
enabled = true
logfile = /var/log/proftpd/proftpd.log
failregex = no such user|Incorrect password
#未提及的部份保持原設定
[SSH]
enabled = true
logfile = /var/log/secure
service fail2ban start
這個服務啟動以后,每天都能在 /var/log/fail2ban.log 中看到有攻擊的肉雞被 ban 了。
2008-08-01 09:13:33,532 WARNING: SSH: Ban (3600 s) 205.189.197.66
2008-08-01 12:24:41,943 WARNING: SSH: Ban (3600 s) 121.52.209.5