使用应用程序网关 WAF 保护应用程序
如何为使用 Microsoft Entra 应用程序代理发布的应用添加 Web 应用程序防火墙 (WAF) 保护。
若要详细了解 Web 应用程序防火墙,请参阅什么是 Azure 应用程序网关上的 Azure Web 应用程序防火墙?。
部署步骤
本文提供了相关步骤,指导你通过将 Microsoft Entra 应用程序代理与应用程序网关上的 Azure WAF 进行集成来在 Internet 上安全地公开 Web 应用程序。
配置 Azure 应用程序网关,将流量发送到内部应用程序
本文将省略应用程序网关配置的某些步骤。 有关如何创建和配置应用程序网关的详细指南,请参阅快速入门:使用 Azure 应用程序网关定向 Web 流量 - Microsoft Entra 管理中心。
1.创建专用的 HTTPS 侦听器
这样,用户可以在连接到公司网络时访问 Web 应用程序。
2.使用 Web 服务器创建后端池
在此示例中,后端服务器安装了 Internet Information Services (IIS)。
3.创建后端设置
后端设置将确定请求到达后端池服务器的方式。
4.创建一个传递规则,可用于连接侦听器、后端池和前面步骤中创建的后端设置
5.在应用程序网关中启用 WAF,并将其设置为“阻止”模式
将应用程序配置为通过 Microsoft Entra ID 中的应用程序代理远程访问
连接器 VM、应用程序网关和后端服务器都部署在 Azure 中的同一虚拟网络中。 此设置也适用于本地部署的应用程序和连接器。
有关如何将应用程序添加到 Microsoft Entra ID 中的应用程序代理的详细指南,请参阅教程:添加本地应用程序以通过 Microsoft Entra ID 中的应用程序代理进行远程访问。 有关专用网络连接器的性能注意事项的详细信息,请参阅使用 Microsoft Entra 应用程序代理优化流量流。
在此示例中,配置了与内部和外部 URL 相同的 URL。 远程客户端通过端口 443 上的 Internet 通过应用程序代理访问应用程序。 连接到企业网络的客户端以私密方式访问应用程序。 访问直接通过端口 443 上的应用程序网关完成。 有关如何在应用程序代理中配置自定义域的详细步骤,请参阅使用 Microsoft Entra 应用程序代理配置自定义域。
使用 A 记录创建 Azure 私有域名系统 (DNS) 区域。 A 记录将 www.fabrikam.one
指向应用程序网关的专用前端 IP 地址。 该记录可确保连接器 VM 将请求发送到应用程序网关。
测试应用程序
添加用户进行测试后,可以通过访问 https://www.fabrikam.one 测试应用程序。 用户将收到在 Microsoft Entra ID 中进行身份验证的提示,成功完成身份验证后,他们将访问相应应用程序。
模拟攻击
若要测试 WAF 是否阻止恶意请求,可以使用基本的 SQL 注入签名模拟攻击。 例如,"https://www.fabrikam.one/api/sqlquery?query=x%22%20or%201%3D1%20--"。
HTTP 403 响应确认 WAF 阻止了请求。
应用程序网关防火墙日志提供有关请求的更多详细信息,以及请求被 WAF 阻止的原因。