通过DenyHosts阻止SSH暴力攻击(centos)

以前并没有注意过扫描SSH端口的事,最近一查/var/log/secure,哇噻,那路大神那么闲呀,这么频繁扫我的SSH端口,真无聊,不用工作呀。 哥的工作又多又杂,工资还那么一点点,被你攻破了,是安全事故,又要扣哥的工资。汗。 找DenyHosts帮忙吧。似乎作者好久没有更新了,一直是2.6版本。


1、下载DenyHosts源码并解压(目前最新版为2.6)
[root@www ~]# wget http://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz
[root@www ~]# tar zxvf DenyHosts-2.6.tar.gz
[root@www ~]# cd DenyHosts-2.6

2、安装部署
[root@www DenyHosts-2.6]# yum install python -y
[root@www DenyHosts-2.6]# python setup.py install

3、准备好默认的配置文件
[root@www DenyHosts-2.6]# cd /usr/share/denyhosts/
[root@www denyhosts]# cp denyhosts.cfg-dist denyhosts.cfg
[root@www denyhosts]# cp daemon-control-dist daemon-control


4、编辑配置文件denyhosts.cfg
[root@www denyhosts]# vi denyhosts.cfg


5、启动Denyhosts
chown root daemon-control
chmod 700 daemon-control
./daemon-control start

6、设置自动启动
设置自动启动可以通过两种方法进行。
第一种是将DenyHosts作为类似apache、mysql一样的服务,这种方法可以通过 /etc/init.d/denyhosts 命令来控制其状态。方法如下:
[root@www denyhosts]# cd /etc/init.d
[root@www init.d]# ln -s /usr/share/denyhosts/daemon-control denyhosts
[root@www init.d]# chkconfig --add denyhosts
[root@www init.d]# chkconfig --level 2345 denyhosts on
第二种是将Denyhosts直接加入rc.local中自动启动(类似于Windows中的“启动文件夹”): 平板视图打印?
[root@www denyhosts]# echo '/usr/share/denyhosts/daemon-control start' >> /etc/rc.local

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



DenyHosts配置文件denyhosts.cfg说明:(红色部分可自行修改)

SECURE_LOG = /var/log/secure
#SECURE_LOG = /var/log/auth.log #ubuntu,FreeBSD or OpenBSD用这个(有些人不写明操作系统,很是扯蛋)
#sshd日志文件,它是根据这个文件来判断的,不同的操作系统,文件名稍有不同。

HOSTS_DENY = /etc/hosts.deny
#控制用户登陆的文件

PURGE_DENY = 20m #过多久后清除已经禁止的

BLOCK_SERVICE = sshd
#禁止的服务名

DENY_THRESHOLD_INVALID = 1 #允许无效用户失败的次数

DENY_THRESHOLD_VALID = 10 #允许普通用户登陆失败的次数

DENY_THRESHOLD_ROOT = 5 #允许root登陆失败的次数

HOSTNAME_LOOKUP=NO #是否做域名反解

DAEMON_LOG = /var/log/denyhosts
#DenyHosts的日志文件
300*300
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00553 秒