从防火墙防护范围讲,可以大体分为主机防火墙和网络防火墙。主机防火墙:作用于单个机算机系统,例如个人电脑上windows自带的防火墙,linux系统上的iptables。网络防火墙:往往处于网络入口或边缘,对企业网络入口进行防护,服务范围为整个企业的内部网络。中小企业可以使用一台x86服务器运用linux的iptables搭建功能强大的网络防火墙。从产品形态讲,防火墙可以分为硬件防火墙和软件防火墙。软件防火墙iptables,其实它并不是真正的防火墙,我们可以理解它为一个命令行工具,位于用户空间,我们用这个工具操作“安全框架”,这周在Ubuntu环境下学习了iptables的基本规则,实际操作增删改查。根据材料总结了一下几点。
1. 常用语法
(1)匹配指定协议。
-p,—protocol
A. 名字不分大小写,但必须是在/etc/protocols中定义的;
B. 可以使用协议相应的整数值。例如,ICMP的值是1,TCP是6,UDP是17;
C. 不指定为ALL,相应数值是,要注意这只代表匹配TCP、UDP、ICMP,而不是/etc/protocols中定义的所有协议;
D. 可以是协议列表,以英文逗号为分隔符,如:udp,tcp;
E. 可以在协议前加英文的感叹号表示取反,注意有空格,如:--protocol ! tcp表示非TCP协议,也就是UDP和ICMP。可以看出这个取反的范围只是TCP、UDP和ICMP。
(2)以IP源地址匹配包。
-s,—src,—source
A. 单个地址,如192.168.0.1,也可写成192.168.0.1/255.255.255.255或192.168.0.1/32;
B. 网络,如192.168.0.0/24,或192.168.0.0/255.255.255.0;
C. 在地址前加英文感叹号表示取反,注意空格,如--source ! 192.168.0.0/24表示除此地址外的所有地址;
D. 缺省是所有地址。
(3)以IP目的地址匹配包。
-d,—dst,—destination
(4)以包进入本地使用的网络接口匹配包。
-i
A. 指定接口名称,如:eth0、ppp0等;
B. 使用通配符,即英文加号,它代表字符数字串。若直接用一个加号,即iptables -A INPUT -i +表示匹配所有的包,而不考虑使用哪个接口。通配符还可以放在某一类接口的后面,如:eth+表示匹配所有从Ethernet接口进入的包;
C. 在接口前加英文感叹号表示取反,如:-i ! eth0意思是匹配来自除eth0外的所有包。
(6)匹配通信源端口。
—source-port,—sport
注明:当通信协议为TCP或UDP时,可以指定匹配的源端口,但必须与匹配协议相结合使用
(7)匹配通信源端口。
— destination-port,—dport
2. 常见操作(搜索得来,根据此表实践)
iptables的基本规则