防范ssh暴力破解攻击(ssh brute force attack)

转载 2016年05月31日 22:11:24

文章来源:http://www.codelast.com/

暴露在网络上的主机都是有风险的,其中一种风险就是ssh暴力破解攻击(ssh brute force attack)。

请先看看你的Linux主机的 /var/log/secure 文件的内容,如果你发现里面记录有无数条用各种甚至在你的系统中都不存在的用户名来尝试登录你的系统的日志,那么你就要当心了,这很有可能是别人在用工具不断尝试破解你的登录帐号。

如果你的密码不够复杂,那么很可能你会遭殃。防范的方法有很多种,这里介绍一种用第三方软件来实现防御的方法。

据网上的资源介绍,有下面几个防御软件:

sshfilter http://www.csc.liv.ac.uk/~greg/sshdfilter/

Fail2Ban  http://fail2ban.sourceforge.net/

DenyHosts http://denyhosts.sourceforge.net/

 

这几个软件我没有全部接触过,仅用了DenyHosts。下面就说一下DenyHosts的安装和使用。

到这里去下载:http://sourceforge.net/projects/denyhosts/files/

下载.tar.gz的安装包就可以了,安装很方便。

写本文的时候,其版本为2.6(DenyHosts-2.6.tar.gz)。

(1)解压安装包:

tar zxf DenyHosts-2.6.tar.gz

(2)进入解压出来的目录下,然后再安装:

cd DenyHosts-2.6/

python setup.py install

(会输出一堆信息,不用理会它)

(3)为了能开机自动启动,在系统中做一个名为“denyhosts”的符号链接,然后添加到启动项中:

ln -s /usr/share/denyhosts/daemon-control-dist /etc/init.d/denyhosts

chkconfig --add denyhosts

(5)到 /usr/share/denyhosts/ 目录下,将配置文件denyhosts.cfg-dist复制为一个新的配置文件——后面会说为什么要这样做:

cd /usr/share/denyhosts

cp denyhosts.cfg-dist denyhosts.cfg

(6)修改配置文件:

vi denyhosts.cfg

配置文件的内容很长,但是我们没有必要修改所有的参数,很多都只要使用默认就够了,但是有一些是必须要改的,部分说明如下:

 

# ssh日志文件,对RedHat来说,就是这个文件。对其他系统来说,可能不是该文件,请参考详细的说明

SECURE_LOG = /var/log/secure

 

# 描述禁止登录的文件

HOSTS_DENY = /etc/hosts.deny

 

# 当DenyHosts以--purge参数调用时,比这个参数设置的值久的时间的HOSTS_DENY记录将被删除(该参数留空的话,表示从不会清除任何HOSTS_DENY记录)

PURGE_DENY = 

 

# 发生block的情况时,需要block的服务名

BLOCK_SERVICE  = sshd

 

# 最多允许系统中不存在的用户登录失败多少次

DENY_THRESHOLD_INVALID = 2

 

# 最多允许有效用户登录失败多少次

DENY_THRESHOLD_VALID = 3

 

# 最多允许root登录失败多少次

DENY_THRESHOLD_ROOT = 3

 

# 是否做域名反解析

HOSTNAME_LOOKUP=NO

 

# 用来接收报警信息的邮箱

ADMIN_EMAIL = xxx@163.com

 

# smtp服务器地址,当你需要DenyHosts发邮件给你报警的时候,要设置这个参数

SMTP_HOST = smtp.163.com

 

# smtp服务器端口

SMTP_PORT = 25

 

# 登录邮箱帐户的用户名

SMTP_USERNAME=usr

 

# 登录邮箱帐户的密码

SMTP_PASSWORD=pas

 

# 邮件中的发件人信息

SMTP_FROM = DenyHosts <xxx@163.com>

 

# 报警邮件的标题

SMTP_SUBJECT = DenyHosts Report

 

其他的基本上不用改了。

文章来源:http://www.codelast.com/

(7)启动服务:

/etc/init.d/denyhosts start

(从输出的信息来看,这种启动方法实际上是调用了如下的命令:

/usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg

可见,它使用的配置文件是/usr/share/denyhosts/denyhosts.cfg ,这也是为什么我们在上面的步骤中要把默认的配置文件复制为一个新的配置文件“denyhosts.cfg”的原因了。)

 

(8)测试:

