web应用所面临的威胁
恶意爬虫
核心文本、商品价格等被爬取。
短信接口被刷
短信业务被轰炸,流量费蹭蹭上涨。
网页防串改、文件上传、owasp漏洞。
OWASP十大漏洞:
注射
破坏的身份验证和会话管理
敏感数据曝光
XML外部实体(XXE)
损坏的访问控制
安全性错误配置
跨站点脚本(XSS)
不安全的反序列化
使用具有已知漏洞的组件
记录和监测不足
waf应该具备的功能
是否多设备联动:
通知第三方设备进行阻断. WAF只监视网络 通信,发现攻击时通知其他设备
(如路由器或防火墙),关联LB等进行阻断。
1. 阻断HTTP request。
2. 阻断TCP connection。
3. 封锁 IP 地址。
4. 阻断应用层会话(application session)。
5. 阻断应用层的用户,当在HTTP应用层进行阻断时,该WAF给用户发出一个友好的信息。
是否高可用:
一是要防止这个WAF在出现问题时影响了其他应用,二是要让该WAF在高负载的情况下不至于影响其功能的发挥。
1. 在双机热备的模式下,进行失效接管。
2. 在双机热备的模式下,备机可以用来分担部分负载?
各waf节点的状态可以共享
是否支持下面列出的编码方式:
1. application/x-www-form-urlencoded 编码
2. multipart/form-data 编码
3. request分块编码(chunked encoding) 。分块编码(chunked encoding)传输方式是HTTP 1.1协议中定义的Web用户向服务器提交数据的一种方法,
当服务器收到chunked编码方式的数据时会分配一个缓冲区存放它,如果提交的数据大小未知,客户端会以一个协商好的 分块大小向服务器提交数据。
4. response分块编码(chunked encoding)
5. request 压缩
6. response 压缩
是否严格的协议检查
1. 限制方法详见下 面
2. 限制协议和协议的版本
3. 严格的 (per-RFC) request 验证
4. 检查URL编码字符 URL-encoded characters
5. 检查不规范的编码如 %uXXYY字符
6. 强制规定所使用的 cookie 类型(如只允许v1 cookies)
是否限制方法:
1. 元素内容
2. 元素长度
3. 元素字节范围.
4. 字符集限制 (如:UTF-8)。都支持 哪些字符集?
当对request的不同部分使用不同的限制时WAF的灵活性
是否支持如下的与协议相关的限制:
1. request method length
2. request line length
3. request URI length
4. query string length
5. protocol (名称 和版本) length
6. header的数目
7. header name length
8. header value length
9. request body length
10. cookie name length
11. cookie value length
12. cookies的数目
是否支持HTML 限制
1. parameter 名称长度
2. parameter 值长度
3. parameter的数目
4. parameter的总共长度 (名称和值的长度和)
是否限制文件传输
1. 支持 POST方法文件上传(multipart/form-data encoding)
2. 支持 PUT方法文件上传
3. 每个上传文件的大小可限制
4. 一次上传多个文件时,总大小可限 制
5. 请求的文件数目可以限制
6. 是否支持添加自定义的文件检查规 则?
是否支持多种字符集
WAF必 须可以对request中使用不同编码的字符进行检查以提供更好的保护功能。
是否支持网页防篡改
该WAF支持使用下述认证方法的应用吗?
1. 基本的身份验证,这里可能指的是常规的用户名/口令认证。
2. 使用摘要算法的身份验证,这里可能指的是对口令进 行了MD5加密的认证。
3. NTLM身份验证
4. 客户端证书
5. 双因素身份验证
6.是否支持一些通用的身份验证方法(如LDAP、RADIUS等)
是否支持一些主流的安全标记语言或是联合身份认证协议:
1. 安全断言标记语言(SAML )(1.0, 1.1, 2.0)。
2. Liberty-ID-FF (1.0, 1.1, 1.2)。
3. WS-Trust,Web Service中 的一种安全协议。
4. Response 过滤
是否对服务器发送出的响应内容进行检查分析:
1. Response headers
2. Response body
3. Response status