包过滤型防火墙是最常见的防火墙类型,它位于Internet和内部网络之间。包过滤型防火墙在网络之间完成数据包转发的普通路由功能,并利用包过滤规则来允许或拒绝数据包。一般情况下,包过滤型防火墙定义的过滤规则为:内部网络上的主机可以直接访问Internet,Internet上的主机对内部网络上的主机进行访问是有限制的,这种类型防火墙系统的外网端口默认设置为对没有特别允许的数据包都拒绝。
包过滤防火墙对所接收的每个数据包做允许或拒绝的动作,防火墙审查每个数据包以便确定其是否与某一条包过滤规则匹配。过滤规则基于IP包的包头信息,包头信息中包括 IP源地址、IP目标地址、TCP/UDP目标端口、ICMP消息类型,如果有匹配并且规则允许该数据包通过,那么该数据包就会按照路由表中的信息被转发;如果匹配并且规则拒绝该数据包,那么该数据包就会被丢弃;如果没有匹配规则,用户配置的默认参数会决定是转发还是丢弃数据包。
网络管理员可以根据管理的需要设定包过滤防火墙的过滤规则,一般情况下,典型的过滤规则包括以下内容。
(1)允许外部的WWW客户访问指定的内部主机。
(2)允许外部的FTP会话与指定的内部主机连接。
(3)允许外部的Telne会话与指定的内部主机连接。
(4)允许外部的SMTP会话与指定的内部主机连接。
(5)允许所有外出的数据包。
(6)拒绝所有来自外部主机的数据包。
针对不同类型的攻击,需采用不同的方法来应对。
特定的源IP地址欺骗式攻击(Source IP Address Spoofing Attacks)。这种类型的攻击的特点是黑客从外部传输一个假装是来自内部主机的数据包,即数据包中所包含的IP地址为内部网络上的IP地址。希望通过冒用源IP地址来渗透到只使用了源地址安全功能的系统中。在这样的系统中,来自内部的信任主机的数据包被接收,而来自其他主机的数据包全部被丢弃。对于源IP地址欺骗式攻击,可以利用丢弃所有来自包过滤防火墙外部端口的,使用内部源地址的数据包的方法来防范。
源路由攻击(Source Routing Attacks)。这种类型的攻击的特点是源站点指定了数据包在 Internet中所走的路线。这种类型的攻击是为了旁路安全措施,并导致数据包循着一个对方不可预料的路径到达目的地,只需丢弃所有含源路由选项的数据包即可防范这种类型的攻击。
极小数据段式攻击(Tiny Fragment Attacks)。这种类型的攻击的特点是入侵者使用了IP分段的特性,创建极小的分段并强行将TCP头信息分成多个数据包段,这种攻击是为了绕过用户定义的过滤规则。黑客寄希望于包过滤防火墙只检查第1个分段,而允许其余的分段通过。对于这种类型的攻击,只要丢弃协议类型为TCP,IP FragmentOffset等于1的数据包就可以进行控制。