如何阻止來自預先定義連接埠以外的來源連接埠的 (ssh) 流量?

如何阻止來自預先定義連接埠以外的來源連接埠的 (ssh) 流量?

VPS 受到大量 ssh 攻擊。這些攻擊是多種多樣的來源連接埠:

sshd[76661]: Invalid user ts3server from 76.103.161.19 port 33062
sshd[76661]: Received disconnect from 76.103.161.19 port 33062:11: Bye Bye [preauth]
sshd[76661]: Disconnected from invalid user ts3server 76.103.161.19 port 33062 [preauth]
sshguard[61313]: Attack from "76.103.161.19" on service SSH with danger 10.
sshguard[61313]: Blocking "76.103.161.19/24" for 86400 secs (1 attacks in 0 secs, after 1 abuses over 0 secs.)
sshd[76821]: Invalid user tibaldi from 140.143.206.216 port 33936
sshd[76821]: Received disconnect from 140.143.206.216 port 33936:11: Bye Bye [preauth]
sshd[76821]: Disconnected from invalid user tibaldi 140.143.206.216 port 33936 [preauth]
sshguard[61313]: Attack from "140.143.206.216" on service SSH with danger 10.
sshguard[61313]: Blocking "140.143.206.216/24" for 86400 secs (1 attacks in 0 secs, after 1 abuses over 0 secs.)

正如您所看到的,我目前以積極的方式使用反應性方法(sshguard)來阻止和限制這些攻擊。 (此外,不允許使用密碼 ssh 登入。)但是,仍然有太多,以至於淹沒了我的日誌。從日誌中可以清楚地看出,所有這些攻擊都來自高編號的隨機連接埠。我想做的是在防火牆層級阻止所有流量,這樣它就不會污染我的日誌。

我控制客戶端並可以選擇/定義它將使用哪個來源連接埠。

所以,如何阻止來自預定義連接埠(或範圍)以外的來源連接埠的 (ssh) 流量

我使用firewalld作為我的防火牆管理軟體,因此如果您能提供基於firewalld的解決方案將會非常有幫助。但是,也歡迎其他解決方案。

答案1

雖然目的地SSH 連線的連接埠通常為 22,來源港口(幾乎)沒有規則。這意味著來自的連接140.143.206.216 port 33936本身並不可疑。

因為我知道這個問題(峰值是在 10G 伺服器上每秒超過一百萬次攻擊),所以我建議您使用fail2ban- 這確實有效。

編輯

經過討論,我明白你控制著客戶。在這種情況下,您可以按照以下方式做一些事情

iptables -A INPUT -m tcp -p tcp --dport 22 '!' --sport 1000 -j DROP 

(對於遠端連接埠 1000)就可以了

相關內容