1. 程式人生 > >SSH max authtries && SSH 配置檔案簡便地增強安全性

SSH max authtries && SSH 配置檔案簡便地增強安全性

0 如果有一個黑客攻擊我的SSH。我基本上無解。我使用下面的配置防護

LoginGraceTime 60

MaxAuthTries 6

那麼攻擊防護的情況如下,

(a) 黑客攻擊SSH,建立TCP連線,這個笨黑客不能一口氣傳送任意次使用者名稱和密碼了。

(b) 假設它在0.1秒內發了6次暴力破解要求。那麼TCP連線會斷開。由此走回步驟(a)

這裡MaxAuthTries發揮作用了。因為0.1秒小於60秒,所以黑客可以忽略這個時間的設定。

1 確保安全性總是需要多層的方案。SSH 就是個好例子。可以使用多種方法,包括簡單的 sshd 配置、通過 PAM 指定誰可以使用 SSH、應用埠敲門技術隱藏存在 SSH 訪問的事實等。應用這些技術可以大大增加黑客入侵的難度,黑客不得不突破三個不常見的障礙。

  1. 把 SSH 的標準埠改為不常用的值並增強 SSH 配置,從而擋住最簡單的攻擊。
  2. 定義有限的使用者列表,只允許這些使用者登入。
  3. 完全隱藏允許 SSH 訪問的事實,要求根據特殊的 “敲門” 序列識別有效使用者。
清單 1. 通過修改 SSH 配置檔案簡便地增強安全性
Port 22960 
LoginGraceTime 30 
MaxAuthTries 3 
Protocol 2 
PermitRootLogin no

2 認證時限,未認證連線與認證次數 LoginGraceTime表示認證的時限,我們可以調整認證的時間限制,例如: LoginGraceTime 20 即在20秒之內不能完成認證,則斷開,如下: ssh  [email protected] [email protected]'s password:  Connection closed by 192.168.27.142 注意在這裡如果密碼輸入錯誤,則重新計時,如果我們輸錯了密碼,計時將重新開始,幸運的是我們有MaxAuthTries,來解決認證次數的問題. MaxAuthTries 1 這裡表示只允許輸錯一回密碼. 我們要注意的是除了SSH自身的選項控制認證次數外,它還通過pam進行驗證,所以如果我們設定MaxAuthTries 10,則允許輸錯密碼的次數可能還是3,如果MaxAuthTries 2,則以MaxAuthTries為準. 如果是MaxAuthTries 2,我們輸錯密碼的提示如下: ssh  [email protected] [email protected]'s password:  Permission denied, please try again. [email protected]'s password:  Received disconnect from 192.168.27.142: 2: Too many authentication failures for root

3

MaxAuthTries

Specifies the maximum number of authentication attempts permitted per connection. Once the number of failures reaches half this value, additional failures are logged. The default is 6.

from that text in the man page it looks like it resets for each *connection* (nothing to do with the ipaddress).

REF:

1 http://www.ibm.com/developerworks/cn/aix/library/au-sshlocks/

2 http://blog.chinaunix.net/uid-16728139-id-3265394.html