空空裤兜 空空裤兜
  • 首页
  • 分类目录
    • 博客建设
    • 兜兜转转
    • 每月一帖
    • 技术存档
  • 留言
  • 豆瓣
  • 人气文章排行榜
  • 热门标签
  • 博客大事记
  • 开往
首页 › 技术存档 › 通过DenyHosts阻止SSH暴力攻击教程

通过DenyHosts阻止SSH暴力攻击教程

空空裤兜
12 年前

Denyhosts是一个Linux系统下阻止暴力破解SSH密码的软件,它的原理与DDoS Deflate类似,可以自动拒绝过多次数尝试SSH登录的IP地址,防止互联网上某些机器常年破解密码的行为,也可以防止黑客对SSH密码进行穷举。

众所周知,暴露在互联网上的计算机是非常危险的。并不要因为网站小,关注的人少或不惹眼就掉以轻心:互联网中的大多数攻击都是没有目的性的,黑客们通过大范围IP端口扫描探测到可能存在漏洞的主机,然后通过自动扫描工具进行穷举破解。笔者的某台服务器在修改SSH 22号端口之前,平均每天接受近百个来自不同IP的连接尝试。其实咱这小站,也没啥重要数据,就怕丫破解后获取权限干点不干净的事情,当然,有可能没这么严重,但是空空裤兜遇到过几次穷举破解直接CPU负载飙升到100,从而导致网站连接超时,这也够郁闷了。而DenyHosts正是这样一款工具。下文将对该工具的安装与使用方法进行介绍。

DenyHosts阻止攻击原理

DenyHosts会自动分析 /var/log/secure 等安全日志文件,当发现异常的连接请求后,会自动将其IP加入到 /etc/hosts.deny 文件中,从而达到阻止此IP继续暴力破解的可能。同时,Denyhosts还能自动在一定时间后对已经屏蔽的IP地址进行解封,非常智能。

官方网站

Denyhosts的官方网站为:http://denyhosts.sourceforge.net/ (杜绝Putty后门事件,谨记安全软件官网)

安装方法

1、下载DenyHosts源码并解压(目前最新版为2.6)

1# wget http://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz
2# tar zxvf DenyHosts-2.6.tar.gz
3# cd DenyHosts-2.6

2、安装部署

1# yum install python -y
2# python setup.py install

3、准备好默认的配置文件

1# cd /usr/share/denyhosts/
2# cp denyhosts.cfg-dist denyhosts.cfg
3# cp daemon-control-dist daemon-control

做完这几步,denyhosts就算是安装完成了,但是还没有配置,也没有启动。

4、编辑配置文件denyhosts.cfg

1# vi denyhosts.cfg

该配置文件结构比较简单,简要说明主要参数如下:

首先要确定分析哪个日志,空空裤兜安装的是centos5.x,lnmp环境,分析SECURE_LOG = /var/log/messages,如果你的系统日志不是这个,在配置文件中去掉日志文件前的#就行。

PURGE_DENY:当一个IP被阻止以后,过多长时间被自动解禁。可选如3m(三分钟)、5h(5小时)、2d(两天)、8w(8周)、1y(一年);
PURGE_THRESHOLD:定义了某一IP最多被解封多少次。即某一IP由于暴力破解SSH密码被阻止/解封达到了PURGE_THRESHOLD次,则会被永久禁止;
BLOCK_SERVICE:需要阻止的服务名;
DENY_THRESHOLD_INVALID:某一无效用户名(不存在的用户)尝试多少次登录后被阻止;
DENY_THRESHOLD_VALID:某一有效用户名尝试多少次登陆后被阻止(比如账号正确但密码错误),root除外;
DENY_THRESHOLD_ROOT:root用户尝试登录多少次后被阻止;
HOSTNAME_LOOKUP:是否尝试解析源IP的域名;

大家可以根据上面的解释,浏览一遍此配置文件,然后根据自己的需要稍微修改即可。

5、启动Denyhosts

1# ./daemon-control start

若修改了配置文件,需要先停止denyhosts,只需要把上面命令中的start改为stop就行。

如果需要让DenyHosts每次重启后自动启动,还需要:

6、设置自动启动

设置自动启动可以通过两种方法进行。

第一种是将DenyHosts作为类似apache、mysql一样的服务,这种方法可以通过 /etc/init.d/denyhosts 命令来控制其状态。方法如下:

1#cd /etc/init.d
2# ln -s /usr/share/denyhosts/daemon-control denyhosts
3# chkconfig --add denyhosts
4# chkconfig -level 2345 denyhosts on

第二种是将Denyhosts直接加入rc.local中自动启动(类似于Windows中的“启动文件夹”):

1# echo '/usr/share/denyhosts/daemon-control start' >> /etc/rc.local

如果想查看已经被阻止的IP,打开/etc/hosts.deny 文件即可,或者执行cat /etc/hosts.deny。

vps
0
10
CSS3形式返回顶部
上一篇
负载过高,重启lnmp
下一篇

评论 (10)

取消
  • 郑永

    沙发一个,顺便送上压岁钱。gg

    12 年前 回复
    • 空空裤兜

      @郑永 @郑永: 恭喜发财,红包拿来

      12 年前 回复
  • 我要发芽

    4月份买vps,到时候会用上这个。

    12 年前 回复
    • 空空裤兜

      @我要发芽 @我要发芽: 暴力破解SSH 还是要防一下的

      12 年前 回复
  • 南寻

    学习了~ 😯

    12 年前 回复
  • 熊猫家族

    貌似不错 收藏啦 以后备用

    12 年前 回复
    • 空空裤兜

      @熊猫家族 @熊猫家族: 还得防着蛋疼之人扫描的

      12 年前 回复
  • 电脑爱好者

    很详细 留下脚印 万一以后用到了呢 呵呵

    12 年前 回复
  • 爱软E

    云主机表示 天天被暴力拆解中!!

    12 年前 回复
    • 空空裤兜

      @爱软E @爱软E: 看着一大堆的扫描纪录 闹心

      12 年前 回复

猜你喜欢

  • PVE和NAS共享一台UPS停电自动关机
  • 2024-07
  • 宝塔无法启动fail2ban解决方法
  • 2023-12
  • 添加CDN

空空裤兜

和过去过不去,跟未来合不来。
254
文章
1K
评论
397
获赞

随缘推荐

哪吒监控添加bark报警通知
博客搬入阿里云
一语惊醒植物人(18)
一语惊醒植物人(9)
标题载入添加loading状态

专题展示

负载过高,重启lnmp
12 年前
重建DELL Recovery分区(win7)的出厂状态
14 年前
第一次丢数据
12 年前
也入了香港vps
12 年前
备份还原记
10 年前
Copyright © 2010-2025 空空裤兜. Designed by nicetheme.
  • 首页
  • 分类目录
    • 博客建设
    • 兜兜转转
    • 每月一帖
    • 技术存档
  • 留言
  • 豆瓣
  • 人气文章排行榜
  • 热门标签
  • 博客大事记
  • 开往