产生背景
2004年,国外的一些安全厂商提出了WEB应用防火墙(简称WAF)的概念, 并逐步开始了尝试。随着互联网的普及,企业的WEB应用越来越多,来自于WEB的信息安全风险也越发突出。WEB攻击通常分为恶意扫描、溢出攻击、拒绝服务、会话劫持、信息窃取等等。与传统攻击的不同之处在于,WEB攻击的对象不再是操作系统、TCP/IP协议栈等底层的组件,而是针对WEB应用程序的应用层攻击。WAF可以检测HTTP协议的请求,解析HTTP请求中的响应元素,对存在威胁的请求进行拦截,从而实现对WEB应用层的安全防护工作。
WAF技术经历了一系列的演变:
第一代WAF有两个主要内容:HTTP属性(方法、 地址、参数)和分析前的数据转换。采用基于签名的方法,防止服务器攻击,如RCE、路径遍历和 SQL注入等攻击。
第二代WAF采用了建立动态模型的办法,即“自学习模型”的检测手段,保护用户免受攻击。
第三代WAF可建立一个创新的安全模型,识别用户合法请求中混杂着恶意请求的混合流量,防止绕过攻击。
第四代WAF采用了基于算法的检测新技术,根据黑客攻击手法进行分析,运用应对该攻击手法的新算法,实时地分析网络数据。弥补基于自学习模型检测手段的资源耗用问题和基于创新的安全模型的变种检测准确率不高的问题。
分类
WAF从形态上可分为硬件WAF、WAF防护软件和云WAF。
硬件WAF通常将专用硬件串行部署在WEB服务器前端,截获对WEB服务器的请求,并对请求包进行解析。将请求包与安全规则库的攻击规则进行匹配,如成功匹配,则识别为异常流量,进行请求阻断。
软件WAF通常部署在需要防护的服务器上,通过监听端口或以WEB容器扩展方式进行请求检测和阻断。
云WAF也被称作“WEB应用防火墙的云模式”,这种模式不需要在用户网络中安装软件程序或部署硬件设备,主要是利用DNS技术,通过移交域名解析权来实现安全防护。用户的请求首先发送到云端节点进行检测,如有异常请求,则被阻断。对于正常请求,云端节点则将其转发至真实服务器。
功能概述
WAF以完全代理的工作方式,作为WEB客户端(WEB Browser)和服务器端(WEB Server)的中间代理人, 过滤和处理交互的业务数据流,监控HTTP/HTTPS双向流量。所有来自用户到WEB服务器的应用层的访问,都需要经过WAF的过滤和检测,清洗其中的恶意内容,从应用层上避免WEB服务器直接暴露于互联网上。具体如下:
HTTP/HTTPS协议安全。WEB应用防火墙完整地解析HTTP/HTTPS,支持各种HTTP/HTTPS编码, 提供严格的HTTP/HTTPS协议验证,提供HTML限制以及支持类字符集编码;
对用户提交/输入的验证。实时过滤HTTP/HTTPS请求中混杂的非法恶意流量,如SQL注入、XSS等。WAF可以设置HTTP/HTTPS请求方法限制。 限制HTTP/HTTPS各种方法的访问,包括:GET, POST,DELETE,HEAD,CONNECT,TRACE,PUT;
网站挂马防护及后门检测。WAP通过爬虫技术和网页挂马检测技术,对服务器侧响应的网页内容进行在线检测,判断是否被植入恶意代码,并对恶意代码进行自动过滤,有效避免网站成为恶意软件的分发、传播渠道。同时,WEB应用防火墙提供本地后门扫描功能,将网站安全面临的风险降至最低;
采用事件触发检测技术来实现文件保护技术,在网页文件被修改时进行合法性检查。WAF在接收到针对指定的网页文件的操作请求时,先检查这个请求是否来自合法的进程和用户。如果合法,则通过细化的文件防护规则进行进一步判断,这些防护规则可以根据业务需求,针对某些关键字、数据段长度等相关信息,自行定义。合法则正常完成文件操作。如果该请求来自非法的进程或用户,则拒绝对相应文件的操作,并第一时间通知管理员,形成详细的日志信息。避免网页被恶意篡改;
应用层抗DDoS策略。WAF需要防护各类带宽及资源耗尽型拒绝服务攻击,例如,对HTTP Flood,CC Flood等攻击行为能够有效识别,并实时对攻击流量进行阻断;
防御注入攻击(form和URL参数,post和get): LDAP注入防御、 SQL注入防御、命令注入防护(OS命令,webshell等)、 XPath注入、 Xml/Json注入、XSS攻击;
支持黑白名单的配置,设定可信的访问客户端IP(白名单)不受安全策略规则的检测。设定非法的访问客户端IP(黑名单),直接禁止其对任何WEB服务器的访问;
会话管理机制。WAF可采取措施,防护基于会话的攻击,例如,对并发连接数进行必要的限制,以及用户登录次数的限制等;
部署模式
WAF的部署模式主要有透明模式、路由模式、端口镜像模式,满足用户的各种不同的网络需求。


