你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Front Door 中 Azure Web 应用程序防火墙的最佳做法
本文总结了在 Azure Front Door 中使用 Azure Web 应用程序防火墙的最佳做法。
一般最佳实践
本节讨论一般最佳做法。
启用 WAF
对于面向 Internet 的应用程序,建议启用 Web 应用程序防火墙 (WAF),并将其配置为使用托管规则。 使用 WAF 和 Microsoft 托管规则时,应用程序可以免受各种攻击。
优化 WAF
WAF 中的规则应针对工作负载进行优化。 如果不优化 WAF,它可能会意外阻止应允许的请求。 优化可能包括创建规则排除项以减少误报检测。
优化 WAF 时,请考虑使用检测模式。 此模式记录 WAF 通常会执行的请求和操作,但实际上不会阻止任何流量。
有关详细信息,请参阅优化 Azure Front Door 的 Azure Web 应用程序防火墙。
使用防护模式
优化 WAF 后,将其配置为在防护模式下运行。 通过在防护模式下运行,可以确保 WAF 阻止检测到的恶意请求。 在检测模式下运行在优化和配置 WAF 时很有用,但不能提供保护。
将 WAF 配置定义为代码
为应用程序工作负荷优化 WAF 时,通常需创建一组规则排除项以减少假正检测数。 如果使用 Azure 门户手动配置这些排除项,则升级 WAF 以使用较新的规则集版本时,需要针对新规则集版本重新配置相同的异常。 此过程可能非常耗时且容易出错。
请改为考虑定义 WAF 规则排除项和其他代码形式的配置,例如使用 Azure CLI、Azure PowerShell、Bicep 或 Terraform 来这样做。 当你需要更新 WAF 规则集版本时,可轻松地重复使用相同的排除项。
托管规则集最佳做法
本节讨论规则集的最佳做法。
启用默认规则集
Microsoft 的默认规则集旨在通过检测和阻止常见攻击来保护应用程序。 这些规则基于各种来源,包括来自 Microsoft 威胁情报的 OWASP 排名前 10 的攻击类型和信息。
有关详细信息,请参阅 Azure 托管规则集。
启用机器人管理规则
机器人负责大量流向 Web 应用程序的流量。 WAF 的机器人防护规则集根据机器人是好、坏还是未知对机器人进行分类。 然后可以阻止坏机器人,并允许好的机器人(例如搜索引擎爬网程序等)通过应用程序。
有关详细信息,请参阅机器人防护规则集。
使用最新的规则集版本
Microsoft 会定期更新托管规则,以考虑当前的威胁情况。 确保定期检查 Azure 托管规则集的更新。
有关详细信息,请参阅 Azure Web 应用程序防火墙 DRS 规则组和规则。
速率限制最佳做法
本节讨论速率限制的最佳做法。
添加速率限制
Azure Front Door WAF 使你能够控制一段时间内每个客户端 IP 地址允许的请求数。 最好添加速率限制,以减少客户端意外或有意将大量流量发送到服务的影响,例如在重试风暴期间。
有关详细信息,请参阅以下资源:
- Azure Front Door 的速率限制是什么?。
- 使用 Azure PowerShell 配置 Azure Web 应用程序防火墙速率限制规则。
- 为什么超出为我的速率限制规则配置的阈值的其他请求会传递到我的后端服务器?
对速率限制使用高阈值
通常,最好将速率限制阈值设置为高。 例如,如果你知道单个客户端 IP 地址每分钟可能会向服务器发送大约 10 个请求,请考虑指定一个每分钟 20 个请求的阈值。
速率限制阈值高可避免阻止合法流量。 这些阈值仍然提供保护,阻止可能使基础结构不堪重负的超大量请求。
异地筛选最佳做法
本节讨论地区筛选的最佳做法。
异地筛选流量
许多 Web 应用程序专为特定地理区域中的用户设计。 如果这种情况适用于应用程序,请考虑实现地区筛选,以阻止来自预期接收流量的国家或地区以外的请求。
有关详细信息,请参阅什么是 Azure Front Door 的域中的地区筛选?。
指定未知 (ZZ) 位置
某些 IP 地址未映射到数据集中的位置。 IP 地址无法映射到某个位置时,WAF 会将流量分配到未知 (ZZ) 国家或地区。 为了避免阻止来自这些 IP 地址的有效请求,请考虑通过地区筛选器允许未知 (ZZ) 国家或地区。
有关详细信息,请参阅什么是 Azure Front Door 的域中的地区筛选?。
日志记录
本节介绍日志记录。
添加诊断设置以保存 WAF 的日志
Azure Front Door WAF 与 Azure Monitor 集成。 请务必将 WAF 日志保存到 Log Analytics 等目标。 应定期查看 WAF 日志。 查看日志有助于优化 WAF 策略以减少误报检测并了解应用程序是否受到攻击。
有关详细信息,请参阅 Azure Web 应用程序防火墙监视和日志记录。
将日志发送到 Microsoft Sentinel
Microsoft Sentinel 是安全信息和事件管理 (SIEM) 系统,该系统从多个源导入日志和数据,便于了解 Web 应用程序和整体 Azure 环境的威胁情况。 Azure Front Door WAF 日志应导入 Microsoft Sentinel 或其他 SIEM 中,以便将面向 Internet 的属性包含在分析中。 对于 Microsoft Sentinel,请使用 Azure WAF 连接器轻松导入 WAF 日志。
有关详细信息,请参阅将 Microsoft Sentinel 与 Azure Web 应用程序防火墙配合使用。