分类: LINUX
2009-12-22 18:19:57
DenyHosts是用Python2.3写的一个程序,它会分析/var/log/secure(redhat,Fedora Core,Centos)等日志文件,当发现同一IP在进行多次SSH密EqRLinux联盟
EqRLinux联盟 码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。EqRLinux联盟 EqRLinux联盟 DenyHosts官方网站为: 一:检查安装要求
首选检查Sshd是否支持Tcpwrap,只有支持Tcpwrap才可以安装Denyhost
50 ldd /usr/sbin/sshd |grep wrap
再检查Python的版本,Python2.3以上版本可以直接安装
51 python –V
二:安装Denyhost
先从Sourceforge.net上下载
wget
进行解压,再进入到源目录
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
本文出自 “gzmaster” 博客,请务必保留此出处http://gzmaster.blog.51cto.com/299556/79370 本文出自 51CTO.COM技术博客 |