DenyHosts
是用
Python2.3
写的一个程序,它会分析
/var/log/secure
(
redhat
,
Fedora Core,Centos
)等日志文件,当发现同一
IP
在进行多次
SSH
密
EqRLinux
联盟
EqRLinux
联盟
码尝试时就会记录
IP
到
/etc/hosts.deny
文件,从而达到自动屏蔽该
IP
的目的。
EqRLinux
联盟
EqRLinux
联盟
DenyHosts
官方网站为:
[url]http://denyhosts.sourceforge.net[/url]
一:
检查安装要求
首选检查
Sshd
是否支持
Tcpwrap
,只有支持
Tcpwrap
才可以安装
Denyhost
50
ldd /usr/sbin/sshd |grep wrap
再检查Python
的版本,
Python2.3
以上版本可以直接安装
51
python –V
二:
安装Denyhost
先从Sourceforge.net
上下载
wget [url]http://umn.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz[/url]
进行解压,再进入到源目录
49
tar -xzvf DenyHosts-2.6.tar.gz
52
cd DenyHosts-2.6
执行Python
脚本进行安装,
53
python setup.py install
程序脚本自动安装到
/usr/share/denyhostsEqRLinux
联盟
库文件自动安装到
/usr/lib/python2.3/site-packages/DenyHostsEqRLinux
联盟
denyhosts.py
自动安装到
/usr/bin
三:
设置启动脚
本
54
cd /usr/share/denyhosts/
拷贝模板文件
55
cp daemon-control-dist daemon-control
设置好启动脚本的所属用户和权限
56
chown root daemon-control
57
chmod 700 daemon-control
生成Denyhost
的主配置文件,(将模板文件中开头是#
的过滤后再导入到Denyhost.cfg
)
58
grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
编辑Denyhost.cfg
文件
59
vi denyhosts.cfg
根据自己需要进行相应的修改
EqRLinux
联盟
----------------denyhosts.cfg------------------------EqRLinux
联盟
SECURE_LOG = /var/log/secure EqRLinux
联盟
#RedHat/Fedora Core
分析该日志文件
EqRLinux
联盟
#
其它版本
linux
根据
denyhosts.cfg-dist
内提示选择。
EqRLinux
联盟
EqRLinux
联盟
PURGE_DENY = 30mEqRLinux
联盟
#
过多久后清除
EqRLinux
联盟
EqRLinux
联盟
DENY_THRESHOLD_INVALID = 1EqRLinux
联盟
#
允许无效用户(
/etc/passwd
未列出)登录失败的次数
EqRLinux
联盟
EqRLinux
联盟
DENY_THRESHOLD_VALID = 5EqRLinux
联盟
#
允许有效(普通)用户登录失败的次数
EqRLinux
联盟
EqRLinux
联盟
DENY_THRESHOLD_ROOT = 3EqRLinux
联盟
#
允许
root
登录失败的次数
EqRLinux
联盟
EqRLinux
联盟
HOSTNAME_LOOKUP=NOEqRLinux
联盟
#
是否做域名反解
EqRLinux
联盟
----------------denyhosts.cfg------------------------
将
Denyhost
启动脚本添加到自动启动中
60
echo '/usr/share/denyhosts/daemon-control start'>>/etc/rc.d/rc.local
启动Denyhost
的进程
61
/usr/share/denyhosts/daemon-control start
可以查看到Denyhost
在运行中
62
ps -ef |grep deny
在另外一台机器上使用Ssh
进行连接,当在连续几次输入错误的密码后,会被自动阻止掉,在一定时内不可以再连接
Ssh
连接记录的日志文件
66
tail /var/log/secure –f
Denyhost
日志文件
67
tail /var/log/denyhosts –f
Denyhost
将恶意连接的
IP
记录到
Hosts.deny
文件中,过一定时间后再从该文件中清除(
Denyhost.cfg
中设定的时间)
68
vi /etc/hosts.deny