天天看点

主机安全(2)iptables的filter应用

            iptables的工作流程图

主机安全(2)iptables的filter应用

     数据从网卡穿过IP层必经过链PREROUTING,再经过路由选择接收还是转发,分别走INPUT FORWARD不同的链.

     从INPUT链经过的数据包进入本地系统进行处理,从本地系统出来经OUTPUT的数据和转发FORWARD出来的数据经由POSTROUTING链发出穿越IP数据层.

iptables主要功能就是在数据穿越IP层时在各链上对数据包进行规则限制.根据规则的不同的功能形成三种不同功能的表natmangle filter,三个表常作用的链图已标明,通过这三个表可以很方便的对数据包进行管理过滤.

Filter 包过滤功能

filter表是专门过滤包的,内建三个链,可以对包进行DROP、LOG、ACCEPT和REJECT等操作。FORWARD链过滤所有不是本地产生的并且目的地不是本地(所谓本地就是防火墙了)的包,而INPUT恰恰针对那些目的地是本地的包。OUTPUT 是用来过滤所有本地生成的包的。

#iptables -t filter -A INPUT -s 10.0.0.5 -jDROP  凡是来自10.0.0.5包丢弃

#iptables -t filter -nL INPUT-V

查看INPUT链的filter详细(-V)规则 并显示IP不做解析(-n)

#iptables -t filter -FINPUT 清空INPUT中filter规则

#iptables -I INPUT 1 -s 10.0.0.4 -jDROP 丢弃来自10.0.0.4的包并成为规则的第一项 缺省filter

#iptables -A FORWARD -miprange --src-range 192.168.1.5-192.168.1.124 -j ACCEPT

#iptables -A FORWARD -m iprange--dst-range 10.0.0.0-10.255.255.255 -jACCEPT

以上二例是允许目标ip/源ip地址范围的包通过

#iptables -t filter -D INPUT2 删除第二条规则

#iptables -t filter -P FORWARDDROP 修改FORWARD链的缺省策略

注: -I指所有规则前插入(优先起作用) -A表插入到表末(iptables -nL可看出)

#iptables -A FORWARD -p TCP --dport 22 -jREJECT --reject-with tcp-reset

#iptables -A FORWARD -i eth0 -o eth1 -p udp-j DROP 凡是从外网(eth0)去DMZ(eth1)的udp包丢弃

注:当条件中有-p 协议号时 后可有更详细的匹配

A: -p icmp icmp扩展即被装入 可指定icmp类型(类型详见#iptables -p icmp -h)

例:iptables-t filter -A INPUT -p icmp --icmp-type echo-request -j DROP不允许ping主机

B:-p udp udp扩展装入 --sport/dport [!] port[:port]单个端口或一端口范围

例:#iptables -A FORWARD -p tcp -d 198.168.80.11 --dport www -i eth0 -j ACCEPT 开放www

C: -p tcp同上格式 重点匹配 --tcp-flags [!] maskcomp mask关第状态位comp为1的状态位

   例:#iptables -t filter -A FORWORD -i eth0 -o eth1 -p tcp

-i, --in-interface