WEB开发网
开发学院网络安全防火墙 基于Linux系统的包过滤防火墙(2) 阅读

基于Linux系统的包过滤防火墙(2)

 2006-04-03 12:36:56 来源:WEB开发网   
核心提示: #iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 192.168.2.100 --dport 80 -j ACCEPT并且这时的FORWARD的策略(policy)为DROP时,系统只会让第一个ip碎片通过,基于Linux系统的包过滤防火墙(

#iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 192.168.2.100 --dport 80 -j ACCEPT

并且这时的FORWARD的策略(policy)为DROP时,系统只会让第一个ip碎片通过,而丢掉其余的ip碎片,因为第一个碎片含有完整的包头信息,可以满足该规则的条件,而余下的碎片因为包头信息不完整而无法满足规则定义的条件,因而无法通过。

可以通过-fragment/-f选项来指定第二个及其以后的ip碎片,以上面的例子为例,我们可以再加上这样一条规则来解决这个问题:

#iptables -A FORWARD -f -s 192.168.1.0/24 -d 192.168.2.100 -j ACCEPT

但是需要注意的是,现在已经有许多进行ip碎片攻击的实例(例如向Win98 NT4SP5,6 Win2K发送大量的ip碎片进行DoS攻击),因此允许ip碎片通过是有安全隐患的,对于这一点可以采用iptables的匹配扩展来进行限制。

2.3.3 设置扩展的规则匹配

要获得匹配的简要说明,可以使用如下的命令:

#iptables -m name_of_match -help

下面举例说明iptables的扩展规则匹配(忽略目标动作):

(1)多端口匹配扩展。

1)匹配多个源端口。

#iptables -A INPUT -p tcp -m multiport-source-port 22,53,80,110

2)匹配多个目的端口

#iptables -A INPUT -p tcp -m multiport-destionation-port 22,53,80,110

3)匹配多个端口(无论源源端口还是目的端口)。

#iptables -A INPUT -p tcp -m multiport -port 22,53,80,110

(2)指定TCP匹配扩展

通过使用-tcp-flags选项可以根据tcp包的标志位进行过滤,该选项后接两个参数:第一个参数为要检查的标志位,可以是SYN、ACK、FIN、URG、PSH的组合,可以用ALL指定所有标志位:第二个参数是标志位值为1的标志。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:基于 Linux

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接