首 页 » VPS管理维护 » 使用DenyHosts阻止ssh暴力攻击

使用DenyHosts阻止ssh暴力攻击

2011-03-29 | 浏览人数: 5,588次 | 分类: VPS管理维护 | 4条评论 | 查看评论 发表评论

现在的互联网非常不安全,很多人没事就拿一些扫描机扫描ssh端口,然后试图连接ssh端口进行暴力破解(穷举扫描),所以建议大家VPS尽量设置复杂的ssh登录密码。那么有什么办法阻止这些暴力破解者呢,我们可以使用DenyHosts这款软件。

DenyHosts介绍

DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。

DenyHosts安装和配置

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 -y denyhosts


3、添加系统启动自动运行

chkconfig --add denyhosts
chkconfig denyhosts on

如何你想把某个ip或者ip段放入白名单,可以使用下列命令,这样就可以避免把自己的ip阻止了;

echo '173.252.193.*' >> /var/lib/denyhosts/allowed-hosts

这样 173.252.193.* 这个IP就可以不受到此程序的约束,请根据自己的环境进行设置;
4、最后启动服务

service denyhosts start

设置完以上4步,DenyHosts就可以正常工作了。

附上: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的日志文件

原创文章如转载,请注明:转载自深度VPS [ http://www.deepvps.com ]
[复制本文链接发送给您的好友]
  • 上一篇:
  • 下一篇:
  • 日志信息 »

    该日志于2011-03-29 13:34由 deepvps 发表在VPS管理维护分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

    相关日志 »

    共有4条评论 [点此发言]

    1. 1楼 囧啊囧 2011年03月29日 14:53

      我设置很长一串,暴力就暴力 :shock:

      [回复]

    2. 2楼 不行的 2011年03月29日 16:03

      不管用,普通用户设置成2,失败了好几次,最后还是能登上。

      [回复]

      deepvps 2011年03月29日 16:37 回复:

      TOP看看,是不是服务没启动。

      [回复]

    3. 3楼 不行的 2011年03月29日 16:44

      启动了。貌似只对root有效,但是也不正常,设置为2,错误了7,8次后才断开。(错误次数太多断开putty,貌似是centos自带的。)错误次数7、8次,退出putty,再连,就连不上了。

      [回复]

    发表评论 »

    = 9 + 8 (防止机器人评论)

     疑问 冷笑 悲伤 坏蛋 感叹 微笑 脸红 大笑 吃惊 惊讶 困惑 酷 大声笑 恼火 古怪 转眼睛 给眼色 好主意 箭头 一般 哭了 绿人