SSHGuard 是一個跟防火牆配合來防止 SSH 被暴力測試的 Port。後來有 sshguard-pf 這個 port 直接配合 pf。
# cd /usr/ports/security/sshguard-pf
# make install clean
# ee /etc/syslog.conf
把"#auth.info;authpriv.info |exec /usr/local/sbin/sshguard"這行前面的註解消掉。
# ee /etc/pf.conf
加入:
table <sshguard> persist block in quick on $ext_if from <sshguard> label "ssh bruteforce"
pf去套用改過的設定檔然後再重開syslogd:
# pfctl -f /etc/pf.conf
# /etc/rc.d/syslogd restart
確認是否成功:
方法一:
# pfctl -Tshow -tsshguard (看看是否 table 內有 block)
方法二:
看到/var/log/auth.log裡面有出現下列訊息就是成功了:
Feb 1 01:01:01 host sshguard[1234]: Started successfully [(a,p,s)=(4, 420, 1200)], now ready to scan.
不用 SSHGuard 阻擋 Try Ftp 和 SSH port 的 IP:
首先 pass 對外進來的流量,記錄連結 port {ftp ssh} 30秒內3次 (max-src-conn-rate 指定時間內允許連結次數),若有符合這樣條件的 IP 就將該 IP 加入 Table <trypasswd> 內:
pass in on $ext_if proto tcp from any to ($ext_if) port { ftp ssh } flags S/SA keep state (max-src-conn-rate 3/30, overload <trypasswd> flush global)
然後丟掉他的封包:
block drop in quick on $ext_if from <trypasswd>
手動加入IP到table內:
# pfctl -t trypasswd -T add 222.69.0.0/16
Please follow and like us:
0 comments on “安裝 SSHGuard-pf 保護 SSH”
1 Pings/Trackbacks 於 "安裝 SSHGuard-pf 保護 SSH"
更改 SSHGuard 預設封鎖時間...
之前有介紹怎樣用 SSHGuard 來封鎖一些 Try 網站的 IP。不過他預設的封鎖時間實在是有點短(420秒、1200秒),雖然可以用命令列啟動的方式來設定封鎖時間,可是我覺得太麻煩了,還是直接從.....