包过滤防火墙的作用

2017-03-09

有一种防火墙叫做包过滤防火墙,大家对这种防火墙的作用或者知识了解有多少?下面就让小编为大家介绍一下包过滤防火墙以及它的作用吧,希望能对大家有帮助。

包过滤防火墙是什么:

包过滤防火墙是用一个软件查看所流经的数据包的包头(header),由此决定整个包的命运。它可能会决定丢弃(DROP)这个包,可能会接受(ACCEPT)这个包(让这个包通过),也可能执行其它更复杂的动作。在Linux系统下,包过滤功能是内建于核心的(作为一个核心模块,或者直接内建),同时还有一些可以运用于数据包之上的技巧,不过最常用的依然是查看包头以决定包的命运。 包过滤防火墙将对每一个接收到的包做出允许或拒绝的决定。具体地讲,它针对每一个数据包的包头,按照包过滤规则进行判定,与规则相匹配的包依据路由信息继续转发,否则就丢弃。包过滤是在IP层实现的,包过滤根据数据包的源IP地址、目的IP地址、协议类型(TCP包、UDP包、ICMP包)、源端口、目的端口等包头信息及数据包传输方向等信息来判断是否允许数据包通过。 包过滤也包括与服务相关的过滤,这是指基于特定的服务进行包过滤,由于绝大多数服务的监听都驻留在特定TCP/UDP端口,因此,为阻断所有进入特定服务的链接,防火墙只需将所有包含特定TCP/UDP目的端口的包丢弃即可。

包过滤防火墙的作用:

包过滤防火墙是最简单的一种防火墙,它在网络层截获网络数据包,根据防火墙的规则表,来检测攻击行为。包过滤防火墙一般作用在网络层(IP层),故也称网络层防火墙(Network Lev Firewall)或IP过滤器(IP filters)。数据包过滤(Packet Filtering)是指在网络层对数据包进行分析、选择。通过检查数据流中每一个数据包的源IP地址、目的IP地址、源端口号、目的端口号、协议类型等因素或它们的组合来确定是否允许该数据包通过。在网络层提供较低级别的安全防护和控制。

包过滤防火墙的技术优点:

→对于一个小型的、不太复杂的站点,包过滤比较容易实现。

→因为过滤路由器工作在IP层和TCP层,所以处理包的速度比代理服务器快。

→过滤路由器为用户提供了一种透明的服务,用户不需要改变客户端的任何应用程序,也不需要用户学习任何新的东西。因为过滤路由器工作在IP层和TCP层,而IP层和TCP层与应用层的问题毫不相关。所以,过滤路由器有时也被称为"包过滤网关"或"透明网关",之所被称为网关,是因为包过滤路由器和传统路由器不同,它涉及到了传输层

。→过滤路由器在价格上一般比代理服务器便宜。

包过滤防火墙的技术缺点:

→一些包过滤网关不支持有效的用户认证。

→规则表很快会变得很大而且复杂,规则很难测试。随着表的增大和复杂性的增加,规则结构出现漏洞的可能 性也会增加。

→这种防火墙最大的缺陷是它依赖一个单一的部件来保护系统。如果这个部件出现了问题,会使得网络大门敞开,而用户甚至可能还不知道。

→在一般情况下,如果外部用户被允许访问内部主机,则它就可以访问内部网上的任何主机。

→包过滤防火墙只能阻止一种类型的IP欺骗,即外部主机伪装内部主机的IP,对于外部主机伪装外部主机的IP欺骗却不可能阻止,而且它不能防止DNS欺骗。虽然,包过滤防火墙有如上所述的缺点,但是在管理良好的小规模网络上,它能够正常的发挥其作用。一般情况下,人们不单独使用包过滤网关,而是将它和其他设备(如堡垒主机等)联合使用。包过滤的工作是通过查看数据包的源地址、目的地址或端口来实现的,一般来说,它不保持前后连接信息,过滤决定是根据 当前数据包的内容来做的。管理员可以做一个可接受机和服务的列表,以及一个不可接受机和服务的列表。在主机和网络一级,利用数据包过滤很容易实现允许或禁止访问。由此不难看出这个层次的防火墙的优点和弱点,由于防火墙只是工作在OSI的第三层(网络层)和第四层(传输层),因此包过滤的防火墙的一个非常明显的优势就是速度,这是因为防火墙只是去检查数据报的报头,而对数据报所携带的内容没有任何形势的检查,因此速度非常快。与此同时,这种防火墙的缺点也是显而易见的,比较关键的几点如下所述。

(1)由于无法对数据报的内容进行核查,一次无法过滤或审核数据报的内容体现这一问题的一个很简单的例子就是:对某个端口的开放意味着相应端口对应的服务所能够提供的全部功能都被开放,即使通过防火墙的数据报有攻击性,也无法进行控制和阻断。例如在一个简单的Web服务器,而包过滤的防火墙无法对数据报内容进行核查。因此,未打相应补丁的提供Web服务的系统,及时在防火墙的屏蔽之后,也会被攻击着轻易获取超级用户的权限。

(2)由于此种类型的防火墙工作在较低层次,防火墙本身所能接触的信息较少,所以它无法提供描述细致事件的日志系统。此类防火墙生成的日志常常只是包括数据报捕获的时间、网络层的IP地址、传输层的端口等非常原始的信息。至于这个数据报内容是什么,防火墙不会理会,而这对安全管理员而言恰恰是很关键的。因为及时一个非常优秀的系统管理员,一旦陷入大量的通过/屏蔽的原始数据包信息中,往往也是难以理清头绪,这在发生安全事件时给管理员的安全审计带来很大的困难。

(3)所有可能用到的端口(尤其是大于1024的端口)都必须开放,对外界暴露,从而极大地增加了被攻击的可能性通常对于网络上所有服务所需要的数据包进出防火墙的二端口都要仔细考虑,否则会产生意想不到的情况。然而我们知道,当被防火墙保护的设备与外界通信时,绝大多数应用要求发出请求的系统本身提供一个端口,用来接收外界返回的数据包,而且这个端口一般是在1024到65536之间不确定的,如果不开放这些端口,通信将无法完成,这样就需要开放1024以上的全部端口,允许这些端口的数据包进出。而这就带来非常大的安全隐患。例如:用户网中有一台UNIX服务器,对内部用户开放了RPC服务,而这个服务是用在高端口的,那么这台服务器非常容易遭到基于RPC应用的攻击。

(4)如果网络结构比较复杂,那么对管理员而言配置访问控制规则将非常困难当网络发展到一定规模时,在路由器上配置访问控制规则将会非常繁琐,在一个规则甚至一个地址处出现错误都有可能导致整个访问控制列表无法正常使用。

更多相关阅读

最新发布的文章