参考:
http://www.centoscn.com/shell/2015/0703/5781.html
从http://sourceforge.net/projects/denyhosts/files/下载,解压缩。
安装:
cd DenyHosts-2.6
python setup.py install
配置:
vi /usr/share/denyhosts/denyhosts.cfg
粘贴下面内容,再:w保存,:q退出vi:
########### SETTINGS ARE REQUIRED ############
SECURE_LOG = /var/log/secure
#ssh日志文件
HOSTS_DENY = /etc/hosts.deny
#将阻止IP写入到hosts.deny
PURGE_DENY = 30m
#过多久后清除已经禁止的,其中w代表周,d代表天,h代表小时,s代表秒,m代表分钟
BLOCK_SERVICE = sshd
#阻止服务名
DENY_THRESHOLD_INVALID = 5
#允许无效用户(在/etc/passwd未列出)登录失败次数,允许无效用户登录失败的次数.
DENY_THRESHOLD_VALID = 5
#允许普通用户登录失败的次数
DENY_THRESHOLD_ROOT = 5
#允许root登录失败的次数
DENY_THRESHOLD_RESTRICTED = 3
#设定 deny host 写入到该资料夹
WORK_DIR = /usr/share/denyhosts/data
#将deny的host或ip纪录到Work_dir中
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS = YES
HOSTNAME_LOOKUP=YES
#是否做域名反解
LOCK_FILE = /var/lock/subsys/denyhosts
#将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。
#ADMIN_EMAIL =
############ THESE SETTINGS ARE OPTIONAL ############
#设置管理员邮件地址
#SMTP_HOST = localhost
#SMTP_PORT = 25
#SMTP_FROM = DenyHosts
#SMTP_SUBJECT = DenyHosts Report
ALLOWED_HOSTS_HOSTNAME_LOOKUP=YES
#启用allow-hosts 白名单文件功能
AGE_RESET_VALID=1d
#有效用户登录失败计数归零的时间
AGE_RESET_ROOT=1d
#root用户登录失败计数归零的时间
AGE_RESET_RESTRICTED=3d
#用户的失败登录计数重置为0的时间(/usr/share/denyhosts/data/restricted-usernames)
AGE_RESET_INVALID=10d
#无效用户登录失败计数归零的时间
DAEMON_LOG = /var/log/denyhosts
#自己的日志文件
DAEMON_SLEEP = 30s
######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE ##########
DAEMON_PURGE = 5m
#该项与PURGE_DENY 设置成一样,也是清除hosts.deniedssh 用户的时间
配置denyhosts的开机启动:
echo "/usr/share/denyhosts/daemon-control start" >> /etc/rc.local
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
ln -s /usr/share/denyhosts/daemon-control /usr/bin/denyhosts chkconfig --add denyhosts
chkconfig --level denyhosts on
然后可以启动服务:
denyhosts start
查看被阻止的IP:
vi /etc/hosts.deny
查看denyhosts日志:
tail -n -f /var/log/denyhosts
另:查看系统登录日志:
tail -n -f /var/log/secure