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.
當我架好我的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.1625. 也可以透過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
歡迎分享
訂閱:
張貼留言 (Atom)
補充內容:
如果是使永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