2007年2月8日 星期四

fail2ban

班上的 server 自從啟用之後,幾天之內東西多了好多,本來只是抱著測試性質的想法,隨著東西越來越多,也已經開始不敢輕視以對。所以這幾天翻了一下已經私藏很久的書籤,找出 fail2ban ,順手裝了上去。

fail2ban 是用 python 寫成的,裝上去後會以背景程式常駐,並持續觀察特定的 log 檔,若是有錯誤登入的紀錄(一般來說網路上會有很多暴力測試的程式持續的探測網路上的主機,這個只要去注意一下系統 log 檔即可發現),只要超過特定的次數(我是設成錯誤3次),即終止該ip的連線(預設是十分鐘)。 fail2ban 終止連線的方式,是在 filter chain 裡面新增自訂的 chain ,然後若是有 ip 符合最大錯誤次數,就會執行 iptables 將該 ip drop。我是覺得這樣的作法很漂亮:)

過去不知道有 fail2ban 這類的程式,我的作法都是用 perl 寫個簡單的程式,並用 crontab 每分鐘掃一次 log 。可是其實這樣的方法並不算非常漂亮,萬一有人輸入錯密碼一次,馬上就會被封鎖。所以像 fail2ban 這類的程式對系統安全有一定的幫助,我是覺得長時間上線的主機都應該加上此類的程式,以提昇系統的安全。

0 意見: