DenyHosts

DenyHosts是Python語言寫的一個程式,它會分析sshd的日誌檔案(/var/log/secure),當發現重 復的攻擊時就會記錄IP到/etc/hosts.deny檔案,從而達到自動屏IP的功能。

DenyHosts套用

當你的linux伺服器暴露在網際網路之中,該伺服器將會遭到網際網路上的掃描軟體進行掃描,並試圖猜測SSH登錄口令。

你會發現,每天會有多條SSH登錄失敗紀錄。那些掃描工具將對你的伺服器構成威脅,你必須設定複雜登錄口令,並將嘗試多次登錄失敗的IP給阻止掉,讓其在一段時間內不能訪問該伺服器。

DenyHosts可以阻止試圖猜測SSH登錄口令,它會分析/var/log/secure等日誌檔案,當發現同一IP在進行多次SSH密碼嘗試時就會記錄IP到/etc/hosts.deny檔案,從而達到自動禁止該IP的目的。

DenyHosts安裝和配置

DenyHosts安裝

#wget 官網下載最新版目前是2.6

# tar -zxvf DenyHosts-2.6.tar.gz //解壓

# cd DenyHosts-2.6 //切換到目錄

# python setup..py install //進行安裝 注意,由於百科不能通過,所以應該是一個.,去掉中間一個點

DenyHosts參數配置

# cd /usr/share/denyhosts/ #DenyHosts默認安裝目錄

# cp denyhosts.cfg-dist denyhosts.cfg

# vi denyhosts.cfg #DenyHosts配置檔案

SECURE_LOG = /var/log/secure #ssh日誌檔案

# format is: i[dhwmy]

# Where i is an integer (eg. 7)

# m = minutes

# h = hours

# d = days

# w = weeks

# y = years

#

# never purge:

PURGE_DENY = 50m #過多久後清除已阻止IP

HOSTS_DENY = /etc/hosts.deny #將阻止IP寫入到hosts.deny

BLOCK_SERVICE = sshd #阻止服務名

DENY_THRESHOLD_INVALID = 1 #允許無效用戶登錄失敗的次數

DENY_THRESHOLD_VALID = 10 #允許普通用戶登錄失敗的次數

DENY_THRESHOLD_ROOT = 5 #允許root登錄失敗的次數

WORK_DIR = /usr/local/share/ denyhosts/data #將deny的host或ip紀錄到Work_dir中

DENY_THRESHOLD_RESTRICTED = 1 #設定 deny host 寫入到該資料夾

LOCK_FILE = /var/lock/subsys/ denyhosts #將DenyHOts啟動的pid紀錄到LOCK_FILE中,已確保服務正確啟動,防止同時啟動多個服務。

HOSTNAME_LOOKUP=NO #是否做域名反解

ADMIN_EMAIL = #設定管理員郵件地址

DAEMON_LOG = /var/log/ denyhosts #自己的日誌檔案

DAEMON_PURGE = 10m #該項與PURGE_DENY 設定成一樣,也是清除hosts.deniedssh 用戶的時間。

DenyHosts啟動檔案配置

# cp daemon-control-dist daemon-control

# chown root daemon-control

# chmod 700 daemon-control

# ./daemon-control start #啟動 DenyHosts

#ln -s /usr/share/denyhosts/daemon-control /etc/init.d #對daemon-control進行軟連線,方便管理

安裝到這一步就完成了。

#/etc/init.d/daemon-control start #啟動denyhosts

#chkconfig daemon-control on #將denghosts設成開機啟動

加入到自動重啟

# vi /etc/rc.local

加入下面這條命令

/usr/share/ denyhosts/daemon-control start

查看攻擊ip 記錄

# vi /etc/hosts.deny

相關詞條

相關搜尋

熱門詞條

聯絡我們