定义:Web防火墙,主要是对Web特有入侵方式的加强防护,如DDOS防护、SQL注入、XML注入、XSS等。由于是应用层而非网络层的入侵,从技术角度都应该称为Web IPS,而不是Web防火墙。这里之所以叫做Web防火墙,是因为大家比较好理解,业界流行的称呼而已。由于重点是防SQL注入,也有人称为SQL防火墙。
一、首先了解WAF设计思路
- 部署在Web应用的前面
- 以白名单思路来设计(定义保护对象 不能单个阻拦)
- 只对HTTP、HTTPS协议进行检测
- Web应用模型、关联分析的技术
二、防御恶意文件上传
-
文件名
-
解析文件名,判断是否在黑名单内。
-
-
文件内容
-
解析文件内容,判断是否为webshell。
-
-
文件目录权限
-
该功能需要主机WAF实现,比如我见过的云锁。
-
目前,市面上常见的是解析文件名,少数WAF是解析文件内容,比如长亭。下面内容,都是基于文件名解析。
大致步骤如下:
-
获取Request Header里的
Content-Type
值中获取boundary值 -
根据第一步的boundary值,解析POST数据,获取文件名
-
判断文件名是否在拦截黑名单内
三、厂商防御技术<