幾乎所有的unix和linux服務器上都運行著ssh服務器,它使得管理員能夠安全地遠程訪問服務器。然而不幸的是,最近針對ssh的服務的攻擊非常常見。本文將講述如何利用ssh即插授權模塊(pam)的pam_abl插件來保護運行著ssh服務的機器不被暴力攻擊。
你自己可以下載并編譯pam_abl模塊,也可以下載并安裝一個二進制的存檔。如果想要編譯該模塊,你可以下載該源代碼并搜集關于如何在pam_abl主頁上編譯它的信息。如果想要在ubuntu dapper或者edgy服務器和pc上配置pam_abl,你可以把一個roman balitsky的定制存檔加載到/etc/apt/sources.list文件:
|
添加了安裝源之后,更新列表,安裝pam_abl,然后重啟ssh服務器:
|
接下來,你可以在/etc/security/pam_abl.conf文件中配置pam_abl:
|
第二行和第五行顯示了被封用戶和主機的列表的存放位置。第三和第六行設置了封禁的刷新時間;本例中,系統將在2天內刷新封主機和封用戶的規則。第四和第七行分別是主機和用戶規則,我們來詳細分析一下。
文件的配置方法如下:
|
因此第四行表示的意思是封禁最近一小時輸入錯誤認證3次以上的所有主機,或者在最近一天內嘗試的次數超過30次的所有主機。
第七行的規則表示除了用戶根目錄(“!root”指向的)的用戶以外,封禁在1小時內三次輸入錯誤的密碼或者一天內錯誤嘗試超過30次的所有用戶。
還可以通過定義來保護選中的用戶。假設你需要保護anze,dasa,kimzet和madison這幾個用戶,配置方法如下:
|
更多選項和觸發設置請參考pam_abl說明主頁。
測試
如果想要測試你的設置,你可以在目標上打開一個終端,察看/var/log/auth.log文件,嘗試3次用錯誤的密碼登錄服務器,看看pam_abl插件是否封禁你。如果被封了,以madison用戶為例,登錄文件如下:
|
你可以用如下pam_abl語句隨時查看被封禁的用戶和主機:
|
結論
你可以用很多方法保護機器不受黑客攻擊,包括改變ssh監聽端口,用iptables和tcp wrappers定義允許連接到ssh服務的主機等等。使用pam_abl模塊可保護ssh服務器不被暴力攻擊;但你配置該模塊時得小心,免得黑客把你自己關在自己服務器外。
,歡迎訪問網頁設計愛好者web開發。新聞熱點
疑難解答