WAF是什么?WAF的全称是(Web Application Firewall)即Web应用防火墙,简称WAF。国际上公认的一种说法是:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
WAF常见的部署方式:
那么WAF能做什么?
- WAF可以过滤HTTP/HTTPS协议流量,防护Web攻击。
- WAF可以对Web应用进行安全审计
- WAF可以防止CC攻击
- 应用交付
- CC攻击:通过大量请求对应用程序资源消耗最大的应用,如WEB查询数据库应用,从而导致服务器拒绝服务 ,更详细CC攻击介绍:
- 应用交付:实际上就是指应用交付网络(Application Delivery Networking,简称ADN),它利用相应的网络优化/加速设备,确保用户的业务应用能够快速、安全、可靠地交付给内部员工和外部服务群。
从定义中可以看出应用交付的宗旨是保证企业关键业务的可靠性、可用性与安全性。应用交付应是多种技术的殊途同归,比如广域网加速、负载均衡、Web应用防火墙…针对不同的应用需求有不同的产品依托和侧重。
WAF不能做什么?
- WAF不能过滤其他协议流量,如FTP、PoP3协议
- WAF不能实现传统防护墙功能,如地址映射
- WAF不能防止网络层的DDoS攻击
- 防病毒
WAF与传统安全设备的区别:
传统安全设备特点:
- IPS:针对蠕虫、网络病毒、后门木马防护,不具备WEB应用层的安全防护能力
- 传统FW:作为内网与外网之间的一种访问控制设备,提供3-4层的安全防护能力,不具备WEB应用层的安全防护能力
WAF特点:
WAF是专业的应用层安全防护产品。
- 具备威胁感知能力
- 具备HTTP/HTTPS深度检测能力. 检出率高,误报率低/漏报率低
- 高性能
- 复杂环境下高稳定性
WAF的主要功能:
- WAF主要是通过内置的很多安全规则 来进行防御。
- 可防护常见的SQL注入、XSS、网页篡改、中间件漏洞等OWASP TOP10攻击性。
- 当发现攻击后,可将IP进行锁定,IP锁定之后将无法访问网站业务。
- 也支持防止CC攻击,采用集中度和速率双重检测算法。
WAF的主要厂家:
- 国内:安恒,绿盟,启明星辰
- 国外:飞塔,梭子鱼,Imperva
WAF的发展历程
WAF的发展主要经历了IPS架构,反向代理,透明代理和流模式。
IPS架构的特点:
优势:
- 建立在原IPS架构之上,部署简单
- 不改变数据包内容
- 性能较好
劣势:
- 误报及漏报率较高
- 难以解决HTTP慢攻击及分片攻击
- 难以实现复杂应用,如应用交付
反向代理特点:
优势:
- 单臂部署,不需要串接在网络中
- 实现应用交付
- 安全防护能力好
劣势:
- 会改变数据包内容
- 性能较差
- 需要改变网络配置,故障恢复慢。
透明代理特点:
优势:
- 半透明部署,不需要改变网络配置
- 实现应用交付
- 安全防护能力好
- 故障恢复快
劣势:
- 较少更改数据包内容
- 性能一般
流模式特点:
优势:
- 全透明部署,不改变网络配置/数据包内容
- 实现应用交付
- 安全防护能力好
- 故障恢复快
- 性能好
劣势:
- 对特殊构造攻击取决于WAF缓存大小
WAF关键技术
WAF的透明代理技术原理:
图:WAF透明代理技术原理
图:WAF通信过程
- 客户端TCP源端口
- 客户端源MAC/服务器源MAC地址
- 长短连接协议版本
- MIME类型
Web应用安全防护策略:
基于WEB攻击特征库的正则表达式的匹配方式;策略规则组织成规则链表的方式,深度检查请求头部、请求提交内容,响应头部,响应内容体等内容进行逐条匹配检查。
主要可以防止以下攻击:
- HTTP协议合规性
- SQL注入阻断
- 跨站点脚本/CSRF攻击防护
- 表单/cookie篡改防护
- DoS攻击防护
- 敏感信息泄漏
- 目录遍历
- 防扫描器探测攻击
Web应用安全审计:
WAF可以审计所有用户访问行为,通过对访问记录的深度分析,可以发掘出一些潜在的威胁情况,对于攻击防护遗漏的请求,仍然可以起到追根索源的目的。
防CC:
CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。
防止CC攻击的原理:
- 可定义多条DOS策略
- 可支持多个URL匹配算法
- 可支持应用层IP匹配算法
Web应交交付:
“应用交付”,实际上就是指应用交付网络(Application Delivery Networking,简称ADN),它利用相应的网络优化/加速设备,确保用户的业务应用能够快速、安全、可靠地交付给内部员工和外部服务群。
从定义中可以看出应用交付的宗旨是保证企业关键业务的可靠性、可用性与安全性。应用交付应是多种技术的殊途同归,比如广域网加速、负载均衡、Web应用防火墙…针对不同的应用需求有不同的产品依托和侧重。
WAF一般可做的应用交付主要是通过:
- web加速与数据压缩 优化服务器性能。
WAF的多种部署模式
WAF一般支持透明代理,反向代理,旁路监控,桥模式部署模式。
透明代理串接模式:
图:WAF部署场景-透明代理串接模式
部署特点:
- 不需要改变用户网络结构,对于用户而言是透明的
- 安全防护性能强
- 故障恢复快,可支持Bypass
透明代理串接模式是采用最多的部署模式,防御效果好。
反向代理模式:
反向代理又分为两种模式,反向代理(代理模式)与反向代理(牵引模式)。
代理模式:
图:WAF部署场景-反向代理(代理模式)
即在图中,当外网去访问www.test.com时,会解析到110.1.1.1。在网络防火墙FW上,会通过nat-server技术,将110.1.1.1外网地址解析为192.168.1.1的内网地址。而192.168.1.1为WAF的业务口地址,WAF会去访问后端服务器192.168.1.100,将包返回给WAF,WAF再返回给用户,起到了代理作用,隐藏了真正的Web服务器地址。
部署特点:
- 可旁路部署,对于用户网络不透明,防护能力强
- 故障恢复时间慢,不支持Bypass,恢复时需要重新将域名或地址映射到原服务器。
- 此模式应用于复杂环境中,如设备无法直接串接的环境。
- 访问时需要先访问WAF配置的业务口地址。
- 支持VRRP主备
牵引模式:
图:WAF部署场景-反向代理(牵引模式)
部署特点:
- 可旁路部署,对于用户网络不透明。
- 故障恢复时间慢,不支持Bypass,恢复时需要删除路由器策略路由配置。
- 此模式应用于复杂环境中,如设备无法直接串接的环境。
- 访问时仍访问网站服务器
旁路监控模式:
图:WAF部署场景-旁路监控模式
透明桥模式:
图:WAF部署场景-透明桥模式
WAF可靠性部署-透明代理下的HA主备模式:
图:WAF部署场景-透明代理下的HA主备模式
- 流量的切换:根据流量来进行判断,从哪边来的流量走哪边。
- 当两边同时有流量的时候,需要使用主主模式,不需要心跳线。
WAF可靠性部署-反向代理下的HA主备模式:
图:WAF部署场景-反向代理下的HA主备模式