DenyHost工具阻止ssh破解

2015-10-29 14:39:13 4117

对与一台在公网上运行的服务器来说,不难遇到一些不会好意的人,用字典方法进行密码破解工作,作为管理者的我们,往往通过对其IP进行黑名单的方式来阻挡,但是在众多的IP下,手动进行往往操作不过来。那我们就需要使用DenyHost工具来完成这项操作。

步骤:

1、  检查安装条件

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

 1
# ldd /usr/sbin/sshd |grep libwrap

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

2、  安装及配置DenyHosts工具

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

    a) 安装DenyHosts

1
2
3
4
5
# cd /usr/local/src
# wget http://www.landui.com/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 文件,根据自己需要进行相应的修改

1
    # vim /etc/denyhosts.conf


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
---------------------------------------------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 = yafeng.jin@archermind.com                     
 #以邮件方式发送报告给yafeng.jin@archermind.com
SMTP_HOST = smtp.archermind.com                           #以当前主机来发送邮件
SMTP_PORT = 25                                          #发送端口
SMTP_FROM = DenyHosts<<A href="mailto:yafeng.jin@archermind.com">yafeng.jin@archermind.com>
 #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) 启动服务

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

3、  查看现在是否被拒绝

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

1
#cat /etc/hosts.deny

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: