服务器防火墙从结构上可分为软件防火墙和硬件防火墙,从技术上可分为“包过滤型”、“应用代理型”和“状态监视”三类。一个防火墙的实现过程多么复杂,归根结底都是在这三种技术的基础上进行功能扩展的。
1. 包过滤型
包过滤是最早使用的一种防火墙技术,它的第一代模型是静态包过滤,工作在OSI模型中的网络层上,之后发展出来的动态包过滤则是工作在OSI模型的传输层上。包过滤防火墙工作的地方就是各种基于TCP/IP协议的数据报文进出的通道,它把这网络层和传输层作为数据监控的对象,对每个数据包的头部、协议、地址、端口、类型等信息进行分析,并与预先设定好的防火墙过滤规则进行核对,一旦发现某个包的某个或多个部分与过滤规则匹配并且条件为“阻止”的时候,这个包就会被丢弃。
基于包过滤技术的防火墙的优点是对于小型的、不太复杂的站点,比较容易实现。但是其缺点是很显著的,首先面对大型的,复杂站点包过滤的规则表很快会变得很大而且复杂,规则很难测试。随着表的增大和复杂性的增加,规则结构出现漏洞的可能性也会增加。其次是这种防火墙依赖于一个单一的部件来保护系统。如果这个部件出现了问题,或者外部用户被允许访问内部主机,则它就可以访问内部网上的任何主机。
2. 应用代理型
应用代理防火墙,实际上就是一台小型的带有数据检测过滤功能的透明代理服务器,但是它并不是单纯的在一个代理设备中嵌入包过滤技术,而是一种被称为应用协议分析的新技术。应用代理防火墙能够对各层的数据进行主动的,实时的监测,能够有效地判断出各层中的非法侵入。同时,这种防火墙一般还带有分布式探测器, 能够检测来自网络外部的攻击,同时对来自内部的恶意破坏也有极强的防范作用。
应用代理型防火墙基于代理技术,通过防火墙的每个连接都必须建立在为之创建的代理程序进程上,而代理进程自身是要消耗一定时间,于是数据在通过代理防火墙时就不可避免的发生数据迟滞现象,代理防火墙是以牺牲速度为代价换取了比包过滤防火墙更高的安全性能。
3. 状态监视型
这种防火墙技术通过一种被称为“状态监视”的模块,在不影响网络安全正常工作的前提下采用抽取相关数据的方法对网络通信的各个层次实行监测,并根据各种过滤规则作出安全决策。状态监视可以对包内容进行分析,从而摆脱了传统防火墙仅局限于几个包头部信息的检测弱点,而且这种防火墙不必开放过多端口,进一步杜绝了可能因为开放端口过多而带来的安全隐患。