目前,利用网上随处可见的攻击软件,攻击者不需要对网络协议的深厚理解基础,即可完成诸如更换Web网站主页,盗取管理员密码,数据库注入和破坏整个网站数据等等攻击。而这些攻击过程中产生的网络层数据,和正常数据没有什么区别。
以下是国家计算机网络应急技术处理协调中心(CNCERT/CC)统计的2008年上半年我国国内网站被黑被篡改的统计图,在1月-7月内仅发现的被篡改的网站就多达41,000多个,平均每天就有近200个网站被篡改,这真是一个惊人的数字。
下图是CNCERT/CC从2003-2007的被篡改网站的历史统计图:
从上图的对比中我们看出,网站被篡改的数目以每年2-3倍的递增速度还在不断的上升趋势当中。在WEB应用如此普及,如此至关重要的今天,可以说,网站的防黑防篡改解决方案,已经是每一个企业或事业单位网络运维部门的迫在眉急的重大任务。
很多用户认为,在网络中部署多层的防火墙,入侵检测系统(IDS),入侵防御系统(IPS)等设备,就可以保障网络的安全性,就能全面立体的防护WEB应用了,但是为何基于WEB应用的攻击事件仍然不断发生?其根本的原因在于传统的网络安全设备对于应用层的攻击防范,作用十分有限。目前的大多防火墙都是工作在网络层,通过对网络层的数据过滤(基于TCP/IP报文头部的ACL)实现访问控制的功能;通过状态防火墙保证内部网络不会被外部网络非法接入。所有的处理都是在网络层,而应用层攻击的特征在网络层次上是无法检测出来的。IDS,IPS通过使用深包检测的技术检查网络数据中的应用层流量,和攻击特征库进行匹配,从而识别出以知的网络攻击,达到对应用层攻击的防护。但是对于未知攻击,和将来才会出现的攻击,以及通过灵活编码和报文分割来实现的应用层攻击,IDS和IPS同样不能有效的防护。
WEB应用防火墙的出现解决了这方面的难题,应用防火墙通过执行应用会话内部的请求来处理应用层,它专门保护Web应用通信流和所有相关的应用资源免受利用Web协议或应用程序漏洞发动的攻击。应用防火墙可以阻止将应用行为用于恶意目的的浏览器和HTTP攻击,一些强大的应用防火墙甚至能够模拟代理成为网站服务器接受应用交付,形象的来说相当于给原网站加上了一个安全的绝缘外壳。
下面我们就用一款现在业内比较普遍的Barracuda-NC应用防火墙来举例,来看看应用防火墙是如何保护网站防止被恶意注入和篡改的了。
网络架构和部署:双臂代理模式
双臂代理模式是Web应用防火墙部署种的最佳模式。这个模式也是拓扑过程中推荐的模式,能够提供最佳的安全性能。
在此模式中,所有的数据端口都将被开启;端口eth1是对外的,直接面向因特网的端口;端口eth2将会和内部的设备(交换机等)进行连接,是面向内部的。管理端口可以被分配到另一个网段,我们推荐将管理数据和实际的流量分离,避免因为实际流量和管理数据的冲突。
以下为示例拓扑图:
网络实现:
1、前端端口和后端端口位于不同的网段,所有外部客户将会和应用虚拟IP地址进行连接,此虚拟ip将会和前端端口(eth1)进行绑定
2、客户的连接将会在设备上终止,进行安全检查和过滤
3、合法的流量将会由后端端口(eth2)建立新的连接到负载均衡设备
4、负载均衡进行流量的负载
5、双臂代理模式可以开启所有的安全功能
工作特点:基于应用层的检测,同时又拥有基于状态的网络防火墙的优势
对应用数据录入完整检查、HTTP包头重写、强制HTTP协议合规化,杜绝各种利用协议漏洞的攻击和权限提升
预期数据的完整知识(Complete Knowledge of expected values),防止各种形式的SQL/命令注入,跨站式脚本攻击
实时策略生成及执行,根据您的应用程序定义相应的保护策略,而不是千篇一律的厂家预定义防攻击策略,无缝的砌合您的应用程序,不会造成任何应用失真。
网站全面隐身:黑客再神奇也无法攻击看不见的东西
Barracuda-NC应用防火墙对外部访问网站进行隐身,可以隐藏真实的Web服务器类型、应用服务器类型、操作系统、版本号、版本更新程度、已知安全漏洞、真实IP地址、内部工作站信息,让黑客看不见,摸不着,探测不到,自然也无从猜测分析和攻击。以下便是一款常用扫描工具扫描经过Barracuda-NC应用防火墙隐藏的网站的结果。
同时,它还能识别各种爬行探测程序,只允许正常的搜索引擎爬虫进入,抵御黑客爬行程序于门外,让想通过探测确定攻击目标的黑客彻底无门。
除此之外,做为一款强大的应用防火墙,Barracuda-NC应用防火墙还有许多应用交付功能:应用数据缓存,数据压缩,TCP连接池,SSL Offloading,7层内容交换负载均衡等等,完全可以替代其他应用层交换设备,做为应用层交换的中流砥柱。