|
|
#1 |
|
初心者
註冊日期: Jan 2008
文章: 2424
積分: 59487
|
基本運作原理: fail2ban (daemon) → 監視 log file → 連續出現多次錯誤訊息 → 封鎖來源 IP
以下是分別在 Fedora Core 3 (python-2.3 & fail2ban 0.6.1) 與 Fedora 7 (python-2.5 & fail2ban 0.8) 針對 sshd 與 proftpd 的防護設置 環境
download page wget http://fail2ban.sourceforge.net/rpms/fail2ban-0.6.1-2jik.noarch.rpm rpm -ivh fail2ban-0.6.1-2jik.noarch.rpm啟用 fail2ban vi /etc/fail2ban.conf環境#以 daemon 方式啟動 fail2banbackground = true#允許嘗試次數maxfailures = 3#觸發 maxfailures 之後的封鎖時間(秒); 設為 -1 表示永遠封鎖bantime = 600#以 findtime (秒) 時間內的錯誤記錄作為 maxfailures 的計數基準findtime = 600#排除 IP 範圍, 以空白隔開ignoreip = 127.0.0.1 192.168.0.0/24#不啟用 mail 通知[MAIL]enabled = false#修改自 VSFTPD, 未提及的部份保持原設定[PROFTPD]enabled = truelogfile = /var/log/proftpd/proftpd.logfailregex = no such user|Incorrect password#未提及的部份保持原設定[SSH]enabled = truelogfile = /var/log/secureservice fail2ban start
download page yum install python-devel wget http://nchc.dl.sourceforge.net/sourceforge/fail2ban/fail2ban-0.8.0.tar.bz2 tar jxf fail2ban-0.8.0.tar.bz2 cd fail2ban-0.8.0 python setup.py install啟用 fail2ban cd /etc/fail2ban vi jail.confProFTPD 補充#全域設置[DEFAULT]#排除 IP 範圍, 以空白隔開ignoreip = 127.0.0.1 192.168.0.0/24#觸發 maxretry 之後的封鎖時間(秒); 設為 -1 表示永遠封鎖bantime = 600#以 findtime (秒) 時間內的錯誤記錄作為 maxretry 的計數基準findtime = 600#允許嘗試次數maxretry = 3#以 iptables 阻擋嚐試登入 sshd 的來源 ip[ssh-iptables]enabled = truefilter = sshd #對應 /etc/fail2ban/filter.daction = iptables[name=SSH, port=ssh, portocol=tcp] #對應 /etc/fail2ban/action.dlogpath = /var/log/secure #這是 Fedora 的 sshd log filemaxretry = 5 #取代全域設定值 (maxretry = 3)[proftpd-iptables]enabled = truefilter = proftpdaction = iptables[name=ProFTPD, port=ftp, protocol=tcp]logpath = /var/log/proftpd/proftpd.logmaxretry = 6fail2ban-client start
此文章於 02-29-2008 11:58 被 acid1031 編輯. |
|
|
|