最新
推荐
2014年高等教育信息化十大“关... 01-04 教育部成立教育信息化专家组 12-24
CERNET第二十一届学术年会 11-24 李志民:互联网促进人类文明迈... 11-15
|
方案3 自动判断用户登录,封禁非法SSH入侵 实施方法有两种: 安装DenyHost软件 DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件,当发现重复的攻击时就会记录I P 到/etc/hosts.deny文件,从而达到自动屏蔽IP的功能。安装与使用方法大家可以到官方网站上查看。 DenyHosts官方网站为:http://denyhosts.sourceforge.net,它是开源软件。 自己编写脚本 a 、预期效果 每分钟都检查日志/var/log/messages,发现10分钟内有重复登录SSH失败超过5次的IP后即对其进行封禁10分钟处理,10分钟后自动解封。 b、编写思路 1、客户端通过ssh登录服务器失败会在/var/log/messages中生成日志,格式如下: Mar 30 05:46:21 hostname sshd(pam_unix)[29499]: authentication 其中时间,authentication failure; tty=ssh,rhost=ip address可以作为下一步分析的特征。 2、分析日志。把10分钟内登录验证失败超过5次的IP地址找出来。格式化,格式为:sshd:ip address,并存入/etc/hosts.deny.tmp文件中。 3、禁止这个IP地址在封禁时间内通过SSH登录。方法是把hosts.deny.tmp文件中的内容添加到hosts.deny中,并重新启动SSH服务使封禁生效。 c、Shell脚本 内容如下: #!/bin/bash #这段代码在RHEL4下测试通过。 #1、使用awk命令分析10分钟内产生的日志,把ssh登录验证失败超过5次的IP地址找出来并存入hosts.deny.tmp文件中。 awk ' #格式化时间格式 gsub(/:/," ",$3); ls -l /etc/hosts.deny|awk '$5>$file_size{service sshd |
版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号
关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com