DenyHost安裝

一、DenyHost簡介
DenyHosts是Python語言寫的一個程序軟件,運行於Linux上預防SSH暴力破解的,它會分析sshd的日誌文件(/var/log/secure),當發現重複的***時就會記錄IP到/etc/hosts.deny文件,從而達到自動屏IP的功能。
項目主頁  DenyHosts安裝包下載地址
二、安裝過程

tar zxvf DenyHosts-2.6.tar.gz                             #解壓源碼包
cd DenyHosts-2.6                                          #進入安裝解壓目錄
python setup.py install                                   #安裝DenyHosts
cd /usr/share/denyhosts/                                  #默認安裝路徑
cp denyhosts.cfg-dist denyhosts.cfg                       #denyhosts.cfg爲配置文件
cp daemon-control-dist daemon-control                     #daemon-control爲啓動程序
chown root daemon-control                                 #添加root權限
chmod 700 daemon-control                                  #修改爲可執行文件
ln -s /usr/share/denyhosts/daemon-control /etc/init.d     #對daemon-control進行軟連接,方便管理

安裝到這一步就完成了。

/etc/init.d/daemon-control start                          #啓動denyhosts
chkconfig daemon-control on                               #將denghosts設成開機啓動

三、配置文件簡要說明

vim /usr/share/denyhosts/denyhosts.cfg        #編輯配置文件,另外關於配置文件一些參數,通過grep -v "^#" denyhosts.cfg查看
SECURE_LOG = /var/log/secure                  #ssh 日誌文件 #redhat系列根據/var/log/secure文件來判斷;
                                                           #Mandrake、FreeBSD根據 /var/log/auth.log來判斷;
                                                           #SUSE則是用/var/log/messages來判斷,這些在配置文件裏面都有很詳細的解釋。
HOSTS_DENY = /etc/hosts.deny                  #控制用戶登陸的文件
PURGE_DENY = 30m                              #過多久後清除已經禁止的,設置爲30分鐘;
# ‘m’ = minutes
# ‘h’ = hours
# ‘d’ = days
# ‘w’ = weeks
# ‘y’ = years
BLOCK_SERVICE = sshd                         #禁止的服務名,當然DenyHost不僅僅用於SSH服務
DENY_THRESHOLD_INVALID = 1                   #允許無效用戶失敗的次數
DENY_THRESHOLD_VALID = 3                     #允許普通用戶登陸失敗的次數
DENY_THRESHOLD_ROOT = 3                      #允許root登陸失敗的次數
DAEMON_LOG = /var/log/denyhosts              #DenyHosts日誌文件存放的路徑,默認

更改DenyHosts的默認配置之後,重啓DenyHosts服務即可生效:
/etc/init.d/daemon-control restart         #重啓denyhosts

測試
開啓兩個ssh進程,一個用來測試,一個用來等會解除限制
多次嘗試無效用戶登陸,發現之後就不會在讓你到輸入用戶密碼界面,檢查數據

# cat /etc/hosts.deny
# DenyHosts: Wed Feb 22 16:15:51 2017 | sshd: 113.102.163.146
sshd: 113.102.163.146
# cat /var/lib/denyhosts/* | grep 113.102.163.146
# 113.102.163.146:7:Wed Feb 22 16:15:51 2017
# 113.102.163.146:0:Wed Feb 22 16:13:51 2017
# 113.102.163.146:0:Wed Feb 22 16:13:51 2017
# 113.102.163.146:0:Wed Feb 22 16:13:51 2017
denyhosts恢復
清楚文件對應的數據,重啓rsyslog服務器重置計數器
# sed -i '/113.102.163.146/d' /etc/hosts.deny
# sed -i '/113.102.163.146/d' /var/lib/denyhosts/*
# service rsyslog restart
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章