分类:
2008-10-15 16:50:27
网络成为当今最热门的话题之一,很多企业为了保障自身或数据都采用了。随着科技的发展,也逐渐被大众所接受。但是,由于防火墙是属于高科技产物,许多的人对此还并不是了解的十分透彻。而这篇文章就是给大家讲述了防火墙工作的方式,以及防火墙的基本分类,并且讨论了每一种防火墙的优缺点。
一、防火墙的基本分类
1.包过滤防火墙
第一代防火墙和最基本形式防火墙检查每一个通过的网络包,或者丢弃,或者放行,取决于所建立的一套规则。这称为包过滤防火墙。
本质上,包过滤防火墙是多址的,表明它有两个或两个以上网络适配器或接口。例如,作为防火墙的设备可能有两块网卡(NIC),一块连到内部网络,一块连到公共的Internet。防火墙的任务,就是作为“通信警察”,指引包和截住那些有危害的包。
包过滤防火墙检查每一个传入包,查看包中可用的基本信息(源地址和目的地址、端口号、等)。然后,将这些信息与设立的规则相比较。如果已经设立了阻断telnet连接,而包的目的端口是23的话,那么该包就会被丢弃。如果允许传入Web连接,而目的端口为80,则包就会被放行。
多个复杂规则的组合也是可行的。如果允许Web连接,但只针对特定的,目的端口和目的地址二者必须与规则相匹配,才可以让该包通过。
最后,可以确定当一个包到达时,如果对该包没有规则被定义,接下来将会发生什么事情了。通常,为了安全起见,与传入规则不匹配的包就被丢弃了。如果有理由让该包通过,就要建立规则来处理它。
建立包过滤防火墙规则的例子如下:
对来自专用网络的包,只允许来自内部地址的包通过,因为其他包包含不正确的包头部信息。这条规则可以防止网络内部的任何人通过欺骗性的源地址发起攻击。而且,如果黑客对专用网络内部的机器具有了不知从何得来的访问权,这种过滤方式可以阻止黑客从网络内部发起攻击。
在公共网络,只允许目的地址为80端口的包通过。这条规则只允许传入的连接为Web连接。这条规则也允许与Web连接使用相同端口的连接,所以它并不是十分安全。
丢弃从公共网络传入的包,而这些包都有你的网络内的源地址,从而减少IP欺骗性的攻击。
丢弃包含源信息的包,以减少源路由攻击。要记住,在源路由攻击中,传入的包包含路由信息,它覆盖了包通过网络应采取得正常路由,可能会绕过已有的安全程序。通过忽略源路2.状态/动态检测防火墙
状态/动态检测防火墙,试图跟踪通过防火墙的网络连接和包,这样防火墙就可以使用一组附加的标准,以确定是否允许和拒绝通信。它是在使用了基本包过滤防火墙的通信上应用一些技术来做到这点的。
当包过滤防火墙见到一个网络包,包是孤立存在的。它没有防火墙所关心的历史或未来。允许和拒绝包的决定完全取决于包自身所包含的信息,如源地址、目的地址、端口号等。包中没有包含任何描述它在信息流中的位置的信息,则该包被认为是无状态的;它仅是存在而已。
一个有状态包检查防火墙跟踪的不仅是包中包含的信息。为了跟踪包的状态,防火墙还记录有用的信息以帮助识别包,例如已有的网络连接、数据的传出请求等。
例如,如果传入的包包含视频数据流,而防火墙可能已经记录了有关信息,是关于位于特定IP地址的应用程序最近向发出包的源地址请求视频信号的信息。如果传入的包是要传给发出请求的相同系统,防火墙进行匹配,包就可以被允许通过。
一个状态/动态检测防火墙可截断所有传入的通信,而允许所有传出的通信。因为防火墙跟踪内部出去的请求,所有按要求传入的数据被允许通过,直到连接被关闭为止。只有未被请求的传入通信被截断。
如果在防火墙内正运行一台服务器,配置就会变得稍微复杂一些,但状态包检查是很有力和适应性的技术。例如,可以将防火墙配置成只允许从特定端口进入的通信,只可传到特定服务器。如果正在运行Web服务器,防火墙只将80端口传入的通信发到指定的Web服务器。
状态/动态检测防火墙可提供的其他一些额外的服务有:
将某些类型的连接重定向到审核服务中去。例如,到专用Web服务器的连接,在Web服务器连接被允许之前,可能被发到SecutID服务器(用一次性口令来使用)。
拒绝携带某些数据的网络通信,如带有附加可执行程序的传入电子消息,或包含ActiveX程序的Web页面。
跟踪连接状态的方式取决于包通过防火墙的类型:
TCP包。当建立起一个TCP连接时,通过的第一个包被标有包的SYN标志。通常情况下,防火墙丢弃所有外部的连接企图,除非已经建立起某条特定规则来处理它们。对内部的连接试图连到外部主机,防火墙注明连接包,允许响应及随后再两个系统之间的包,直到连接结束为止。在这种方式下,传入的包只有在它是响应一个已建立的连接时,才会被允许通过。
UDP包。UDP包比TCP包简单,因为它们不包含任何连接或序列信息。它们只包含源地址、目的地址、校验和携带的数据。这种信息的缺乏使得防火墙确定包的合法性很困难,因为没有打开的连接可利用,以测试传入的包是否应被允许通过。可是,如果防火墙跟踪包的状态,就可以确定。对传入的包,若它所使用的地址和UDP包携带的与传出的连接请求匹配,该包就被允许通过。和TCP包一样,没有传入的UDP包会被允许通过,除非它是响应传出的请求或已经建立了指定的规则来处理它。对其他种类的包,情况和UDP包类似。防火墙仔细地跟踪传出的请求,记录下所使用的地址、和包的类型,然后对照保存过的信息核对传入的包,以确保这些包是被请求的。
由信息,防火墙可以减少这种方式的攻击。
[1]
|