Wednesday, April 24, 2024

使用DenyHosts阻止ssh暴力攻擊

現在的互聯網非常不安全,很多人沒事就拿一些掃描機掃描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的日誌文件

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.