目前,利用网上随处可见的攻击软件,攻击者不需要对网络协议的深厚理解基础,即可完成诸如更换Web网站主页,盗取管理员密码,注入和破坏整个网站数据等等攻击。而这些攻击过程中产生的网络层数据,和正常数据没有什么区别。
以下是国家计算机网络应急技术处理协调中心(CNCERT/CC)统计的2008年上半年我国国内网站被黑被篡改的统计图,在1月-7月内仅发现的被篡改的网站就多达41,000多个,平均每天就有近200个网站被篡改,这真是一个惊人的数字。
下图是CNCERT/CC从2003-2007的被篡改网站的历史统计图:
从上图的对比中我们看出,网站被篡改的数目以每年2-3倍的递增速度还在不断的上升趋势当中。在WEB应用如此普及,如此至关重要的今天,可以说,网站的防黑防篡改解决,已经是每一个或事业单位网络运维部门的迫在眉急的重大任务。
很多用户认为,在网络中部署多层的,检测系统(),入侵防御系统()等设备,就可以保障网络的安全性,就能全面立体的防护WEB应用了,但是为何基于WEB应用的攻击事件仍然不断发生?其根本的原因在于传统的网络安全设备对于应用层的攻击防范,作用十分有限。目前的大多防火墙都是工作在网络层,通过对网络层的数据过滤(基于报文头部的ACL)实现访问控制的功能;通过状态防火墙保证内部网络不会被外部网络非法接入。所有的处理都是在网络层,而应用层攻击的特征在网络层次上是无法检测出来的。IDS,IPS通过使用深包检测的技术检查网络数据中的应用层流量,和攻击特征库进行匹配,从而识别出以知的网络攻击,达到对应用层攻击的防护。但是对于未知攻击,和将来才会出现的攻击,以及通过灵活编码和报文分割来实现的应用层攻击,IDS和IPS同样不能有效的防护。
WEB应用防火墙的出现解决了这方面的难题,应用防火墙通过执行应用会话内部的请求来处理应用层,它专门保护Web应用流和所有相关的应用资源免受利用Web协议或应用程序漏洞发动的攻击。应用防火墙可以阻止将应用行为用于恶意目的的和HTTP攻击,一些强大的应用防火墙甚至能够模拟代理成为网站接受应用交付,形象的来说相当于给原网站加上了一个安全的绝缘外壳。
下面我们就用一款现在业内比较普遍的Barracuda-NC应用防火墙来举例,来看看应用防火墙是如何保护网站防止被恶意注入和篡改的了。
网络架构和部署:双臂代理模式
双臂代理模式是Web应用防火墙部署种的最佳模式。这个模式也是拓扑过程中推荐的模式,能够提供最佳的安全性能。
在此模式中,所有的数据端口都将被开启;端口eth1是对外的,直接面向因特网的端口;端口eth2将会和内部的设备(等)进行连接,是面向内部的。管理端口可以被分配到另一个网段,我们推荐将管理数据和实际的流量分离,避免因为实际流量和管理数据的冲突。
以下为示例拓扑图: