自動擋暴力 try ssh 的 script (with pf)

從 http://anp.ath.cx/sshit/sshit.pl 改進的,現在不會 fork 一堆出來了。
這個版本是用 tail -F 讀 /var/log/auth.log,跟 sshit.pl 的作法不同。

Link: http://www.csie.nctu.edu.tw/~jnlin/script/chkfw_select_pf.txt

你必須要在 /etc/pf.conf 加上:

table <$PF_TABLE> persist
block on $extdev from <$PF_TABLE> to any

才會真正 block 有惡意者的 IP。

6 thoughts on “自動擋暴力 try ssh 的 script (with pf)”

  1. 剛剛看了一下 File::Tail, 發現他是 sleep() 一段時間以後去檢查檔案是不是被 reopen, 效果會比 tail -F 用 kqueue 檢查來的差.

  2. 關於這個暴力 try 的問題,因為我的系統是 Gentoo Linux 然後 log 系統是 metalog,所以我自己這邊的做法,是去 metalog 那邊,設一個類似 handler 的東西. 一但有 ssh 的 log entry 進來,就啟動自己寫的一個小 script file 去看看是不是暴力 try (簡單的字串比對而已). 如果是的話,記錄下來,再來看看連續幾次後,就去設 iptable 把那個 ip 來的所有 packet 全部 drop 掉,並且 email 給我這個 drop 事件. 這樣擋應該也還蠻有效果的.

Comments are closed.