Linux實用小工具軟體-fail2ban

2010年10月21日 星期四 張貼者: 夢無痕
      最近閒閒去Hinet申請了一組固定IP,在自己的家裡自己建了一台Cent Os的Linux伺服器自己玩,玩久了感覺不太順手,跟我所熟悉的SUSE版的Linux不太一樣,或許是因為我SUSE的YAST圖形介面玩習慣了,忽然要碰文字介面就要稍微翻一下書,了解一下各個設定檔的參數。  
當我架好我的Samba、 ssh、vnc、ftp、web...等等,此伺服器主要是用來隨時存放我的個人重要檔案備份。前些日子定期查看我的系統log時,我發現我的ssh和ftp常有一些無聊人士想透過機器人來嘗試Try出我的帳號密碼,來登入我的伺服器偷窺我的小祕密,因此上網找了一下相關的解決方法。個人查了很多種方法有透過設定防火牆的、有透過knock這個小工具、也有透過fail2ban這個小工具的。今天小弟測試後比較推薦fail2ban這個小工具既簡單且明瞭,如果該功能還是無法滿足閣下的需求再去嘗試另外兩個小工具吧。  


fail2ban此工具的原理很簡單主要是透過 Iptables tcpwrapper(TCPWrapper 是一簡單易用的工具,主要的功能在紀錄並攔截由 inetd 管理的 TCP 服務)並利用Iptables recent 這個 module 來計算連線數量,當該連線數量超過設定值就加入防火牆加以封鎖。
1. 首先下載完fail2ban並安裝(安裝前請先安裝Python及其他相依性軟體)
2.
/etc/fail2ban/jail.conf(設定檔路徑)
 
ignoreip = 192.168.1.0/24 ( 忽略不限制的ip)
 
bantime  = 86400 ( ip被拒絕的時間長短 )
 
findtime  = 600 ( 觸發的時間區間 )
 
maxretry = 3 ( 觸發的次數 )
3. 以ssh為例
[ssh-tcpwrapper]
enabled  = true ( 是否開啟 true or false )
filter   = sshd
action   = 
iptables[name=SSH, port=2222, protocol=tcp]
(名稱、port號、通訊協定)
sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com]
(發出警告信)
logpath  = /var/log/secure
(所要查看的log檔)
bantime  = -1
(封鎖時間(-1代表無限))
maxretry = 3
(觸發次數)
4. 可查看/var/log/fail2ban.log是否有參數錯誤及運作狀況 以下fail2ban成功阻擋入侵可能的訊息
2010-10-15 00:35:29,039 fail2ban.actions.action: INFO   Set actionUnban =
2010-10-15 00:35:29,040 fail2ban.actions.action: INFO   Set actionCheck =
2010-10-15 00:35:30,187 fail2ban.actions: WARNING [ssh-iptables] Ban 114.26.25.48
2010-10-15 00:37:09,628 fail2ban.actions: WARNING [ssh-iptables] Ban 114.26.23.162
5. 也可以透過iptables -L -n這個指令來查看被我們封鎖的IP
Chain fail2ban-SSH (1 references)
target     prot opt source               destination
DROP       all  --  114.26.23.162        0.0.0.0/0
DROP       all  --  114.26.25.48         0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

歡迎分享


標籤: ,
  1. 補充內容:
    如果是使永CentOS
    請先在yum新增一下ATrpms的套件庫
    # vim /etc/yum.repos.d/CentOS-Base.repo

    在內文最底下新增以下內容
    [atrpms]
    name=Red Hat Enterprise Linux $releasever - $basearch - ATrpms
    baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
    gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
    gpgcheck=1
    enabled=1
    即可直接使用yum安裝
    # yum -ivh fail2ban

張貼留言