精文推荐
Linux快速入门之命令及课件下载 LinuxTone命令一句话 Pxe+dhcp+nfs+tftp网络安装centos
apache2+tomcat5.5集群+session同步 LEMP构建高性能WEB服务器(第三版) Nginx 常见应用技术指南[Nginx Tips] 第二版
Apache常见问题汇总 基于CentOS构建高性能的LAMP平台 初次体验:LEMP+Openx
<数据库服务器>->导读<-> Bind主从配置(Master/Slave) <网站服务器>->导读<->
LVS+Heartbeat实施案例及经验分享 LVS高可用方案汇总{精} 利用LVS+Keepalived实现高可用集群
Nagios 3.x 实战解决方案相关贴 LVS 负载均衡相关文档汇总 利用红帽Piranha方案实现WEB负载均衡
Squid/Varnish/Memcached/Cache Cacti相关文档汇总 [流量监控] 性能调优 | 架构研究 |
利用Awstats分析网站日志 {日志分析} Nagios监控相关资料汇总 基于bsd watch监控用户操作记录
[Linux 每日小技巧] 5、显示10条最常用的命令:sed -e "s/| /\n/g" ~/.bash_history | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head

[LinuxTone官方学习交流MSN群]: mgroup49073@hotmail.com (欢迎linuxtone站内的朋友加入拒绝闲聊![需要正确回答问题才能加入该群:你是从那个网站得知本群号的?答案:linuxtone ]) 感谢您对linuxtone的支持!共建良好技术分享社区! 本站RSS订阅地址:http://bbs.linuxtone.org/rss.php

返回列表 回复 发帖

利用工具拒绝ssh的密码猜测,锁定IP使之无法猜测

本文来自: IT运维专家网 作者: NetSeek 日期: 2008-5-28 18:44 阅读: 1734打印 收藏
朋友说,我不想改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.Org IT运维专家(系统服务|集群架构|安全监控|性能优化|程序设计)
最专业的Linux集群架构网,IT运维人员的乐园!  msn:cnseek@msn.com   
分享才能进步!帮助他人就是在帮助自己! 共同学习探讨Linux! 感谢社区的朋友们!
我为人人!人人为我! LinuxTone技术分享社区!
如果主机暴露公网上,很多无聊的人用字典暴力破解系统密码,/var/log/secure 日志里有很多暴力登陆的记录,我在硬件防火墙上设置登陆源IP,这样其他的IP就无法连接了,更别说字典猜测。
iptables -I INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 2 -j REJECT

iptables一条命令搞掂了
1

评分次数

漂过了
Simple world Simple life!~
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
感觉还是在底层去限制好
返回列表
linuxtone