現在的互聯網非常不安全,很多人沒事就拿一些掃描機掃描ssh端口,然後試圖連接ssh端口進行暴力破解(窮舉掃描),所以建議大家VPS盡量設置複雜的ssh登錄密碼。那麼有什麼辦法阻止這些暴力破解者呢,我們可以使用DenyHosts這款軟件。
DenyHosts介紹
DenyHosts是Python語言寫的一個程序,它會分析sshd的日誌文件(/var/log/secure),當發現重 復的攻擊時就會記錄IP到/etc/hosts.deny文件,從而達到自動屏IP的功能。
DenyHosts安裝和配置
1、下載和安裝EPEL RPM
cd /tmp wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm rpm -Uhv epel-release-5-3.noarch.rpm
2、使用yum命令安裝denyhosts
yum install -y denyhosts
3、添加系統啟動自動運行
chkconfig --add denyhosts chkconfig denyhosts on
如何你想把某個ip或者ip段放入白名單,可以使用下列命令,這樣就可以避免把自己的ip阻止了;
echo '173.252.193.*' >> /var/lib/denyhosts/allowed-hosts
這樣 173.252.193.* 這個IP就可以不受到此程序的約束,請根據自己的環境進行設置;
4、最後啟動服務
service denyhosts start
設置完以上4步,DenyHosts就可以正常工作了。
附上:DenyHosts配置文件denyhosts.cfg說明
SECURE_LOG = /var/log/secure
#sshd日誌文件,它是根據這個文件來判斷的,不同的操作系統,文件名稍有不同。
HOSTS_DENY = /etc/hosts.deny
#控制用戶登陸的文件
PURGE_DENY = 5m
#過多久後清除已經禁止的
BLOCK_SERVICE = sshd
#禁止的服務名
DENY_THRESHOLD_INVALID = 1
#允許無效用戶失敗的次數
DENY_THRESHOLD_VALID = 10
#允許普通用戶登陸失敗的次數
DENY_THRESHOLD_ROOT = 5
#允許root登陸失敗的次數
HOSTNAME_LOOKUP=NO
#是否做域名反解
DAEMON_LOG = /var/log/denyhosts
#DenyHosts的日誌文件