Carey【胭脂扣】

防止Linux暴力ssh破解密码方法denyhosts工具

昨天的两个暴力破解工具就是为了测试今天所要说的denyhosts 工具

声明!本文对你有用请给予评价!转载收藏请注明出处尊重作者劳动成果!

作用,他人恶意使用ssh暴力破解软件对你的服务器进行密码批对,起因是在我这几周的日常服务检测中发现有很多的未知IP在用ssh尝试root用户的验证,

这实在是有点~虽然本人采用的是超级复杂的密码但还是怕有朝一日破解root那我的服务就成肉机了。

今天分别在两台服务器上安装了该软件,分别为RHEL6.3 和RHEL5.5已经我的测试机CentOS6.3 基本没有什么困难,很简单

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

这个网站我是没访问成功- -! 我Google了下找到了一个ftp的下载地址:

#wget http://soft.vpser.net/security/denyhosts/DenyHosts-2.6.tar.gz

 1 [root@mail ~]# wget http://soft.vpser.net/security/denyhosts/DenyHosts-2.6.tar.gz
 2 --15:25:43--  http://soft.vpser.net/security/denyhosts/DenyHosts-2.6.tar.gz
 3 Resolving soft.vpser.net... 96.44.153.111
 4 Connecting to soft.vpser.net|96.44.153.111|:80... connected.
 5 HTTP request sent, awaiting response... 200 OK
 6 Length: 42667 (42K) [application/octet-stream]
 7 Saving to: `DenyHosts-2.6.tar.gz'
 8 
 9 100%[=======================================================================>] 42,667      64.1K/s   in 0.7s   
10 
11 15:25:45 (64.1 KB/s) - `DenyHosts-2.6.tar.gz' saved [42667/42667]
12 
13 [root@mail ~]# tar zxvf DenyHosts-2.6.tar.gz 

下载并解压后 进入到解压目录 运行# python setup.py install 安装因为该软件是根据python 做的 当然默认的安装目录会放在/usr/share/denyhosts/下

1 [root@mail DenyHosts-2.6]# python setup.py install
2 running install
3 running build
4 running build_py
[root@mail DenyHosts-2.6]# cd /usr/share/denyhosts/
修改下两个范例的名字 当然自己也可以手写,我这里查看了下daemon的配置基本上符合自己的要求所有稍后修改下几个参数就OK了
[root@mail denyhosts]# cp denyhosts.cfg-dist denyhosts.cfg [root@mail denyhosts]# cp daemon-control-dist daemon-control
[root@mail denyhosts]#vi denyhosts.cfg

主要参数说明:
HOSTS_DENY = /etc/hosts.deny ###控制用户登陆的文件
SECURE_LOG = /var/log/secure ###sshd的日志文件这个不用多说
PURGE_DENY = 1d ###多长时间后清理禁止ip 可按照 年月日来定义 我定义为1d及一天
BLOCK_SERVICE  = sshd ###要禁止的服务 sshd
DENY_THRESHOLD_INVALID = 1 ###允许无效用户验证次数
DENY_THRESHOLD_VALID = 4 ###普通用户验证次数
DENY_THRESHOLD_ROOT = 4 ###root用户验证次数
HOSTNAME_LOOKUP=NO ###是否做域名反解
DAEMON_LOG = /var/log/denyhosts 这个不用多说了 该工具的日志存放路径

 

我的修改修改了清空禁止的时间为1天、root用户的验证次数为4次 普通也为4次 其他的未做修改,可以根据自己的情况而定。

防止其他用户修改此软件

1 [root@mail denyhosts]# chown root daemon-control
2 [root@mail denyhosts]# chmod 700 daemon-control
启动服务 出现starting 开始 OK完成
3 [root@mail denyhosts]# ./daemon-control start 4 starting DenyHosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg

但是作为服务器想让其开机自动启动可以将 启动的命令 绝对路径!/usr/share/.../daemon-control start 放到/etc/rc.local下或者做一个软连接(类似windows下的快捷方式)

1 [root@mail denyhosts]# cd /etc/init.d/
2 [root@mail init.d]# ln -s /usr/share/denyhosts/daemon-control denyhosts
3 [root@mail init.d]# chkconfig --add denyhosts 
4 [root@mail init.d]# chkconfig --level 2345 denyhosts on
5 实现开机自动启动该任务。好了OK全部完成。
6 有兴趣的可以参考我上文的hydra 工具做下验证效果!

演示:

首先cat /etc/hosts.deny 是否为空 OK是空的。

然后再另一个装有hydra工具的机器上运行命令hydra破解

先交代下我的251为denyhosts工具机而254为hydre机器

我在254上运行命令:

 1 [root@localhost ~]# hydra 192.168.1.251 ssh -l root -P passwrod.txt 
 2 Hydra v7.4.2 (c)2012 by van Hauser/THC & David Maciejak - for legal purposes only
 3 
 4 Hydra (http://www.thc.org/thc-hydra) starting at 2013-06-20 00:45:30
 5 [DATA] 11 tasks, 1 server, 11 login tries (l:1/p:11), ~1 try per task
 6 [DATA] attacking service ssh on port 22
 7 [ERROR] ssh protocol error
 8 1 of 1 target completed, 0 valid passwords found
 9 Hydra (http://www.thc.org/thc-hydra) finished at 2013-06-20 00:45:31
10 [root@localhost ~]# 

上述意见报错了!OK 在切回到251上查看下 cat /etc/hosts.deny 的信息

 1 [root@mail init.d]# cat /etc/hosts.deny 
 2 #
 3 # hosts.deny    This file describes the names of the hosts which are
 4 #               *not* allowed to use the local INET services, as decided
 5 #               by the '/usr/sbin/tcpd' server.
 6 #
 7 # The portmap line is redundant, but it is left to remind you that
 8 # the new secure portmap uses hosts.deny and hosts.allow.  In particular
 9 # you should know that NFS uses portmap!
10 
11 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 221.176.53.74
12 sshd: 221.176.53.74
13 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 223.202.45.74
14 sshd: 223.202.45.74
15 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 202.116.102.7
16 sshd: 202.116.102.7
17 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 58.215.39.9
18 sshd: 58.215.39.9
19 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 201.173.90.16
20 sshd: 201.173.90.16
21 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 123.196.113.11
22 sshd: 123.196.113.11
23 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 31.210.107.85
24 sshd: 31.210.107.85
25 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 118.244.14.49
26 sshd: 118.244.14.49
27 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 42.96.162.225
28 sshd: 42.96.162.225
29 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 124.248.194.126
30 sshd: 124.248.194.126
31 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 213.248.110.43
32 sshd: 213.248.110.43
33 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 108.62.45.250
34 sshd: 108.62.45.250
35 # DenyHosts: Wed Jun 19 15:33:51 2013 | sshd: 223.202.15.2
36 sshd: 223.202.15.2
37 # DenyHosts: Wed Jun 19 16:35:53 2013 | sshd: 192.168.1.254
38 sshd: 192.168.1.254
39 [root@mail init.d]# 

哎呀我擦!就这么一会儿功夫已经连接了很多个了! 看来安装此软件到服务器是势在必行的啊!

每天服务器要接受这样的暴力破解验证请求也不会少于50次

一个礼拜就N多了!

好了就到这里了。如果该文章对你有用 请给予评价 转载请注明出处!

[root@mail denyhosts]# chown root daemon-control[root@mail denyhosts]# chmod 700 daemon-control[root@mail denyhosts]# ./daemon-control startstarting DenyHosts:    /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg

posted @ 2013-06-19 16:52  胭脂筘  阅读(474)  评论(0编辑  收藏  举报