你是否遇到过sshd服务被暴力破解的纠结一幕呢?有人可能会说我只允许我们公司的ip登陆不就行了吗,但是当公司使用的是ADSL拨号方式上网的时候就显的力不从心了,无法确定ip来源了。当然了如果公司使用的
.你是否遇到过sshd服务被暴力破解的纠结一幕呢?有人可能会说我只允许我们公司的ip登陆不就行了吗,但是当公司使用的是ADSL拨号方式上网的时候就显的力不从心了,无法确定ip来源了。当然了如果公司使用的是固定ip,就忽略之。.
.本文只是提供一个方法,具体适用于谁,适用于什么环境,还是自己斟酌吧!...
..我的系统是CentOS5.4,借助swatch这个工具来实现自动防御,完全实现自动化,自动封锁***ip,并在指定时间后解封,这个过程完全自动化。..
..1、安装swatch..# yum --enablerepo=bjtu install swatch..版本应该>=3.2.3..之前用3.1.1版本,有点问题..
..2、创建配置文件..# touch ~/.swatchrc..# vim ~/.swatchrc..因为sshd服务的日志文件为/var/log/secure,加入要监控的配置项,如下...#..# bad login attempts..watchfor /sshd.+ Failed password for .+ from ([0-9]+/.[0-9]+/.[0-9]+/.[0-9]+)/.. echo magenta.. bell 1.. exec "/root/swatch.sh $1"...保存退出..
..3、创建***检测到后的处理脚本..# touch /root/swatch.sh..# vim /root/swatch.sh..加入如下脚本:...#!/bin/sh..
..IP=$1..echo $IP >> /root/sshd_blocked_ip_list..
../sbin/iptables -I INPUT -s "$IP" -p tcp --dport 22 -j DROP..
../usr/bin/at "now + 1 hours" <<< "/sbin/iptables -D INPUT -s $IP -p tcp --dport 22 -j DROP"...修改脚本文件权限..# chmod u+x /root/swatch.sh..
..4、运行swatch..# /usr/bin/swatch -t /var/log/secure --daemon..
..Note:..***者的ip被记录到sshd_blocked_ip_list里了..另外可以通过查看防火墙规则看到正在被封锁的ip..# iptables -L -n..以及自动清除的计划任务..# atq..
..至此便完成了一个sshd暴力破解自动防御系统,由于监控日志时swatch可能有延迟,所以防火墙规则里可能会有多于一条的相同规则,但是不影响功能。..
..希望对你有帮助!..