====== CentOS5 安裝 DenyHosts 阻絕 ssh 暴力破解 ======
DenyHosts 是透過登入失敗紀錄的來源 ip 來判別是否自動將此 ip 列入黑名單的工具.
===== 安裝方式 =====
* 先安裝好 [[http://wiki.centos.org/zh-tw/AdditionalResources/Repositories/RPMForge|rpmforge]]
* 透過 yum install 安裝 DenyHosts
yum install denyhosts
===== 設定方式 =====
* vi /etc/denyhosts/denyhosts.cfg
:
# Redhat or Fedora Core:
SECURE_LOG = /var/log/secure
:
# Most operating systems:
HOSTS_DENY = /etc/hosts.deny
:
# never purge:
PURGE_DENY =
:
# To block only sshd:
BLOCK_SERVICE = sshd
:
DENY_THRESHOLD_INVALID = 5
:
DENY_THRESHOLD_VALID = 10
:
DENY_THRESHOLD_ROOT = 1
:
DENY_THRESHOLD_RESTRICTED = 1
:
WORK_DIR = /usr/share/denyhosts/data
:
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
:
# Redhat/Fedora:
LOCK_FILE = /var/lock/subsys/denyhosts
:
#
# OPTIONAL Setting...
#
ADMIN_EMAIL = tryweb@ichiayi.com
SMTP_HOST = localhost
SMTP_PORT = 25
#SMTP_USERNAME=foo
#SMTP_PASSWORD=bar
SMTP_FROM = DenyHosts
SMTP_SUBJECT = DenyHosts Report
#SMTP_DATE_FORMAT = %a, %d %b %Y %H:%M:%S %z
:
SYSLOG_REPORT=YES
#ALLOWED_HOSTS_HOSTNAME_LOOKUP=NO
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
#RESET_ON_SUCCESS = yes
:
#
DAEMON_LOG = /var/log/denyhosts
#DAEMON_LOG_TIME_FORMAT = %b %d %H:%M:%S
#DAEMON_LOG_MESSAGE_FORMAT = %(asctime)s - %(name)-12s: %(levelname)-8s %(message)s
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
:
===== 啟動服務 =====
* 啟動服務
service denyhosts start
* 檢查運作紀錄
tail -f /var/log/denyhosts
[root@xen-server ~]# tail -f /var/log/denyhosts
2012-09-18 15:35:31,685 - denyhosts : INFO Processing log file (/var/log/secure) from offset (0)
2012-09-18 15:35:32,042 - denyhosts : INFO new denied hosts: ['122.141.234.42', '49.238.238.37']
2012-09-18 15:35:32,146 - denyhosts : INFO launching DenyHosts daemon (version 2.6)...
2012-09-18 15:35:32,151 - denyhosts : INFO DenyHosts daemon is now running, pid: 17906
2012-09-18 15:35:32,152 - denyhosts : INFO send daemon process a TERM signal to terminate cleanly
2012-09-18 15:35:32,152 - denyhosts : INFO eg. kill -TERM 17906
2012-09-18 15:35:32,209 - denyhosts : INFO monitoring log: /var/log/secure
2012-09-18 15:35:32,209 - denyhosts : INFO sync_time: 3600
2012-09-18 15:35:32,209 - denyhosts : INFO purging of /etc/hosts.deny is disabled
2012-09-18 15:35:32,210 - denyhosts : INFO denyhosts synchronization disabled
===== 設定白名單 =====
當出現不小心打錯密碼被列入黑名單後, 雖然手動去 /etc/hosts.deny 移除, 但不久又被 denyhosts 自動加回時, 需要處理的程序. Exp. 192.168.0.252 被列入黑名單..
vi /etc/hosts.allow
:
sshd: 192.168.0.252
這樣 192.168.0.252 雖然出現在 /etc/hosts.deny 但仍然可以透過 ssh 連入
===== 參考網址 =====
* http://denyhosts.sourceforge.net/
* http://keniver.pixnet.net/blog/post/28577992
* https://www.digitalocean.com/community/articles/how-to-install-denyhosts-on-ubuntu-12-04
{{tag>ssh 安裝 資安}}