防火墙又称为防护墙,是一种处于内部网络与外部网络之间的网络安全系统,依照特定的规则,允许或限制数据传输的通过。
从实现原理上分,防火墙技术主要分成四大类:
一、网络级防火墙
网络级防火墙一般是基于源地址和目的地址、应用、协议以及每个IP包的端口来作出通过与否的判断。一个路由器便是一个“传统”的网络级防火墙,大多数的路由器都能通过检查这些信息,决定是否将所收到的包转发,但它不能判断出一个IP包来自何方和去向何处。防火墙检查每一条规则直至发现包中的信息与某规则相符。如果没有一条规则能符合,防火墙就会使用默认规则,一般情况下,默认规则就是要求防火墙丢弃该包。其次,通过定义基于TCP或UDP数据包的端口号,防火墙能够判断是否允许建立特定的连接,如Telnet、FTP连接。
二、应用级网关
应用级网关能够检查进出的数据包,通过网关复制传递数据,防止在受信任服务器和客户机与不受信任的主机间直接建立联系。应用级网关能够理解应用层上的协议,能够做复杂一些的访问控制,并做精细的注册和稽核。它针对特别的网络应用服务协议即数据过滤协议,并且能够对数据包分析并形成相关的报告。应用网关对某些易于登录和控制所有输出输入的通信的环境给予严格的控制,以防有价值的程序和数据被窃取。 在实际工作中,应用网关一般由专用工作站系统来完成。但每一种协议需要相应的代理软件,使用时工作量大,效率不如网络级防火墙。 应用级网关有较好的访问控制,是目前最安全的防火墙技术,但实现困难,而且有的应用级网关缺乏“透明度”。在实际使用中,用户在受信任的网络上通过防火墙访问Internet时,经常会发现存在延迟并且必须进行多次登录(Login)才能访问Internet或Intranet。
三、规则检查防火墙
该防火墙结合了包过滤防火墙、电路级网关和应用级网关的特点。它同包过滤防火墙一样,规则检查防火墙能够在OSI网络层上通过IP地址和端口号,过滤进出的数据包。它也象电路级网关一样,能够检查SYN和ACK标记和序列数字是否逻辑有序。当然它也象应用级网关一样,可以在OSI应用层上检查数据包的内容,查看这些内容是否能符合企业网络的安全规则。规则检查防火墙虽然集成前三者的特点,但是不同于一个应用级网关的是,它并不打破客户机/服务器模式来分析应用层的数据,它允许受信任的客户机和不受信任的主机建立直接连接。规则检查防火墙不依靠与应用层有关的代理,而是依靠某种算法来识别进出的应用层数据,这些算法通过已知合法数据包的模式来比较进出数据包,这样从理论上就能比应用级代理在过滤数据包上更有效。
四、电路级网关
电路级网关用来监控受信任的客户或服务器与不受信任的主机间的TCP握手信息,这样来决定该会话(Session)是否合法,电路级网关是在OSI模型中会话层上来过滤数据包,这样比包过滤防火墙要高二层。电路级网关还提供一个重要的安全功能:代理服务器(Proxy Server)。代理服务器是设置在Internet防火墙网关的专用应用级代码。这种代理服务准许网管员允许或拒绝特定的应用程序或一个应用的特定功能。包过滤技术和应用网关是通过特定的逻辑判断来决定是否允许特定的数据包通过,一旦判断条件满足,防火墙内部网络的结构和运行状态便“暴露”在外来用户面前,这就引入了代理服务的概念,即防火墙内外计算机系统应用层的“链接”由两个终止于代理服务的“链接”来实现,这就成功地实现了防火墙内外计算机系统的隔离。
同时,代理服务还可用于实施较强的数据流监控、过滤、记录和报告等功能。代理服务技术主要通过专用计算机硬件(如工作站)来承担。