WAF的概念:
WAF(Web Application Firewall)的中文名称叫做“Web应用防火墙”。
Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一种网络安全产品。WAF可以增大攻击者的攻击难度和攻击成本,但是不是100%安全的。
重点:
- WAF是工作在应用层的;
- 通过特定的安全策略;
- 专为Web应用提供安全防护。
WAF的主要功能:
- SQL Injection(SQLi):阻止SQL注入
- Cross Site Scripting(XSS):阻止跨站脚本攻击
- Local File Inclusion(LFI):阻止利用本地文件包含漏洞进行攻击
- Remote File Inclusion(RFI):阻止利用远程文件包含漏洞进行攻击
- Remote Code Execution(RCE):阻止利用远程命令执行漏洞进行攻击
- PHP Code Injection:阻止PHP代码注入
- Scanner Detection:阻止黑客扫描网站
- Metadata/Error Leakages:阻止源代码/错误信息泄露
- HTTP Protocol Violations:阻止违反HTTP协议的恶意访问
- HTTPoxy:阻止利用远程代理感染漏洞进行攻击
- Shellshock:阻止利用Shellshock漏洞进行攻击
- Session Fixation:阻止利用Session会话ID不变的漏洞进行攻击
- HoneyPotBlacklist:蜜罐黑名单,将入侵地址保存进黑名单并拦截
- GeolP Country Blocking:根据判断IP地址归属地来进行IP阻断
根据产品形态,WAF主要分为以下三大类:
- 硬件设备类——独立部署
- 软件产品类——一般与服务器部署在一起
- 基于云的WAF
WAF的工作过程:
WAF的结构
不管硬件款,软件款还是云款WAF,核心是解析HTTP请求(协议解析模块),然后进行规则匹配(规则模块),根据结果进行防御(动作模块),并将防御过程(日志模块)记录下来。
WAF的组成包括六个模块:
- 配置模块
- 协议解析模块
- 规则模块
- 动作模块
- 错误处理模块
- 日志记录模块。
解析数据包
主要是对HTTP(S)数据包进行解析,从而提取相关的字段。
规则匹配
对请求方法、内容进行匹配,根据匹配结果进行处置。
一般WAF还有一个白名单,白名单里面的请求,自动放过。
WAF的常见特征
WAF的功能:
- 1.审计设备:用来截获所有HTTP数据或者仅仅满足某些规则的会话
- 2.访问控制设备:用来控制对Web应用的访问,既包括主动安全模式也包括被动安全模式
- 3.架构/网络设计工具:当运行在反向代理模式,他们被用来分配职能,集中控制,虚拟基础结构等。
- 4.WEB应用加固工具:这些功能增强被保护Web应用的安全性,它不仅能够屏蔽WEB应用固有弱点,而且能够保护WEB应用编程错误导致的安全隐患。
WAF的常见特点:
- 异常检测协议:拒绝不符合HTTP标准的请求
- 增强的输入验证:代理和服务端的验证,而不只是限于客户端验证
- 白名单&黑名单:白名单适用于稳定的Web应用,黑名单适合处理已知问题
- 基于规则和基于异常的保护:基于规则更多的依赖黑名单机制,基于异常更为灵活
- 状态管理:重点进行会话保护