从另一台服务器上,以一个不存在的用户名和密码来ssh登录部署了的DenyHosts服务器,如果你在DenyHosts的配置文件中设置的是错误地尝试一次就被block,那么你就会发现你这台登录的客户端服务器被block了。并且,在部署了DenyHosts的服务器上,查看文件 /etc/hosts.deny 的内容,会发现多了一条记录,正是屏蔽了登录者的那一条记录,这就说明生效了。


备注:

如果一台服务器被误block了,可以在部署DenyHosts的服务器上,将文件 /etc/hosts.deny 中相应的条目删掉,再重启DenyHosts服务(/etc/init.d/denyhosts restart),就可以解除block了。

 

最后,防范此类攻击有多种方法,可参考类似于下面的文章:

http://coolerfeng.blog.51cto.com/133059/50947

ssh恶意攻击防范

ssh恶意攻击防范 修改ssh登录用户以及端口 封锁ip SSH禁止10分钟内登陆失败次数多的IP地址ssh恶意攻击防范今天遇到了一个问题,布好了cacti之后使用了syslog插件,然后发现自己的搜...
  • a948099144
  • a948099144
  • 2016年05月15日 10:50
  • 1168

图像匹配之brute-force算法

最近在做图像检索算法(visual search)研究。图像检索本质上还是图像匹配,因此特征提取,特征匹配等步骤都是图像检索算法的核心和难点。直到现在图像检索技术还是处于比较原始的阶段,这一点用goo...
  • Swartz2015
  • Swartz2015
  • 2016年03月04日 11:01
  • 2055

(六)Brute-Force算法与KMP算法

串的模式匹配操作在字符串匹配问题中,我们期待察看S串中是否含有串T(模式串)。其中串S被称为主串,串T被称为子串。如果在主串中查找到子串,则称为模式匹配成功,返回模式串的第一个字符在主串中出现的位置。...
  • FullyFang
  • FullyFang
  • 2014年01月12日 21:04
  • 3627

基于SSH协议的网络攻击防御分析与研究

刘斌1马严1,2马跃2 (1.北京邮电大学信息网络中心,北京l00876:2.北京邮电大学计算机科学与技术学院,北京100876) 摘要:本文简单介绍了在不安全的网络上提供安全连接的ssH协议。从入侵...
  • a407603406
  • a407603406
  • 2014年03月10日 00:42
  • 1254

ssh认证的流程与攻击防范

在使用git的远程推送功能时,常用ssh协议连接远程服务器, ssh协议的使用免去了每次连接都要输入用户名,密码的麻烦,通过实现存放在远程主机的公钥与存放在本地的私钥的配对确定请求者的身份。 Ssh...
  • gediseer
  • gediseer
  • 2017年01月17日 16:29
  • 8280

Linux主机如何防止暴力攻击

可见,如何不做任何防护,是非常危险的!! 一般来说有可以用如下几种策略做一些简单的防护: 1.把root改名 linux怎样更改root名字 2.不准用root直接登录 linux下...
  • e_Inch_Photo
  • e_Inch_Photo
  • 2018年01月09日 09:41
  • 36

针对SSL的中间人攻击演示和防范

1 中间人攻击概述 中间人攻击(man-in-the-Middle Attack, MITM)是一种由来已久的网络入侵手段,并且在今天仍然有着广泛的发展空间,如SMB会话劫持、DNS欺骗等攻...
  • f2006116
  • f2006116
  • 2016年12月06日 22:10
  • 852

修改SSH登陆端口,防止vps被攻击

博主前段时间购买了一个VPS,终于开始了科学上网的生活。但是呢,由于博主没有修改SSH的连接端口,导致有大量的黑客对我的vps进行扫描。试图暴力破解密码,将博主的vps当做肉鸡处理。为了防止题注的vp...
  • helinlin007
  • helinlin007
  • 2016年07月28日 15:46
  • 13247

时序分析:串匹配—Brute-Force算法

设有主串s和子串t,子串t的定位就是要在主串s中找到一个与子串t相等的子串。通常把主串s称为目标串,把子串t称为模式串,因此定位也称作模式匹配。模式匹配成功是指在目标串s中找到一个模式串t;不成功则指...
  • wishchin
  • wishchin
  • 2015年12月17日 16:48
  • 577

使用 denyhosts 防御服务器被SSH暴力攻击

DenyHosts是Python语言写的一个程序,它可以分析sshd的登录日志文件(/var/log/secure),当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏...
  • cy309173854
  • cy309173854
  • 2017年04月07日 10:35
  • 1112
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:防范ssh暴力破解攻击(ssh brute force attack)
举报原因:
原因补充:

(最多只允许输入30个字)