防范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攻击

托管在IDC的机器我们通常都用SSH方式来远程管理.但是经常可以发现log-watch的日志中有大量试探登录的 信息,为了我们的主机安全,有必要想个方法来阻挡这些可恨的"HACKER" 有...

denyhost防止SSH暴力破解

  • 2009-08-18 09:57
  • 53KB
  • 下载

部署DenyHosts防SSH暴力破解

[root@bjmxy-opensips-x86v-app01 ~]# ldd /usr/sbin/sshd  linux-vdso.so.1 =>  (0x00007fff3d1ff000)  ...

利用fail2ban防止ssh暴力破解

实验要求:设置公司服务器远程访问条件,远程登录在五分钟之内如果出现三次密码验证失败,禁止用户ip访问主机,一小时后恢复访问。

shell脚本防ssh/vsftpd暴力破解

#!/bin/bash LIMIT=10 LOGFILE="/var/log/block_ssh.log" TIME=$(date '+%b %e %H') BLOCK_IP=$(grep "$TI...

Linux----利用hosts.deny 防止暴力破解ssh

一、ssh暴力破解   利用专业的破解程序,配合密码字典、登陆用户名,尝试登陆服务器,来进行破解密码,此方法,虽慢,但却很有效果。 二、暴力破解演示 2.1.基础环境:2台linux主机(cen...
  • damys
  • damys
  • 2016-05-04 09:41
  • 1514

防暴力破解SSH/FTP/SMTP用户密码----fail2ban操作实务

防暴力破解SSH/FTP/SMTP用户密码----fail2ban操作实务 在debian下以邮件服务器为例进行说明   一、邮件服务器现状 1、邮件服务器mail.warn 日志中每天大...

Ubuntu安装denyhosts防止暴力破解远程SSH

Ubuntu安装denyhosts防止暴力破解远程SSH ZDNet 系统安全 来源: zdnet整理 2011年07月03日 评论(0) 关键词: 系统安全 linux安全 ...

iptables防止ssh 暴力破解

最近在IBM 免费提供的Bluemix虚拟机上玩shadowsocks代理,查看日志的时候无意间发现很多坏蛋在暴力破解我的ssh,真是用心良苦,俺可是用的key来登录哦,那我也要阻止一下这种行为,一开...

linux服务器不得不注意的安全问题--ssh暴力破解--denyhosts

linux服务器不得不注意的安全问题--ssh暴力破解--denyhosts解决 2010-03-24 14:31:42 标签:linux系统 原创作品,允许转载,转载时请务必以超链接形式标明文...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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