为使用 Microsoft Entra 应用程序代理发布的应用添加 Web 应用程序防火墙(WAF)保护。
若要了解有关 Web 应用程序防火墙的详细信息,请参阅 什么是 Azure 应用程序网关上的 Azure Web 应用程序防火墙?。
部署步骤
本文提供了在 Internet 上使用 Microsoft Entra 应用程序代理和应用程序网关上的 Azure WAF 安全地公开 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。 远程客户端通过应用程序代理,从互联网的 443 端口访问应用程序。 连接到企业网络的客户端以私密访问应用程序。 访问直接通过端口 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 阻止请求的原因。