扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
首先应用代理与数据包内容过滤不同,应用代理之所以能够对应用层进行完整的保护,在于其借助操作系统的TCP协议栈对于出入网络的应用数据包进行完全重组,并从操作系统提供的接口(socket)中以数据流的方式提取应用层数据;而包过滤防火墙中的数据包内容过滤仅能对当前正在通过的单一数据包的内容进行分析和判断,这两者在保护能力上存在本质的不同。举个例子来说,一个携带攻击特征的URL访问可能有256个字节,如果它们在一个数据包中传送,那么两种技术的防火墙都能够发现并拦截,但是如果这个URL被TCP协议栈分解成10个小的IP数据包,并且以乱序的方式发送给目标服务器,则包过滤防火墙根本无法识别这个攻击的企图。而应用代理则完全不会受到干扰,依然能够识别并进行拦截,因为数据包在网关的TCP协议栈中被按照正确的顺序有效的重新组合成数据流后才到达防火墙的过滤模块,它看到的仍然是完整的数据流。
基于ASA适应性安全算法的思科防火墙能够提供近似于代理防火墙的应用层保护能力,关键在于其ASA适应性安全算法架构中的状态连接,依据TCP协议的定义对出入防火墙的数据包进行了完整的重组,重组后的数据流交给应用层过滤逻辑进行过滤,从而可以有效的识别并拦截应用层的攻击企图。
“ASA适应性安全算法”与“应用代理(网关)”技术的比较
防火墙透明性
应用代理一般建立在操作系统中提供的socket接口之上,提供这个接口的普通TCP协议栈是为主机对外提供服务和对外进行访问而实现的,为了使用这个协议栈进行数据包重组,防火墙本机必须存在TCP的访问点,即IP地址和端口。这导致应用代理对于应用协议来说不可能是透明的,应用协议需要“知道”并且“允许”这个中间环节的存在。而这个条件在很多时候是不能够满足的。用户如果要部署应用代理防火墙,通常要对其网络拓扑结构和应用系统的部署进行调整。举一个简单的例子:我们必须在浏览器中设定代理网关的IP地址和端口才可能使浏览器按照存在一个中间代理的方式访问网站,换句话说,浏览器需要“知道”这个代理的存在。那么对于其他类型的应用协议呢?很多时候,应用协议的设计并不允许我们在其中增加一个过滤环节,这意味着应用代理防火墙提供应用保护的协议范围是有限的。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。