安装denyhosts防止被扫口令
概述: 现在的互联网非常不安全,很多人没事就拿一些扫描机扫描ssh端口,然后试图连接ssh端口进 行暴力破解(穷举扫描),所以建议vps主机的空间,尽量设置复杂的ssh登录 密码!
那么有什么办法设法阻止这些,就可以使用denyhosts这款软件了,DenyHosts是 Python语言写的一个程序,它会分析SSHD的日志文件,当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽 IP的功能。
DenyHosts官方网站为:http://denyhosts.sourceforge.net
目的: 阻止非授权的大量访问我们的ssh端口,造成负载过高
环境:vps主机 使 用型 centos5系统
安装:
一、使用原代码安装
1、下载原文件且解压
wget http://downloads.sourceforge.net/denyhosts/DenyHosts-2.6.tar.gz
tar zxvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
2、安装、配置和启动
python setup.py install
默认是安装到/usr/share/denyhosts/目录的,进入相应的目录修改配置文件
cd /usr/share/denyhosts/
cp denyhosts.cfg-dist denyhosts.cfg
cp daemon-control-dist daemon-control
默认的设置已经可以适合centos系统环境,你们可以使用vi命令查看一下denyhosts.cfg和daemon-control,里面有详 细的解释
接着使用下面命令启动denyhosts程序
chown root daemon-control
chmod 700 daemon-control
./daemon-control start
如果要使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
#DenyHosts的日志文件
更多的说明请查看自带的README文本文件。
二、使用yum命令安装
1、下载和安装EPEL RPM
cd /tmp
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
rpm -Uhv epel-release-5-3.noarch.rpm
2、使用yum命令安装denyhosts
yum install denyhosts
主要配置文件/etc/denyhosts.cfg ,您可以看看,确保配置合适你的环境
3、添加系统启动自动运行
chkconfig --add denyhosts
chkconfig denyhosts on
如何你想把某个ip或者ip段放入白名单,可以使用下列命令,这样就可以避免把自己的ip阻止了
echo '208.85.151.*' >> /var/lib/denyhosts/allowed-hosts
这样208.85.151.*就可以不受到此程序的约束,请根据自己的环境进行设置
4、最后启动服务
service denyhosts start
none