RHEL / CentOS 安裝 DenyHosts

DenyHosts 是一個防止暴力攻擊 SSH Server 的工具, 它會監察及分析 SSH 的 log file, 當有數次錯誤登入後, 就會將嘗試登入的 IP 地址加入到 /etc/hosts 作出封鎖。 Fail2Ban 的防護較全面, 可以透過正規表達式正義不同的 log files, 但設定較複雜, 而 Fail2Ban 只會針對 SSH Server 作防護, 而且設定較簡單。以下是在 RHEL 及 CentOS 安裝及設定 DenyHosts 的方法。

安裝 EPEL Repository
首先要安裝 EPEL Repository, 不同版本需要安裝不同的 rpm:

RHEL / CentOS 7.x (x86_64)
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

RHEL / CentOS 6.x (x86_64)
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

RHEL / CentOS 6.x (i386)
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

RHEL / CentOS 5.x (x86_64)
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

RHEL / CentOS 5.x (i386)
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

安裝 DenyHosts
安裝好 EPEL Repository 後, 便可以直接用 YUM 安裝 DenyHosts:

然後開啟檔案 /etc/hosts.allow, 加入你的 IP 地址, 防止 DenyHosts 將你的 IP 也封掉:

然後加入你的 IP 地址, 以下用 192.168.1.11:

儲存檔案後再開啟 /etc/hosts.deny 檔案:

在最後的位置加入這行:

如需要修改 DenyHosts 的設定, 可以開啟檔案 /etc/denyhosts.conf, 沒有的話可以重新啟動 DenyHosts:

解封個別 IP

這時 DenyHosts 已經開始運作, 如果需要手動解封個別 IP 比較麻煩, 做法是開啟以下 6 個檔案, 將要解封的 IP 移除:

移除以上檔案的 IP 後需要重新啟動 DenyHosts:




Leave a Reply