Linux系统下防火墙配置
有没有这方面的朋友,看一看下面做的规则有什么需要改进的地方:
代码:
#--以下为iptables规则设置--
iptables -N input_ext
iptables -F input_ext # 新建iptables队列
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # 激活状态检测
iptables -A INPUT -i eth0 -j input_ext # 扩展input规则
iptables -A INPUT -j DROP # 默认input规则,丢弃全部
iptables -A input_ext -p tcp -m tcp --dport 80 --tcp-flags SYN,RST,ACK SYN -m u32 --u32 "0x2&0xffff=0x100&&0x5&0xff=0x4a:0x5f" -j DROP # 本次syn-flood攻击指纹特征,丢弃
iptables -A input_ext -p tcp -m tcp --dport 80 --tcp-flags SYN,RST,ACK SYN -m connlimit --connlimit-above 5 --connlimit-mask 32 -j TARPIT # 防止连接耗尽攻击,每IP并发连接限制为4
iptables -A input_ext -p tcp -j TARPIT # 防止端口扫描攻击
iptables -A input_ext -m pkttype --pkt-type broadcast -j DROP # 丢弃广播数据包
iptables -A input_ext -p icmp -m limit --limit 6/s -m icmp --icmp-type 4 -j ACCEPT # 接受icmp traceroute/echo reply数据,限制流量 5个/秒
iptables -A input_ext -p icmp -m limit --limit 6/s -m icmp --icmp-type 8 -j ACCEPT
iptables -A input_ext -p icmp -m length --length 48:256 -j ACCEPT # 限制icmp包大小为 0 - 256Byte,防止大包flood
----欢迎交流