设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 7051|回复: 20

[系统安全] 利用工具拒绝ssh的密码猜测,锁定IP使之无法猜测   [复制链接]

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

签到
68
注册时间
2008-5-19
最后登录
2012-2-3
在线时间
1757 小时
阅读权限
200
积分
12741
帖子
2521
主题
1198
精华
24
UID
1

LT总司令

发表于 2008-5-28 18:44:11 |显示全部楼层
朋友说,我不想改SSH服务的端口,可是22端口只要放在公网上就会遇到有人狂用字典扫描,怎么办,有一个用python写程序可以实现,大家看完后,完全可以了解整个过程,其实朋友们也可试着用shell或者其它程序去实现,思路了解了就OK!请看下文!
该工具的主要原理是扫描sshd日志,如果发现有大量的来自同一个IP地址的用户登录失败时,暂时锁定IP,加入IP到/etc/hosts.deny中。不

让再登录,以缓解暴力破解工具破解密码的危险。
   主要用于移动的用户,使用KEY不方便的机器上,对于静止使用密码的机器来说,意义不是很大。
   DenyHosts官方网站为:http://denyhosts.sourceforge.net
   下载: wget http://jaist.dl.sourceforge.net/ ... enyHosts-2.6.tar.gz
   
   安装:
     解压
  1. python setup.py install 注:该工具是用python语言写的
  2.      cp denyhosts.cfg-dist /usr/share/denyhosts/denyhosts.cfg
复制代码
编辑/usr/share/denyhots/denyhosts.cfg配置文件
主要修改的参数有:
  1. ############ THESE SETTINGS ARE REQUIRED ############
  2. SECURE_LOG = /var/log/secure  #ssh 日志文件,它是根据这个文件来判断的。
  3. HOSTS_DENY = /etc/hosts.deny  #控制用户登陆的文件,根据UNIX版本不同配置不同
  4. PURGE_DENY = 15m     #过多久后清除已经禁止的,默认为空,即马上清除掉,这个根据自己的需要设置。
  5. BLOCK_SERVICE  = sshd   #阻止SSHD服务
  6. DENY_THRESHOLD_INVALID = 1   #允许无效用户失败的次数
  7. DENY_THRESHOLD_VALID = 10    #允许普通用户登陆失败的次数
  8. DENY_THRESHOLD_ROOT = 5      #允许root登陆失败的次数
  9. DENY_THRESHOLD_RESTRICTED = 1
  10. WORK_DIR = /usr/share/denyhosts/data
  11. SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
  12. HOSTNAME_LOOKUP=NO  #是否做域名反解
  13. LOCK_FILE = /var/lock/subsys/denyhosts
  14. ############ THESE SETTINGS ARE OPTIONAL ############
  15. ADMIN_EMAIL = admin@gmail.com #管理员邮件地址
  16. SMTP_HOST = localhost
  17. SMTP_PORT = 25
  18. SMTP_FROM = DenyHosts <nobody@localhost>
  19. SMTP_SUBJECT = Redocn-DenyHosts Report
  20. AGE_RESET_VALID=5d
  21. AGE_RESET_ROOT=25d
  22. AGE_RESET_RESTRICTED=25d
  23. AGE_RESET_INVALID=10d
  24. ######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########
  25. DAEMON_LOG = /var/log/denyhosts #日志文件
  26. DAEMON_SLEEP = 30s
  27. DAEMON_PURGE = 1h
  28. #########   THESE SETTINGS ARE SPECIFIC TO     ##########
复制代码
启动服务:
  1.        cp daemon-control-dist /etc/init.d/daemon-control
  2.        chkconfig --level 3 daemon-control on  (正对rehhat,centos)
  3.        /etc/init.d/daemon-control start
复制代码
仍后你能收到邮件!~
感谢大家对linuxtone的支持!

LT技术团队

秋意浓

Rank: 7Rank: 7Rank: 7

注册时间
2008-5-27
最后登录
2012-1-2
在线时间
93 小时
阅读权限
100
积分
274
帖子
60
主题
9
精华
0
UID
21
发表于 2008-12-29 17:43:24 |显示全部楼层
如果主机暴露公网上,很多无聊的人用字典暴力破解系统密码,/var/log/secure 日志里有很多暴力登陆的记录,我在硬件防火墙上设置登陆源IP,这样其他的IP就无法连接了,更别说字典猜测。

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2008-7-6
最后登录
2011-11-29
在线时间
23 小时
阅读权限
100
积分
435
帖子
48
主题
19
精华
1
UID
127
发表于 2009-2-3 13:36:23 |显示全部楼层
iptables -I INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 2 -j REJECT

iptables一条命令搞掂了
已有 1 人评分积分 收起 理由
linuxtone + 6 精!

总评分: 积分 + 6   查看全部评分

使用道具 举报

Rank: 2

注册时间
2008-12-31
最后登录
2010-5-4
在线时间
23 小时
阅读权限
20
积分
80
帖子
64
主题
7
精华
0
UID
810

