打造“应用连接”防火墙

本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。
msn: [email protected]
来源:http://yfydz.cublog.cn

1. 前言
 
现在的防火墙基本都是采用了"状态检测"技术,但保持的连接只达到传输层,对于目前越来越高的关于数据内容级别的检测要求,此级别的防火墙基本是力不从心。通常的做法是继续分析应用层的数据内容,但大多数只能基于单个数据包的内容,有些防火墙能实现数据包的重组。但这是远远不够的,因为其本质还是只对部分数据进行检测,并没有将其上升到应用层连接的程度,无法对数据的整体有明确的把握,因此很容易造成误判。
 
2. 应用连接
 
本文提出的“应用连接”技术,就是将连接信息继续扩展,连接中保存了网络层连接数据、传输层连接数据和应用层连接数据,各种层次过滤策略直接作用于连接的各个层次,对各个层次的网络攻击使用对应层次的防御策略,普通TCP/IP层的过滤由网络层、传输层连接处理,应用层上的过滤由应用层连接处理,从而对数据能进行从IP层到应用层的全方位识别和控制。
 
使用“应用连接”技术,在网络层和传输层建立了合法连接后,继续跟踪应用层的数据,监控应用层的连接情况,检测其数据是否合法,随时判断出该数据包中的应用数据属于应用层协议中的哪个状态,进而根据策略对数据进行通过、修改、删除或断开连接等处理,由于能识别出每个数据包对应于应用层连接的各阶段,从而能确定出该数据所表示的确切内容,实现极高的安全和准确性。比如说P2P软件的协商数据,由于可能是在任何一个端口进行,靠端口来识别协议是不可行的,而普通分析包内容由于没有以前应用层的连接信息,并不知道该数据到底是协商数据还是具体的传输数据,因此误判的可能性非常大,“应用连接”则不同,由于一直跟踪了应用层连接信息,能很清楚地识别到底是协议控制信息还是具体文件内容数据,对协议控制信息就信息控制处理,对文件内容数据就直接放过,因此不会有误判的问题。
 
“应用连接”技术可以全部在内核中实现,和应用层的代理技术完全不同,可以处理任何协议,实现安全和效率的完美统一。
 
3. “应用连接”可实现以下特殊功能
 
1) 对网络层、传输层进行更直接的控制:对于连接的QoS参数,时间控制,流量限制等控制得更严格,如QoS参数可以设置给属于该连接的每个包;一旦连接期限到,不论数据是否合法,主动断开连接;
 
2) 只对指定的连接进行内容过滤,不影响其他连接:“应用连接”将控制策略下放到连接,每个合法数据包进入防火墙后先被归属到连接,根据连接的过滤策略决定其处理,这样即使是反向数据或子连接数据,都可以按指定的策略进行单独处理,比如一个连接过滤一个HTTP服务器页面中的脚本,另一个连接过滤同样HTTP 服务器中页面中的图像,两者不会冲突;
 
3) 实现对子连接的全面控制:“应用连接”技术对子连接也能进行细粒度控制,一旦发现是子连接,会自动将主连接的控制参数施加到子连接上,如流量限制、时间控制、QoS控制等,包括内容级控制;
 
4) 实现对数据的自动重组:“应用连接”技术在单个数据包中的数据不足以进行合法性判断的情况下,自动会等待后续数据包进行数据的重组,直到能提取出所需要的信息,通常在提取以下信息时会对数据进行重组:提取URL、提取HTTP/SMTP/POP等协议的头部字段、FTP命令等,这样保证不会因为敏感信息由于在不同数据包而导致识别失败;注意这是个自动的过程,需要重组就重组,不需要就不重组以提高效率;
 
5) 实现对单IP地址的连接数、连接率的限制:“应用连接”自动统计每个源IP的连接数和连接率,可根据策略进行限制,可以有效防止DOS攻击;
 
6) 实现对协议合法性的检测:“应用连接”能检测在知名端口中的数据是否是正确的协议格式数据,如检测TCP80端口中数据是否满足HTTP协议,TCP21 端口数据是否满足FTP协议,可以分别检测客户端和服务器端的数据格式,从而防止在知名端口上进行非法通信的情况,可以有效防御如http tunnel等工具进行的阈下通信;
 
7) 实现对协议数据的可靠识别:现在很多协议都使用动态的端口,如各种P2P协议,靠端口识别协议的方法已经无效,判断是否符合某种协议只能通过对应用层数据进行判断,普通基于单个数据包内容的判断方式很容易造成误判,而“应用连接”技术从有应用层数据传输开始就进行应用层协议的跟踪判断和识别,能识别出该数据包是属于应用连接的哪个阶段的数据,可判断出数据包内容是描述具体的协议的数据还是普通文件数据,不会造成误判;
 
8) 实现对应用层DOS攻击的防御:一般的DOS攻击和防御都是在网络层或传输层进行,而对于应用层的DOS攻击,如CC攻击,普通的DOS防御方法均无效,而“应用连接”技术可以自动采用cc cookie等技术来防御CC攻击,而且自动识别哪些是已经验证过的连接,可以直接放行;哪些是新连接,需要进行cookie验证。

4. 结论
 
“应用连接”技术是状态检测技术的扩展,重点在于连接中增强关于应用层的状态信息,从而具体应用层的高度的安全和准确性,而应用层协议的众多可能是其实现的难点,目前市场的防火墙产品还没有能明确全面支持此技术的,让我们拭目以待谁能最快推出具有“应用连接”特征的防火墙。

猜你喜欢

转载自cxw06023273.iteye.com/blog/866878