使用应用程序网关 WAF 保护应用程序

为使用 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. 创建一个路由规则,用于连接侦听器、后端池和在前面的步骤中创建的后端设置

将规则添加到应用程序网关 1 的屏幕截图。 将规则添加到应用程序网关 2 的屏幕截图。

5. 在应用程序网关中启用 WAF 并将其设置为“阻止”模式

在应用程序网关中启用 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--"。

WAF 响应的屏幕截图。

HTTP 403 响应确认 WAF 阻止了请求。

应用程序网关 防火墙日志 提供有关请求的更多详细信息,以及 WAF 阻止请求的原因。

waf 日志的屏幕截图。

后续步骤