# [DenyHosts安装及配置](https://www.cnblogs.com/lcword/p/5912625.html) ## 一、DenyHost简介 DenyHosts是Python语言写的一个程序软件,运行于Linux上预防SSH暴力破解的,它会分析sshd的日志文件(/var/log/secure),当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。 [项目主页](http://denyhosts.sourceforge.net/)  [DenyHosts安装包下载地址](http://sourceforge.net/projects/denyhosts/files/) ## 二、安装过程 ``` tar zxvf DenyHosts-2.6.tar.gz #解压源码包 cd DenyHosts-2.6 #进入安装解压目录 python setup.py install #安装DenyHosts cd /usr/share/denyhosts/ #默认安装路径 cp denyhosts.cfg-dist denyhosts.cfg #denyhosts.cfg为配置文件 cp daemon-control-dist daemon-control #daemon-control为启动程序 chown root daemon-control #添加root权限 chmod 700 daemon-control #修改为可执行文件 ln -s /usr/share/denyhosts/daemon-control /etc/init.d #对daemon-control进行软连接,方便管理 安装到这一步就完成了。 /etc/init.d/daemon-control start #启动denyhosts chkconfig daemon-control on #将denghosts设成开机启动 ``` ## 三、配置文件简要说明 ``` vim /usr/share/denyhosts/denyhosts.cfg #编辑配置文件,另外关于配置文件一些参数,通过grep -v "^#" denyhosts.cfg查看 SECURE_LOG = /var/log/secure #ssh 日志文件 #redhat系列根据/var/log/secure文件来判断; #Mandrake、FreeBSD根据 /var/log/auth.log来判断; #SUSE则是用/var/log/messages来判断,这些在配置文件里面都有很详细的解释。 HOSTS_DENY = /etc/hosts.deny #控制用户登陆的文件 PURGE_DENY = 30m #过多久后清除已经禁止的,设置为30分钟; # ‘m’ = minutes # ‘h’ = hours # ‘d’ = days # ‘w’ = weeks # ‘y’ = years BLOCK_SERVICE = sshd #禁止的服务名,当然DenyHost不仅仅用于SSH服务 DENY_THRESHOLD_INVALID = 1 #允许无效用户失败的次数 DENY_THRESHOLD_VALID = 3 #允许普通用户登陆失败的次数 DENY_THRESHOLD_ROOT = 3 #允许root登陆失败的次数 DAEMON_LOG = /var/log/denyhosts #DenyHosts日志文件存放的路径,默认 更改DenyHosts的默认配置之后,重启DenyHosts服务即可生效: /etc/init.d/daemon-control restart #重启denyhosts ```