> 教程分享 > DenyHosts可以阻止SSH暴力攻击教程

DenyHosts可以阻止SSH暴力攻击教程

现在服务器的安全问题确实是一个大难题,不管使用任何安全软件都有几率被绕过,所以对于个人来说定期做好备份是一个必备的选择!使用安全软件可以抵御一部分的攻击,也可以让部分止步!Denyhosts是一个Linux系统下阻止暴力破解SSH密码的软件,它的原理与DDoS Deflate类似,可以自动拒绝过多次数尝试SSH登录的IP地址,防止互联网上某些机器常年破解密码的行为,也可以防止黑客对SSH密码进行穷举。

安装方法

1、下载DenyHosts源码并解压(目前最新版为2.6)

2、安装部署

3、准备好默认的配置文件

4、编辑配置文件denyhosts.cfg

该配置文件结构比较简单,简要说明主要参数如下:

PURGE_DENY:当一个IP被阻止以后,过多长时间被自动解禁。可选如3m(三分钟)、5h(5小时)、2d(两天)、8w(8周)、1y(一年);
PURGE_THRESHOLD:定义了某一IP最多被解封多少次。即某一IP由于暴力破解SSH密码被阻止/解封达到了PURGE_THRESHOLD次,则会被永久禁止;
BLOCK_SERVICE:需要阻止的服务名;
DENY_THRESHOLD_INVALID:某一无效用户名(不存在的用户)尝试多少次登录后被阻止;
DENY_THRESHOLD_VALID:某一有效用户名尝试多少次登陆后被阻止(比如账号正确但密码错误),root除外;
DENY_THRESHOLD_ROOT:root用户尝试登录多少次后被阻止;
HOSTNAME_LOOKUP:是否尝试解析源IP的域名;

大家可以根据上面的解释,浏览一遍此配置文件,然后根据自己的需要稍微修改即可。

5、启动Denyhosts

6、设置自动启动

设置自动启动可以通过两种方法进行。

第一种是将DenyHosts作为类似apache、mysql一样的服务,这种方法可以通过 /etc/init.d/denyhosts 命令来控制其状态。方法如下

第二种是将Denyhosts直接加入rc.local中自动启动(类似于Windows中的“启动文件夹”):

如果想查看已经被阻止的IP,打开/etc/hosts.deny 文件即可。