安裝 SSHGuard-pf 保護 SSH

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"

  1. 更改 SSHGuard 預設封鎖時間...
    之前有介紹怎樣用 SSHGuard 來封鎖一些 Try 網站的 IP。不過他預設的封鎖時間實在是有點短(420秒、1200秒),雖然可以用命令列啟動的方式來設定封鎖時間,可是我覺得太麻煩了,還是直接從.....

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *