Ssh
pf 不停止暴力嘗試
我正在為我和我的朋友設置一個 SFTP 伺服器,並且我試圖阻止暴力嘗試。
我已經閱讀了很多關於如何讓 pf 停止暴力攻擊的文章,但我沒有任何運氣。
我正在執行 OpenBSD 6.4 這是我目前的 /etc/pf.conf
# $OpenBSD: pf.conf,v 1.55 2017/12/03 20:40:04 s then Exp $ # # See pf.conf(5) and /etc/examples/pf.conf set skip on lo block return # block stateless traffic pass # establish keep-state # By default, do not permit remote connections to X11 block return in on ! lo0 proto tcp to port 6000:6010 # Port build user does not need network block return out log proto {tcp udp} user _pbuild ext_if="em0" antispoof quick for ($ext_if) #No IP or GPS SPOOFING allowed here :) table <bruteforce> persist block quick from <bruteforce> pass inet proto tcp to any:network port 22 \ keep state (max-src-conn 10, max-src-conn-rate 5/5, \ overload <bruteforce> flush global) table <ssh_block> persist block quick from <ssh_block> to any
當我檢查表 brute-force 和 ssh_block 時,它們不存在。所以在 ssh_block 我執行了命令
pfctl -t ssh_block -T add 218.92.1.138 1 table created. 1/1 addresses added. pfctl -t ssh_block -T show 218.92.1.138
但是,我的 /var/log/authlog 仍然充滿了來自該 IP 地址的嘗試。
我錯過了什麼?
問題是
/etc/pf.conf
文件中的錯誤導致防火牆根本無法載入其配置(:network
適用於特定介面)。OpenBSD PF FAQ
pf
中給出了一個用於阻止暴力連接的範例,它歸結為規則(從最初的範例修改為我正在使用的東西):www``ssh
table <bruteforce> persist block in quick from <bruteforce> pass in on egress proto tcp to any port ssh flags S/SA keep state \ (max-src-conn 5, max-src-conn-rate 5/30, \ overload <bruteforce> flush global)
這會將任何每 30 秒連接超過 5 次的主機放入
<bruteforce>
表中,這將阻止它。它還只允許每個源地址五個連接。另一種選擇是使用SSHGuard。OpenBSD 有一個 SSHGuard 埠,但它很舊(2011 年發布 1.5)。我剛剛(幾分鐘前)送出了一個更新,希望在幾天內送出。