通過DenyHosts阻止SSH暴力攻擊教程

2021-09-01 14:16:30 字數 3095 閱讀 5997

denyhosts是乙個linux系統下阻止暴力破解ssh密碼的軟體,它的原理與ddos deflate 類似,可以自動拒絕過多次數嘗試ssh登入的ip位址,防止網際網路上某些機器常年破解密碼的行為,也可以防止黑客對ssh密碼進行窮舉。

眾所周知,暴露在網際網路上的計算機是非常危險的。並不要因為**小,關注的人少或不惹眼就掉以輕心:網際網路中的大多數攻擊都是沒有目的性的,黑客們 通過大範圍ip埠掃瞄探測到可能存在漏洞的主機,然後通過自動掃瞄工具進行窮舉破解。筆者的某台伺服器在修改ssh 22號埠之前,平均每天接受近百個來自不同ip的連線嘗試。而denyhosts正是這樣一款工具。下文將對該工具的安裝與使用方法進行介紹。

denyhosts會自動分析 /var/log/secure 等安全日誌檔案,當發現異常的連線請求後,會自動將其ip加入到 /etc/hosts.deny 檔案中,從而達到阻止此ip繼續暴力破解的可能。同時,denyhosts還能自動在一定時間後對已經遮蔽的ip位址進行解封,非常智慧型。

denyhosts的官方**為:  (杜絕putty後門事件,謹記安全軟體官網)

1[root@www ~]# wget

2[root@www ~]# tar zxvf denyhosts-2.6.tar.gz

3[root@www ~]# cd denyhosts-2.6

2、安裝部署

1[root@www denyhosts-2.6]# yum install python -y

2[root@www denyhosts-2.6]# python setup.py install

3、準備好預設的配置檔案

1[root@www denyhosts-2.6]# cd /usr/share/denyhosts/

2[root@www denyhosts]# cp denyhosts.cfg-dist denyhosts.cfg

3[root@www denyhosts]# cp daemon-control-dist daemon-control

4、編輯配置檔案denyhosts.cfg

1[root@www denyhosts]# vi denyhosts.cfg

該配置檔案結構比較簡單,簡要說明主要引數如下:

purge_deny: 當乙個ip被阻止以後,過多長時間被自動解禁。可選如3m(三分鐘)、5h(5小時)、2d(兩天)、8w(8周)、1y(一年);

purge_threshold: 定義了某一ip最多被解封多少次。即某一ip由於暴力破解ssh密碼被阻止/解封達到了purge_threshold次,則會被永久禁止;

block_service: 需要阻止的服務名;

deny_threshold_invalid: 某一無效使用者名稱(不存在的使用者)嘗試多少次登入後被阻止;

deny_threshold_valid: 某一有效使用者名稱嘗試多少次登陸後被阻止(比如賬號正確但密碼錯誤),root除外;

deny_threshold_root: root使用者嘗試登入多少次後被阻止;

hostname_lookup: 是否嘗試解析源ip的網域名稱;

大家可以根據上面的解釋,瀏覽一遍此配置檔案,然後根據自己的需要稍微修改即可。

5、啟動denyhosts

1[root@www denyhosts]# ./daemon-control start

如果需要讓denyhosts每次重啟後自動啟動,還需要:

6、設定自動啟動

設定自動啟動可以通過兩種方法進行。

第一種是將denyhosts作為類似apache、mysql一樣的服務,這種方法可以通過 /etc/init.d/denyhosts 命令來控制其狀態。方法如下:

1[root@www denyhosts]# cd /etc/init.d

2[root@www init.d]# ln -s /usr/share/denyhosts/daemon-control denyhosts

3[root@www init.d]# chkconfig --add denyhosts

4[root@www init.d]# chkconfig -level 2345 denyhosts on

第二種是將denyhosts直接加入rc.local中自動啟動(類似於windows中的「啟動資料夾」):

1[root@www denyhosts]# echo '/usr/share/denyhosts/daemon-control start' >> /etc/rc.local

如果想檢視已經被阻止的ip,開啟/etc/hosts.deny 檔案即可。

/usr/local/python2.7/bin/python /usr/local/python2.7/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg

DenyHosts 阻止SSH暴力攻擊

當你的 linux 伺服器暴露在網際網路之中,該伺服器將會遭到網際網路上的掃瞄軟體進行掃瞄,並試圖猜測ssh登入口令。你會發現,每天會有多條ssh登入失敗紀錄。那些掃瞄工具將對你的伺服器構成威脅,你必須設定複雜登入口令,並將嘗試多次登入失敗的ip給阻止掉,讓其在一段時間內不能訪問該伺服器。用deny...

使用DenyHosts阻止SSH暴力攻擊

概述 現在的網際網路非常不安全,很多人沒事就拿一些掃瞄機掃瞄ssh埠,然後試圖連線ssh埠進 行暴力破解 窮舉掃瞄 所以建議vps主機的空間,盡量設定複雜的ssh登入 密碼,關於如何配置安全的ssh服務,請檢視 在 vps主機配置安全ssh服務這篇文章,那麼有什麼辦法設法阻止這些,就可以使用deny...

DenyHosts阻止SSH暴力破解最好的方法

當你的linux伺服器暴露在網際網路之中,該伺服器將會遭到網際網路上的掃瞄軟體進行掃瞄,並試圖猜測ssh登入口令。你會發現,每天會有多條ssh登入失敗紀錄。那些掃瞄工具將對你的伺服器構成威脅,你必須設定複雜登入口令,並將嘗試多次登入失敗的ip給阻止掉,讓其在一段時間內不能訪問該伺服器。用denyho...