LT粉丝

发表于 2009-2-9 11:19:29 |显示全部楼层
漂过了
Simple world Simple life!~

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2008-11-27
最后登录
2012-2-1
在线时间
196 小时
阅读权限
100
积分
2585
帖子
498
主题
103
精华
1
UID
632

LT同学

发表于 2009-2-9 12:06:22 |显示全部楼层
iptables -I INPUT -p tcp --dport 22 -d 192.168.0.200 -m state --state NEW -m recent --name sshname --set

iptables -A INPUT -m recent --update --name sshname --seconds 60 --hitcount 8 -j LOG --log-prefix 'ssh attack: '

iptables -A INPUT -m recent --update --name sshname --seconds 60 --hitcount 8 -j DROP

这也不错
http://hi.baidu.com/ytjwt/

使用道具 举报

Rank: 4

注册时间
2008-11-12
最后登录
2012-2-3
在线时间
122 小时
阅读权限
50
积分
999
帖子
149
主题
33
精华
0
UID
539

LT粉丝

发表于 2009-5-13 18:04:45 |显示全部楼层
感觉还是在底层去限制好

使用道具 举报

论坛元老

小运维(总有一天我可以是‘老运维’)

Rank: 8Rank: 8

注册时间
2010-11-12
最后登录
2012-1-29
在线时间
625 小时
阅读权限
90
积分
8871
帖子
360
主题
20
精华
0
UID
11131
发表于 2010-11-29 15:05:55 |显示全部楼层
谢共享,试下!

使用道具 举报

Rank: 8Rank: 8

注册时间
2010-12-6
最后登录
2012-1-26
在线时间
103 小时
阅读权限
90
积分
3866
帖子
75
主题
0
精华
0
UID
11382
发表于 2010-12-12 11:22:38 |显示全部楼层
leaf1981 发表于 2009-2-3 13:36
iptables -I INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 2 -j REJECT

iptables一条命 ...

学习了,iptables用好了也是神器阿

使用道具 举报

Rank: 2

注册时间
2009-6-18
最后登录
2011-11-25
在线时间
28 小时
阅读权限
20
积分
84
帖子
12
主题
3
精华
0
UID
3675
发表于 2010-12-12 15:26:31 |显示全部楼层
本身让别人有机会去试探你的22就是不对的。

使用道具 举报

Rank: 8Rank: 8

注册时间
2008-6-13
最后登录
2012-1-20
在线时间
201 小时
阅读权限
90
积分
3096
帖子
891
主题
147
精华
0
UID
74

LT粉丝

发表于 2010-12-12 18:33:28 |显示全部楼层
对,一般会修改默认端口,或者从网络架构方面解决这个问题。
楼主估计是想给我们介绍一下有这么一个工具。
工作太忙,不上QQ/MSN,但每天会上LinuxTone学习!

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2009-7-29
最后登录
2011-6-27
在线时间
25 小时
阅读权限
100
积分
201
帖子
102
主题
8
精华
0
UID
4480

LT粉丝

发表于 2010-12-13 17:34:57 |显示全部楼层
fail2ban 我曾经使用过的。  http://www.fail2ban.org/wiki/index.php/Main_Page     

[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
           sendmail-whois[name=SSH, dest=it@******.com]
logpath  = /var/log/secure
maxretry = 5
每天坚持帮助别人解决5个问题,坚持浏览5个自己不曾接触的问题。

使用道具 举报

Rank: 4

注册时间
2011-2-17
最后登录
2011-12-13
在线时间
65 小时
阅读权限
50
积分
851
帖子
50
主题
8
精华
0
UID
12050
发表于 2011-3-9 16:16:45 |显示全部楼层
回复 leaf1981 的帖子

解释一下嘛

使用道具 举报

Rank: 2

注册时间
2011-3-16
最后登录
2011-4-1
在线时间
8 小时
阅读权限
20
积分
57
帖子
6
主题
0
精华
0
UID
12410
发表于 2011-3-21 12:17:04 |显示全部楼层
leaf1981 发表于 2009-2-3 13:36
iptables -I INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 2 -j REJECT

iptables一条命 ...

看来iptables还是很强大的

使用道具 举报

Rank: 6Rank: 6

注册时间
2010-3-15
最后登录
2012-2-1
在线时间
11 小时
阅读权限
70
积分
1003
帖子
25
主题
2
精华
0
UID
8125
发表于 2011-3-21 13:16:24 |显示全部楼层
很好,学习了。

使用道具 举报

Rank: 1

注册时间
2011-3-25
最后登录
2011-11-7
在线时间
1 小时
阅读权限
10
积分
17
帖子
1
主题
0
精华
0
UID
12543
发表于 2011-3-28 11:25:10 |显示全部楼层
呵呵,很实用。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢红之盟网络提供带宽支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2012-2-4 19:08 , Processed in 0.088882 second(s), 13 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部