sshd被攻击的自动防御方法

安全 黑客攻防
你是否遇到过sshd服务被暴力破解的纠结一幕呢?有人可能会说我只允许我们公司的ip登陆不就行了吗,但是当公司使用的是ADSL拨号方式上网的时候就显的力不从心了,无法确定ip来源了。当然了如果公司使用的是固定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可能有延迟,所以防火墙规则里可能会有多于一条的相同规则,但是不影响功能。

责任编辑:蓝雨泪 来源: 红黑联盟
相关推荐

2012-12-12 14:52:36

2018-08-22 09:15:31

2018-11-27 09:28:41

API攻击恶意

2015-03-27 09:50:37

2012-11-13 17:05:50

2012-11-30 14:54:48

2009-01-16 10:40:50

2015-11-09 15:58:03

2011-07-30 13:01:23

2010-09-08 12:35:51

2011-03-01 10:52:15

2010-10-08 10:03:16

2017-05-08 14:33:51

2012-02-14 09:43:08

2015-02-13 13:11:15

2013-07-27 20:19:14

2010-09-16 20:54:21

2009-10-29 17:47:31

2011-01-18 15:29:46

2010-09-13 09:20:21

点赞
收藏

51CTO技术栈公众号