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...