前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何做一款好的waf产品(1)

如何做一款好的waf产品(1)

原创
作者头像
stan1ey
修改2021-08-11 18:07:35
6810
修改2021-08-11 18:07:35
举报
文章被收录于专栏:安全开发记录安全开发记录

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • web应用所面临的威胁
    • OWASP十大漏洞:
    • waf应该具备的功能
      • 是否多设备联动:
        • 是否高可用:
          • 是否支持下面列出的编码方式:
            • 是否严格的协议检查
              • 是否限制方法:
                • 是否支持如下的与协议相关的限制:
                  • 是否支持HTML 限制
                    • 是否限制文件传输
                      • 是否支持多种字符集
                        • 该WAF支持使用下述认证方法的应用吗?
                          • 是否支持一些主流的安全标记语言或是联合身份认证协议:
                            • 是否对服务器发送出的响应内容进行检查分析:
                            相关产品与服务
                            应用安全开发
                            应用安全开发(Application Security Development,下文中也叫 Xcheck)为您提供优质的代码分析服务。Xcheck 凭借优秀的算法和工程实现,能在极低的误报率和漏报率前提下,以极快的速度发现代码中存在的安全漏洞。Xcheck 采用私有化部署的模式,所以产品使用的整个生命周期,源码都不会流出公司网络,杜绝源码泄露风险。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档