Linux 上DenyHosts阻止SSH暴力攻击

如今的互联网很是不安全,不少人没事就拿一些扫描机扫描ssh端口,而后试图链接ssh端口进行暴力破解(穷举扫描),因此建议vps主机的空间,尽可能设置复杂的ssh登陆密码,虽然在前段时间曾经介绍过Linux VPS禁止某个IP访问使用hosts.deny禁止某些IP访问,可是功能方面欠缺,如:不能自动屏蔽,那么有什么更好的办法吗,就可使用denyhosts这款软件了,它会分析/var/log/secure(redhat,Fedora Core)等日志文件,当发现同一IP在进行屡次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。 python

DenyHosts官方网站为:http://denyhosts.sourceforge.net/ centos

一、下载DenyHosts 并解压 安全

wget http://soft.vpser.net/security/denyhosts/DenyHosts-2.6.tar.gz
tar zxvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6 ssh

二、安装、配置和启动 网站

python setup.py install 操作系统

默认是安装到/usr/share/denyhosts/目录的,进入相应的目录修改配置文件 .net

cd /usr/share/denyhosts/
cp denyhosts.cfg-dist denyhosts.cfg
cp daemon-control-dist daemon-control 日志

默认的设置已经能够适合centos系统环境,大家可使用vi命令查看一下denyhosts.cfg和daemon-control,里面有详细的解释
接着使用下面命令启动denyhosts程序 vps

chown root daemon-control
chmod 700 daemon-control
./daemon-control start get

若是要使DenyHosts每次重起后自动启动还需作以下设置:

cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig –add denyhosts
chkconfig –level 2345 denyhosts on

或者执行下面的命令,将会修改/etc/rc.local文件:

echo “/usr/share/denyhosts/daemon-control start” >> /etc/rc.local

DenyHosts配置文件denyhosts.cfg说明:

SECURE_LOG = /var/log/secure

#sshd日志文件,它是根据这个文件来判断的,不一样的操做系统,文件名稍有不一样。

HOSTS_DENY = /etc/hosts.deny

#控制用户登录的文件

PURGE_DENY = 5m

#过多久后清除已经禁止的

BLOCK_SERVICE  = sshd

#禁止的服务名

DENY_THRESHOLD_INVALID = 1

#容许无效用户失败的次数

DENY_THRESHOLD_VALID = 10

#容许普通用户登录失败的次数

DENY_THRESHOLD_ROOT = 5

#容许root登录失败的次数

HOSTNAME_LOOKUP=NO

#是否作域名反解

DAEMON_LOG = /var/log/denyhosts

更多的说明请查看自带的README文本文件,好了之后维护VPS就会省一些心了,可是各位VPSer们注意了安全都是相对的哦,没有绝对安全,请按期或不按期的检查你的VPS主机,并且要定时备份你的数据哦。

相关文章
相关标签/搜索