最近公网一台邮件服务器登陆进去,发现/var/log/secure 发现大量来自不通IP地址登陆失败的信息,我第一反映,肯定有人故意在用字典方法恶意连接我服务器,从而导致服务器开销增到。

 

使用DenyHost工具有效阻止ssh暴力破解_第1张图片

我使用如下命令,查看登陆失败的统计情况。正是不统计不知道,一统计吓一跳。

# grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' /var/log/secure | sort | uniq –c


 

使用DenyHost工具有效阻止ssh暴力破解_第2张图片

赶紧网上找了一个拒绝登陆方法, DenyHosts 可以将secure 多次尝试登陆的IP记录到/etc/hosts.deny 中去,从而达到自动屏IP的功能。如果是手动添加的话不把人累死才怪。

DenyHosts官方网站为:http://denyhosts.sourceforge.net

 

 

1、  检查安装条件

    判断系统安装的sshd是否支持tcp_wrappers(默认都支持),命令如下:

# ldd /usr/sbin/sshd |grep libwrap

        libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f1fcf2f5000)

2、  安装及配置DenyHosts工具

    确定一下系统已经安装Python2.6以上版本的情况下,执行一下步骤:

    a) 安装DenyHosts

# cd /usr/local/src
# wget http://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz
# tar zxvf DenyHosts-2.6.tar.gz
# cd DenyHosts-2.6
# python setup.py install

    程序脚本自动安装到/usr/share/denyhosts

    库文件自动安装到/usr/lib/python2.6/site-packeages/DenyHosts

    Denyhosts.py 自动安装到/usr/bin.

    b) 编辑denyhosts.conf 文件,根据自己需要进行相应的修改

    # vim /etc/denyhosts.conf


---------------------------------------------denyhosts.cfg------------------------------------------
  ############ THESE SETTINGS ARE REQUIRED ############
SECURE_LOG = /var/log/secure           #denyhosts是根据这个文件来判断的
HOSTS_DENY = /etc/hosts.deny      #控制用户登录的文件,可以看到屏蔽的IP
PURGE_DENY = 30m             #过多久清除已经禁止的IP,这里是30分钟
BLOCK_SERVICE  = sshd                          #禁止的服务名
DENY_THRESHOLD_INVALID = 5           #允许无效的用户失败次数
DENY_THRESHOLD_VALID = 10             #允许普通用户失败次数
DENY_THRESHOLD_ROOT = 1               #允许ROOT失败次数
DENY_THRESHOLD_RESTRICTED = 1    
WORK_DIR = /usr/share/denyhosts/data
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=NO                      #是否做主机名反向解析
LOCK_FILE = /var/lock/subsys/denyhosts
 ############ THESE SETTINGS ARE OPTIONAL ############
ADMIN_EMAIL = [email protected]                     
 #以邮件方式发送报告给[email protected]
SMTP_HOST = smtp.archermind.com                           #以当前主机来发送邮件
SMTP_PORT = 25                                          #发送端口
SMTP_FROM = DenyHosts<[email protected]>
 #yafeng.jin为用户
SMTP_SUBJECT = DenyHosts Report              #邮件标题
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
   ######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
   #########   THESE SETTINGS ARE SPECIFIC TO     ##########
   #########       DAEMON SYNCHRONIZATION         #########


     c) 启动服务

#/etc/init.d/denyhosts  start    #启动denyhosts
#chkconfig denyhosts on        #加入开机服务中


 

 

3、  查看现在是否被拒绝

可以查看/etc/hosts.deny文件,当中就能看到不断***我服务器的IP地址

#cat /etc/hosts.deny

使用DenyHost工具有效阻止ssh暴力破解_第3张图片


 

哈哈,看你们还敢使用这种手段来试探我服务器!!!!!!!!!!!!!