参考:
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 345 denyhosts on
然后可以启动服务:
denyhosts start
查看被阻止的IP:
vi /etc/hosts.deny
查看denyhosts日志:
tail -n 50 -f /var/log/denyhosts
另:查看系统登录日志:
tail -n 50 -f /var/log/secure