debian下安裝fail2ban
ssh
apt-get install fail2ban
安裝完成後主要的配置文件在/etc/fail2ban目錄下,裏面有兩個文件和兩個目錄:socket
loglevel = 3 logtarget = /var/log/fail2ban.log socket = /var/run/fail2ban/fail2ban.sock
[DEFAULT] #忽略哪些IP,能夠是具體IP、CIDR類型的地址,多個IP用空格分開 ignoreip = 127.0.0.1 #設置IP被鎖住的時間,單位爲秒 bantime = 600 #檢測時間,在此時間內超過規定的次數會激活fail2ban findtime = 600 #嘗試的次數 maxretry = 3 #日誌檢測機器,有"gamin", "polling" and "auto"三種模式。 backend = polling #發送報警郵件的地址 destemail = root<a href="http://my.oschina.net/localhost" class="referer" target="_blank">@localhost</a> #默認的動做執行行爲,在action.d目錄下有各類行爲策略,默認是iptables-#multiport banaction = iptables-multiport #0.8.1版本後fail2ban默認用sendmail MTA mta = sendmail #默認使用tcp協議 protocol = tcp #定義了各類行動的參數 #banaction參數在action.d目錄下具體定義,name port protocol 也能夠本身定義 #只禁止IP action_ = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s] #即禁止IP又發送email action_mw = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s] %(mta)s-whois[name=%(__name__)s, dest="%(destemail)s", protocol="%(protocol)s] #禁止IP、發送email、報告有關日誌 action_mwl = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s] %(mta)s-whois-lines[name=%(__name__)s, dest="%(destemail)s", logpath=%(logpath)s] #若是沒有定義行爲,則默認的行爲爲action,可選擇action_,action_mw, action_mwl 等 action = %(action_)s 默認配置文件含有此模塊 #定義子模塊名 [ssh] #是否激活 enabled = true #定義port,能夠是數字端口號表示,也能夠是字符串表示 port= ssh #過濾規則,在filter.d目錄下定義 filter = sshd #檢測日誌的路徑 logpath = /var/log/auth.log #嘗試的次數,覆蓋了全局配置的 maxretry = 6 #banaction 在action.d目錄下定義,此參數值會替換action中選用的默認行爲中定義的banaction參數 banaction = iptables-allports #注意 port protocol banaction 能夠不用分開定義,直接使用action定義也能夠,例如: #action = iptables[name=SSH, port=ssh, protocol=tcp] #在子模塊中定義的port protocol banaction 都會在action_ action_mw, action_mwl中替換成具體的設置值。
filter.d 目錄裏面定義的是根據日誌文件進行過濾的規則,主要是利用正則匹配出現錯誤的關鍵字。tcp
[ssh] enabled = true port = 22222 filter = sshd logpath = /var/log/auth.log maxretry = 6
測試以下: ide
轉載自:http://my.oschina.net/guol/blog/52219
測試