[轉]Centos使用DenyHosts阻止SSH暴力攻击

列印

轉自:http://www.centoscn.com/CentosSecurity/CentosSafe/2013/0724/473.html

錯誤參考:http://free.yes81.net/yes81/view-11072.html

現在的互聯網非常不安全,很多人沒事就拿一些掃描機掃描ssh端口,然後試圖連接ssh端口進行暴力破解(窮舉掃描),所以建議vps主機的空間,盡量設置複雜的ssh登錄密碼,雖然在前段時間曾經介紹過Linux VPS禁止某個IP訪問使用hosts.deny禁止某些IP訪問,但是功能方面欠缺,如:不能自動屏蔽,那麼有什麼更好的辦法嗎,就可以使用denyhosts這款軟件了,它會分析/var/log/secure(redhat,Fedora Core)等日誌文件,當發現同一IP在進行多次SSH密碼嘗試時就會記錄IP到/etc/hosts.deny文件,從而達到自動屏蔽該IP的目的。

 

DenyHosts官方網站為:http://denyhosts.sourceforge.net/

 

1、下載DenyHosts 並解壓

 

# wget http://www.centoscn.com/tool​​/DenyHosts-2.6.tar.gz

# tar zxvf DenyHosts-2.6.tar.gz

# cd DenyHosts-2.6

 

 

2、安裝、配置和啟動

 

# python setup.py install

默認是安裝到/usr/share/denyhosts/目錄的,進入相應的目錄修改配置文件

 

# cd /usr/share/denyhosts/

# cp denyhosts.cfg-dist denyhosts.cfg

# cp daemon-control-dist daemon-control

 

默認的設置已經可以適合centos系統環境,你們可以使用vi命令查看一下denyhosts.cfg和daemon-control,裡面有詳細的解釋

接著使用下面命令啟動denyhosts程序

# chown root daemon-control

# chmod 700 daemon-control

# ./daemon-control start

 

如果要使DenyHosts每次重起後自動啟動還需做如下設置:

# cd /etc/init.d

# ln -s /usr/share/denyhosts/daemon-control denyhosts

# chkconfig --add denyhosts

# chkconfig --level 2345 denyhosts on

或者執行下面的命令,將會修改/etc/rc.local文件:

# echo "/usr/share/denyhosts/daemon-control start" >> /etc/rc.local

 

DenyHosts配置文件denyhosts.cfg說明:

 

SECURE_LOG = /var/log/secure

 

#sshd日誌文件,它是根據這個文件來判斷的,不同的操作系統,文件名稍有不同。

 

HOSTS_DENY = /etc/hosts.deny

 

#控制用戶登陸的文件

 

PURGE_DENY = 5m

 

#過多久後清除已經禁止的

BLOCK_SERVICE = sshd

#禁止的服務名

若是要全部都鎖定的服務名

BLOCK_SERVICE = ALL

 

DENY_THRESHOLD_INVALID = 1

 

#允許無效用戶失敗的次數

 

DENY_THRESHOLD_VALID = 10

 

#允許普通用戶登陸失敗的次數

 

DENY_THRESHOLD_ROOT = 5

 

#允許root登陸失敗的次數

 

HOSTNAME_LOOKUP=NO

 

#是否做域名反解

 

DAEMON_LOG = /var/log/denyhosts

 

更多的說明請查看自帶的README文本文件,好了以後維護VPS就會省一些心了,但是各位VPSer們注意了安全都是相對的哦,沒有絕對安全,請定期或不定期的檢查你的VPS主機,而且要定時備份你的數據哦。

 

------

關於錯誤

#service denyhost start

starting DenyHosts:   /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg

python: can't open file '/usr/bin/denyhosts.py': [Errno 2] No such file or directory

 

請修改

PYTHON_BIN = "/usr/bin/env python"  -> PYTHON_BIN      = "/usr/local/bin/python2.7" (python的執行檔)

 

 

最近更新 ( 週二, 22 十月 2013 15:45 )