问:为什么代理防火墙适用于应用安全?
答:我认为描述应用代理防火墙好处的最好方式是看其它防火墙技术的缺点。有三类常见的防火墙:包过滤防火墙,基于状态检查的防火墙或电路级网关,代理防火墙或应用级网关。所有这三类防火墙对比规则分析进入的数据包然后决定是阻拦还是允许这些数据包通过,但是从分析数据包的层面可以区分它们。
包过滤亦称网络层防火墙运行在OSI(开发系统互联)模型的第3层,并且位于进入和外出网络流量之间能够将组织的网络和其它网络域分离开来。这类防火墙检测每个数据包的头信息,并且通过将数据包的源、目的地址、网络端口、协议类型和一套规则进行对比来阻拦或允许它通过。这类“无状态”的防火墙单独地基于每个数据包中包含的信息来决策,无法知晓任何流量模式或数据流。这使得它们很容易受到欺骗攻击和其它基于协议的网络攻击。
为了在一个更大的网络通信会话环境中评估每个数据包,运行于OSI模型第5层的状态防火墙记录通过它们的所有连接。通过追踪网络连接的状态它们拥有更多的完整信息,并且可以丢弃那些与已知连接状态不匹配的数据包。尽管状态防火墙能够阻拦许多网络协议级的攻击,它们不能检查穿梭于应用和用户之间的每个数据包包含的实际负载。这样就允许畸形或不期望的数据传输并且利用特定应用的漏洞例如缓冲区溢出或SQL注入。
运行于OSI模型第7层的应用代理防火墙有更高级的检测能力。这类防火墙实际上不允许数据包直接在应用程序和用户之间传递。相反所有的流量被拦截然后通过代理连接来传递。这意味着有两个网络连接:一个在用户和代理服务器之间,另一个在代理服务器和应用程序之间。代理防火墙双向地接收、检查和转发客户端和应用之间的所有流量。防火墙位于逻辑连接的中间,这允许它检测网络流量包括负载,并在应用层级检查任何可疑活动。
不像包过滤防火墙那样,代理防火墙理解它保护的应用,所以能够阻拦禁止的命令,例如危险的SQL命令或畸形请求(如尝试引发缓冲区溢出)。此外,能够在数据传给用户前分析离开网络的流量并且拦截任何敏感数据。所有这些网络流量的数据包头和负载的详尽信息也可以被记录,以便提供更好的审计。通过改变防火墙的规则集能够对付应用的新威胁。这比对应用本身进行修改更加快捷和容易。其它优势还包括对位于防火墙之后的系统提供匿名保护,同时以一个分开的进程和内存空间隔离开安全检查。这个级别的过滤为保护数据、业务逻辑和应用免于设计上的缺陷提供了一层额外的安全防护。
【编辑推荐】