DenyHosts是Python语言写的一个程序软件,运行于Linux上预防SSH暴力破解的,它会分析sshd的日志文件(/var/log/secure),当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。
安装环境:CentOS 7.4
配置好yum源,直接yum安装即可
yum install -y denyhosts
yum安装默认配置文件为:/etc/denyhosts.conf
相关命令:
systemctl start denyhosts
systemctl stop denyhosts
systemctl enable denyhosts
相关配置文件说明如下:
cat /etc/denyhosts.conf|grep -v '#'|grep -v ^$
SECURE_LOG = /var/log/secure #ssh登录日志路径,默认即可
HOSTS_DENY = /etc/hosts.deny #限制用户登录文件
PURGE_DENY = 1000w #过多久后清除已经禁止的
BLOCK_SERVICE = sshd #禁止服务的名称
DENY_THRESHOLD_INVALID = 2 #无效用户登录失败次数(即/var/lib/denyhosts/users-invalid文件中的用户,可结合/etc/passwd查看)
DENY_THRESHOLD_VALID = 2 #普通用户登录失败次数(即/var/lib/denyhosts/users-valid文件中的用户,可结合/etc/passwd查看)
DENY_THRESHOLD_ROOT = 1 #root登录失败次数
DENY_THRESHOLD_RESTRICTED = 1 #设定deny host写入到该资料夹
WORK_DIR = /var/lib/denyhosts #工作目录
ETC_DIR = /etc #配置文件路径
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES #/var/lib/denyhosts/allowed-hosts中的IP可疑登录是否报告
HOSTNAME_LOOKUP=NO #是否允许域名反解
LOCK_FILE = /var/lock/subsys/denyhosts #将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务
####mail相关
ADMIN_EMAIL = root@localhost
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts
SMTP_SUBJECT = DenyHosts Report from $[HOSTNAME]
ALLOWED_HOSTS_HOSTNAME_LOOKUP=NO #/var/lib/denyhosts/allowed-hosts中的IP是否允许域名反解
AGE_RESET_VALID=50d #指定时间没有失败登陆记录,将此主机的失败计数重置为0,不适用于root
AGE_RESET_ROOT=250d #root用户的重置时间
AGE_RESET_RESTRICTED=25d #有限制的用户的失败登录计数重置为0的时间(/var/lib/denyhosts/users-invalid/hosts-restricted)
AGE_RESET_INVALID=10d #无效用户的重置时间
DAEMON_LOG = /var/log/denyhosts #日志路径
DAEMON_SLEEP = 30s #每次读取日志的时间间隔
DAEMON_PURGE = 10000h #清除机制在HOSTS_DENY中终止旧条目的时间间隔
Be First to Comment