Ssh

配置 TCP Wrappers 後 SSH 變慢

  • July 4, 2014

我們在其中一台生產伺服器上打開了 SSH,使其容易受到各種暴力攻擊的入侵。我通過將預設埠從 22 更改為減少了嘗試。

我想通過僅允許從特定國家域進行 ssh 登錄來進一步加強安全性.in。為此,我可以配置/etc/hosts.deny/etc/hosts.allow.

對於hosts.allow,我添加了以下條目

sshd: in

如果我使用hosts.deny,那麼我的條目是這樣的

sshd: !in

配置上述任何一項後,我注意到連接到ssh伺服器需要更多時間。

在提供登錄嘗試之前,它會顯示在此處掛起一段時間的詳細資訊

ssh -vv  103.8.X.X
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 103.8.X.X [103.8.X.X] port 565.
debug1: Connection established.
debug1: identity file /home/amin/.ssh/id_rsa type -1
debug1: identity file /home/amin/.ssh/id_rsa-cert type -1
debug1: identity file /home/amin/.ssh/id_dsa type -1
debug1: identity file /home/amin/.ssh/id_dsa-cert type -1
debug1: identity file /home/amin/.ssh/id_ecdsa type -1
debug1: identity file /home/amin/.ssh/id_ecdsa-cert type -1  (<-- hangs here for arnd 30 secs) 

在為 tcp 包裝器設置規則之後,使用 putty 需要更多時間。

將主機名放入hosts.alloworhosts.deny意味著伺服器必須進行反向 DNS 解析才能獲取 IP 地址的域名。如果您的名稱解析系統速度慢或某些中間名稱伺服器響應緩慢,這將影響登錄時間。將子網的 IP 地址放入文件中會更快,如下所示man hosts.allow

  The examples use host and domain names. They can be improved by includ‐
  ing address and/or network/netmask information, to reduce the impact of
  temporary name server lookup failures.

另一種防止暴力登錄攻擊的方法是安裝一個名為fail2ban的程序。該程序將跟踪失敗的登錄嘗試,並在失敗次數過多後暫時阻止 IP 地址。這樣您就不再需要根據國家/地區阻止登錄了。每小時只允許三到四次失敗的登錄嘗試,即使對於大型殭屍網路,也無法進行暴力攻擊。

引用自:https://unix.stackexchange.com/questions/140705