针对上述SYN Flood 攻击防御方案存在的不足,解决方案是创建一个特殊的脚本ipdrop,以便能动态插入一个规则来阻塞指定的IP。通过该脚本阻塞某个IP,只须几秒钟就可以实现,而且还可有效防止手工加入规则导致的人为错误。这样,阻塞攻击的主要任务就可以简化为攻击源地址的确定了。
创建ipdrop脚本的关键,在于如何实现规则的动态添加和删除。例如,假设10.10.138. 224已经确定为攻击源地址,添加的规则会将该IP地址发送的数据报全部过滤;但是一段时间之后,很可能攻击停止并且该主机又发出正常的连接请求,此时应删除之前已设定的规则。采取的方法是在终端中输入命令,格式为:ip地址on /off,然后脚本在规则库中相应地自动添加如下规则:
- iptables $OPERATION INPUT -s [ip地址] -j DROP
其中,$OPERATION变量的值取决于终端命令行参数中是使用on还是off模式。如果是on$OPERATION变量的值即为"-I"(插入);如果是"off",$OPERATION变量的值即为"-D"(删除)。当iptables行被执行时,特定的规则将动态地插入或删除。例如:
- #ipdrop 10.10.38.124 on
- IP 10.10.38.124.drop on
ipdrop脚本将立即阻塞10.10.38.124。ipdrop脚本可以和任何类型的防火墙一起发挥作用,通过该脚本阻塞某个IP将是非常容易的工作,只需要几秒钟就可以实现。但是如果发生大规模DDoS攻击,该脚本在响应速度上仍然存在局限。即使攻击方使用的都是真实IP地址,也需要一条一条从终端中输入大量的命令,这将是极其费时费力的工作,显然远远跟不上攻击速度。因此,更好的办法是将ipdrop脚本与入侵检测集成在一起,由入侵检测软件锁定攻击源IP地址,然后自动传递到iptables中,进而实现地址过滤。
【责任编辑: book TEL:(010)68476606】
|