由于WEB应用防火墙(WAF)的名字中有“防火墙”三个字,因此很多人都会将它与传统防火墙混淆。实际上,二者之间的有着很大的差别。传统防火墙专注在网络层面,提供IP、端口防护。而WAF是专门为保护基于Web的应用程序而设计的,它不像传统的防火墙基于互联网地址和端口号来监控和阻止数据包。WAF检查每一个传入的数据包的内容来检测SQL注入、跨站点脚本、会话劫持、篡改参数或URL等类型的攻击。
功能差异
传统防火墙保护网络外围并使用协议信息过滤流量。你可以根据IP范围、端口、ICMP(Internet控制消息协议)类型等设置允许通信的规则。它从打开连接到关闭都会监视活动。
- 优点:阻止未经授权的协议、端口和IP地址,提供VPN支持。
- 缺点:只有接受/拒绝规则,无法解密流量,在单独部署SSL、IDS和IPS时检查速度变慢,不擅长阻止“客户端”攻击,只能看到数据包头,从而容易受到SQL注入攻击。
WAF保护网站和API。它被配置为反向代理,并在所有HTTP(s)请求到达Web服务器之前检查它们。它通过验证码测试拦截或测试不规则流量,以确保流量来自人类而不是机器人。
- 优点:可定制的规则、条件过滤、限制上传大小、可以解密和检查SSL流量、可以集成IDS和IPS、可以查看数据包数据。
- 缺点:误报和漏报,不能很好地阻止零日攻击,对公开访问的网站没有足够的保护。共享服务器可能导致再次感染。
WAF和传统防火墙用于解决不同的威胁。
传统防火墙防御用于抵御下类威胁:
- 未经授权的网络访问
- 中间人攻击
- 权限提升
- 网络层面的 DDoS 攻击
WAF用于抵御下类威胁:
- SQL注入
- 跨站脚本(XSS)
- 跨站伪造
- 网站级别的 DDoS 攻击
- 目录遍历