快速业务通道

Linux iptables防火墙详解 配置抗DDOS攻击策略实战

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-06
{TXpre}))
if [[ $RX -lt 1024 ]];then
RX="${RX}B/s"
elif [[ $RX -gt 1048576 ]];then
RX=$(echo $RX | awk ''{print $1/1048576 "MB/s"}'')
else
RX=$(echo $RX | awk ''{print $1/1024 "KB/s"}'')
fi
if [[ $TX -lt 1024 ]];then
TX="${TX}B/s"

elif [[ $TX -gt 1048576 ]];then

TX=$(echo $TX | awk ''{print $1/1048576 "MB/s"}'')

else

TX=$(echo $TX | awk ''{print $1/1024 "KB/s"}'')

fi

echo -e "$eth t $RX $TX "

done

查看网卡的流量时 rx是接收(receive) tx是发送(transport)
目前流量正常

测试在另外台虚机上尝试用软件不停的访问本机站点,流量提升

假如你认为这流量已是不正常流量,可以用以下命令查看有哪些IP在连接本机80端口,然后进行屏蔽!

netstat -ant | grep ":80" | awk ''{printf "%s %sn",$5,$6}'' | sort

假如你认为0.201IP有可疑,想进行屏蔽,用以下命令

屏蔽流进ip

iptables -I INPUT -s 172.16.0.201 -j DROP

解封屏蔽
iptables -D INPUT -s 172.16.0.201 -j DROP

只屏蔽172.16.0 IP段访问本机80端口,其他端口可以正常,命令如下:
iptables -I INPUT -p tcp --dport 80 -s 172.16.0.201/24 -j DROP

解封屏蔽
iptables -D INPUT -p tcp --dport 80 -s 172.16.0.201/24 -j DROP

测试:用172.16.0.2尝试访问服务80端口

在添加的规则时,REJECT(拒绝)目标和 DROP(放弃)目标这两种行动有所不同.REJECT 会拒绝目标分组的进入,并给企图连接服务的用户返回一个 connection refused 的错误消息.DROP 会放弃分组,而对 telnet 用户不发出任何警告.


命令添加的规则只是临时生效,重起iptables服务后将会恢复,永久进行保存命令service iptables save或者直接修改配置文件
修改完/etc/sysconfig/iptables 防火墙配置文件,需要重起iptables服务才会生效

三、抗DDOS攻击完整策略与讲解

默认的iptables规则是无法过滤DDOS攻击数据的,我们需要添加过滤规则实现iptables拥有抗DDOS的能力

以下防火墙规则是本人真实linux 邮局服务器上的防火墙规则,曾受过100M的SYN DDOS流量攻击,本人服务器国际带宽只有20M,
几乎使整个服务陷于瘫痪状态,后在iptables上增加了SYN过滤规则后,网络基本恢复正常,不掉包延时在100左右,正常情况延时45,但服务邮局服务收发没有任何问题!

系统:Centos 5.5

以上iptable 配置规则讲解:


屏蔽 SYN_RECV 的连接
-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT


限制IP碎片,每秒钟只允许100个碎片,用来防止DoS攻击
-A FORWARD -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT


限制ping包每秒一个,10个后重新开始
-A FORWARD -p icmp -m limit --limit 1/sec --limit-burst 10 -j ACCEPT


限制ICMP包回应请求每秒一个
-A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT


此处自定义一个表
-A FORWARD -j RH-Firewall-1-INPUT


完全接受 loopback interface 的封包
-A RH-Firewall-1-INPUT -i lo -j ACCEPT


允许主机接受 ping
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT


网际网路印表机服务 (可以删除)
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT


允许连线出去后对方主机回应进来的封包
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


允许

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号