针对 Azure Front Door WAF 的零信任建议

Front Door 上的Azure Web 应用程序防火墙可保护网络边缘的 Web 应用程序免受常见攻击和漏洞的影响。 以下建议可帮助你验证 WAF 是否已正确配置和监视。

有关所有Azure网络安全零信任建议的摘要,请参阅Azure网络安全零信任建议

建议

Azure Front Door WAF 在预防模式下启用

Azure Front Door Web 应用程序防火墙(WAF)保护全球分布的网络边缘网页应用免受常见漏洞和攻击,如SQL注入、跨站脚本及其他开放全球应用安全Project(OWASP)十大威胁。 在检测模式下,WAF 会记录规则匹配情况,但仍会将请求转发到你的源站。 只有防止模式阻止违反WAF规则的请求。 处于检测模式下的 Front Door WAF 会让攻击流量从其所服务的每个边缘位置到达源站。

修正操作

Azure Front Door WAF 中启用了请求正文检查

Azure Front Door Web 应用程序防火墙(WAF)会在边缘检查 HTTP POST、PUT 和 PATCH 请求正文,在流量转发到你的源站之前检测 SQL 注入、跨站脚本和命令注入攻击载荷。 如果你关闭请求正文检查,则仅在边缘评估标头和 URI。 因此,隐藏在表单帖子、API调用和文件上传中的有效载荷会被转发到源头,而未被检查。 受管理的规则集,包括开放全球应用安全Project(OWASP)核心规则集和Microsoft基于威胁情报的规则,无法对他们从未见过的内容采取行动。

修正操作

Azure Front Door WAF 中分配默认规则集

Azure Front Door Web 应用程序防火墙(WAF)通过Microsoft默认规则集在全局边缘施加保护,Microsoft持续更新已知攻击模式的检测签名。 未分配任何托管规则集的 WAF 策略不会执行任何检查,并会将所有请求转发到您的源站。 分配一组托管规则可在边缘侧阻止 SQL 注入、跨站脚本攻击、本地文件包含和命令注入尝试,使其在自动化工具包到达源站服务器之前就被拦截。

修正操作

机器人保护规则集在 Azure Front Door WAF 中启用和分配

Azure Front Door Web 应用程序防火墙(WAF)通过机器人管理器规则集提供机器人保护,该规则仅在高级版中提供。 该规则集将全局边缘的自动化流量分类为已知良好、已知不良或未知。 你可以为每个类别分配单独操作:屏蔽恶意机器人或用验证码挑战,允许搜索引擎爬虫和其他合法机器人通过。 如果没有分配规则集,Front Door就没有机器人分类信号,所以你无法在指标和日志中区分人类用户和自动化客户端。 抓取或凭证填充攻击流量会在未受任何拦截的情况下到达你的源站。

修正操作

在 Azure Front Door WAF 中启用速率限制

Azure Front Door Web 应用程序防火墙(WAF)通过自定义规则支持速率限制,这些规则限制客户端可以在全局边缘网络中的指定时间范围内发出的请求数。 如果不限制速率,威胁参与者可以针对身份验证终结点执行暴力攻击、大规模凭据填充、提取数据或使用后端资源的 API 滥用,以及应用程序层拒绝服务攻击,这些攻击会淹没终结点。 速率限制规则允许管理员根据每分钟的请求计数定义阈值,并能够按客户端 IP 地址对请求进行分组。 当客户端超过配置的阈值时,WAF 可以阻止后续请求、日志冲突、发出 CAPTCHA 质询或重定向到自定义页面。 全局边缘的速率限制可确保在到达源服务器之前阻止恶意流量。

修正操作

Azure Front Door WAF 中启用了 JavaScript 挑战

Azure Front Door Web 应用程序防火墙(WAF)支持 JavaScript 质询,作为针对全球边缘网络中自动化机器人和无外设浏览器的防御机制。 当请求触发质询时,WAF 会提供客户端浏览器必须执行的 JavaScript 代码片段来获取有效的质询 Cookie,证明请求源自真实浏览器,而不是简单的 HTTP 客户端或机器人。 成功成功执行质询的客户端将在 Cookie 过期之前继续正常运行,而无法执行 JavaScript 的机器人和自动化工具会在流量到达源服务器之前在边缘被阻止。 此机制对于使用简单 HTTP 库的凭据填充机器人、网络爬虫和分布式拒绝服务(DDoS)机器人有效。 通过JavaScript挑战在无需用户交互(例如CAPTCHA)的情况下验证浏览器的能力,从而在允许所有流量和阻止可疑机器人之间形成一个中间立场。

修正操作

在 Azure Front Door WAF 中启用了 CAPTCHA 验证

Azure Front Door Web 应用程序防火墙(WAF)支持 CAPTCHA 挑战,作为针对全球边缘网络中复杂的机器人和自动化工具的防御机制。 CAPTCHA 向用户呈现一个视觉或音频谜题,需要人类认知能力来解决,证明请求源自真实人类而不是机器人。 完成 CAPTCHA 验证的用户将获得一个挑战 Cookie,可以正常访问直至过期,而无法破解难题的机器人会在接入点被拦截。 CAPTCHA 比 JavaScript 更有效对抗使用完全支持 JavaScript 的无头浏览器的高级机器人,因为它需要人类级别的认知。 通过配置 CAPTCHA 质询操作的自定义规则,组织可以保护高度敏感的终结点,例如登录页、注册表单和付款页,避免自动滥用。

修正操作

Azure Front Door WAF 中启用了诊断日志记录

Azure Front Door Web 应用程序防火墙(WAF)保护 Web 应用程序免受常见攻击,包括 SQL 注入、跨站点脚本和开放网络应用程序安全项目(OWASP)网络边缘十大威胁,在恶意流量到达源服务器之前进行防护。 如果未启用诊断日志记录,安全团队将无法查看边缘的受阻攻击、规则匹配、访问模式和 WAF 事件。 如果不记录,试图利用漏洞的威胁参与者不会发现,事件响应者无法构造攻击时间线。 Azure Front Door WAF 提供访问日志和 WAF 日志,这些日志必须路由到Log Analytics、存储帐户或事件中心进行安全监视和取证分析。

修正操作