DenyHosts是用Python2.3写的一个程序,它会分析/var/log/secureredhatFedora Core,Centos)等日志文件,当发现同一IP在进行多次SSHEqRLinux联盟
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上下载
进行解压,再进入到源目录
   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