使用 Azure 门户部署和配置 Azure 防火墙

控制出站网络访问是整个网络安全计划的重要组成部分。 例如,你可能想要限制对网站的访问, 或者限制可以访问的出站 IP 地址和端口。

可以控制 Azure 子网的出站网络访问的一种方法是使用 Azure 防火墙。 使用 Azure 防火墙,可以配置:

  • 应用程序规则,用于定义可从子网访问的完全限定域名 (FQDN)。
  • 网络规则,用于定义源地址、协议、目标端口和目标地址。

将网络流量路由到用作子网默认网关的防火墙时,网络流量受到配置的防火墙规则的控制。

在本文中,你将创建一个包含两个子网的简化 VNet 便于轻松部署。

  • AzureFirewallSubnet - 防火墙在此子网中。
  • Workload-SN - 工作负荷服务器在此子网中。 此子网的网络流量通过防火墙。

网络基础结构

在本文中,学习如何:

  • 设置测试网络环境
  • 部署防火墙
  • 创建默认路由
  • 配置一个应用程序规则以允许访问 www.qq.com
  • 配置网络规则,以允许访问外部 DNS 服务器
  • 将 NAT 规则配置为允许远程桌面连接到测试服务器
  • 测试防火墙

备注

本文使用经典防火墙规则来管理防火墙。 首选方法是使用防火墙策略。 若要使用防火墙策略完成此过程,请查看教程:使用 Azure 门户部署和配置 Azure 防火墙和策略

如果需要,可以使用 Azure PowerShell 完成此过程。

先决条件

如果没有 Azure 订阅,请在开始前创建一个试用订阅

设置网络

首先,创建一个资源组用于包含部署防火墙所需的资源。 然后创建 VNet、子网和测试服务器。

创建资源组

资源组包含此过程中使用的所有资源。

  1. https://portal.azure.cn 中登录 Azure 门户。
  2. 在 Azure 门户菜单上,选择“资源组”或从任意页面搜索并选择“资源组”。 然后选择“添加” 。
  3. 对于“订阅”,请选择自己的订阅。
  4. 对于“资源组名称”,请输入“Test-FW-RG”。
  5. 对于“资源组位置”,请选择一个位置。 你创建的所有其他资源必须位于同一位置。
  6. 选择“查看 + 创建”。
  7. 选择“创建”。

创建 VNet

此 VNet 将包含三个子网。

备注

AzureFirewallSubnet 子网的大小为 /26。 有关子网大小的详细信息,请参阅 Azure 防火墙常见问题解答

  1. 在 Azure 门户菜单或“主页”页上,选择“创建资源” 。

  2. 选择“网络” > “虚拟网络”。

  3. 选择“创建”。

  4. 对于“订阅”,请选择自己的订阅。

  5. 对于“资源组”,请选择“Test-FW-RG”。

  6. 对于“名称”,请键入 Test-FW-VN

  7. 对于“区域”,请选择以前使用的同一位置。

  8. 在完成时选择“下一步:IP 地址”。

  9. 对于“IPv4 地址空间”,请键入“10.0.0.0/16”。

  10. 在“子网”下,选择“默认值”。

  11. 对于“子网名称”,键入“AzureFirewallSubnet”。 防火墙将位于此子网中,子网名称 必须 是 AzureFirewallSubnet。

  12. 对于“地址范围”,请键入 10.0.1.0/26

  13. 选择“保存”。

    接下来,创建工作负荷服务器的子网。

  14. 选择“添加子网”。

  15. 对于“子网名称”,请键入“Workload-SN”。

  16. 键入“10.0.2.0/24”作为“子网地址范围” 。

  17. 选择 添加

  18. 选择“查看 + 创建” 。

  19. 选择“创建”。

创建虚拟机

现在创建工作负荷虚拟机,将其置于“Workload-SN”子网中。

  1. 在 Azure 门户菜单或“主页”页上,选择“创建资源” 。
  2. 选择“虚拟机”。
  3. 在特色列表中选择“Windows Server 2016 Datacenter”。
  4. 输入虚拟机的以下值:
设置
资源组 Test-FW-RG
虚拟机名称 Srv-Work
区域 与前面相同
映像 Windows Server 2016 Datacenter
管理员用户名 键入用户名
密码 键入密码
  1. 在“公用入站端口”,“入站端口规则”下 ,选择“无”。
  2. 接受其他默认值,然后选择“下一步:磁盘”
  3. 接受磁盘默认值,然后选择“下一步:网络”。
  4. 请确保为虚拟网络选择“Test-FW-VN”,并且子网为“Workload-SN”。
  5. 对于“公共 IP”,请选择“无”。
  6. 接受其他默认值,然后选择“下一步:管理”
  7. 选择“禁用”以禁用启动诊断。 接受其他默认值,然后选择“查看 + 创建”。
  8. 检查摘要页上的设置,然后选择“创建”。

备注

Azure 为未获得公共 IP 地址或位于内部基本 Azure 负载均衡器后端池中的 Azure 虚拟机提供临时 IP。 临时 IP 机制可提供无法配置的出站 IP 地址。

如果将公共 IP 地址分配给某个虚拟机或将该虚拟机置入具有或不具有出站规则的标准负载均衡器的后端池中时,将禁用其原有的临时 IP。 如果向虚拟机的子网分配了 Azure 虚拟网络 NAT 网关资源,也会禁用其临时 IP。

有关 Azure 中出站连接的详细信息,请参阅为出站连接使用源网络地址转换 (SNAT)

部署防火墙

将防火墙部署到 VNet。

  1. 在 Azure 门户菜单或“主页”页上,选择“创建资源” 。

  2. 在搜索框中键入“防火墙”,然后按 Enter

  3. 选择“防火墙”,然后选择“创建” 。

  4. 在“创建防火墙”页上,使用下表配置防火墙:

    设置
    订阅 <your subscription>
    资源组 Test-FW-RG
    名称 Test-FW01
    区域 选择前面使用的同一位置
    防火墙管理 使用“防火墙规则(经典)”来管理此防火墙
    选择虚拟网络 使用现有项Test-FW-VN
    公共 IP 地址 添加新内容
    名称:fw-pip
  5. 接受其他默认值,然后选择“查看 + 创建”。

  6. 查看摘要,然后选择“创建”以创建防火墙。

    需要花费几分钟时间来完成部署。

  7. 部署完成后,转到“Test-FW-RG”资源组,然后选择“Test-FW01”防火墙。

  8. 记下防火墙专用 IP 地址和公共 IP 地址。 稍后将使用这些地址。

创建默认路由

对于“Workload-SN”子网,请配置要通过防火墙的出站默认路由。

  1. 在 Azure 门户菜单上,选择“所有服务”或在任何页面中搜索并选择“所有服务”。
  2. 在“网络”下,选择“路由表”。
  3. 选择 添加
  4. 对于“订阅”,请选择自己的订阅。
  5. 对于“资源组”,请选择“Test-FW-RG”。
  6. 对于“区域”,请选择以前使用的同一位置。
  7. 对于“名称”,请键入 Firewall-route
  8. 选择“查看 + 创建”。
  9. 选择“创建”。

部署完成后,选择“转到资源”。

  1. 在“防火墙路由”页上,选择“子网”,然后选择“关联”。

  2. 选择“虚拟网络” > “Test-FW-VN”。

  3. 对于“子网”,请选择“Workload-SN”。 请确保仅为此路由选择“Workload-SN” 子网,否则防火墙将无法正常工作

  4. 选择“确定”。

  5. 依次选择“路由”、“添加” 。

  6. 对于“路由名称”,请键入 fw-dg

  7. 对于“地址前缀”,请键入 0.0.0.0/0

  8. 对于“下一跃点类型”,请选择“虚拟设备”。

    Azure 防火墙实际上是一个托管服务,但虚拟设备可在此场合下正常工作。

  9. 对于“下一跃点地址”,请键入前面记下的防火墙专用 IP 地址。

  10. 选择“确定”。

配置应用程序规则

这是允许出站访问 www.qq.com 的应用程序规则。

  1. 打开“Test-FW-RG”,然后选择“Test-FW01”防火墙。
  2. 在“Test-FW01”页的“设置”下,选择“规则(经典)” 。
  3. 选择“应用程序规则集合”选项卡。
  4. 选择“添加应用程序规则集合”。
  5. 对于“名称”,请键入 App-Coll01
  6. 对于“优先级”,请键入 200
  7. 对于“操作”,请选择“允许”。
  8. 在“规则” 下的“目标 FQDN” 中,键入 Allow-QQ 作为 名称
  9. 对于 源类型,请选择“IP 地址” 。
  10. 对于 ,请键入 10.0.2.0/24
  11. 对于“协议:端口”,请键入 http, https
  12. 对于“目标 FQDN”,请键入 www.qq.com
  13. 选择 添加

Azure 防火墙包含默认情况下允许的基础结构 FQDN 的内置规则集合。 这些 FQDN 特定于平台,不能用于其他目的。 有关详细信息,请参阅基础结构 FQDN

配置网络规则

这是允许在端口 53 (DNS) 上对两个 IP 地址进行出站访问的网络规则。

  1. 选择“网络规则集合”选项卡。

  2. 选择“添加网络规则集合”。

  3. 对于“名称”,请键入 Net-Coll01

  4. 对于“优先级”,请键入 200

  5. 对于“操作”,请选择“允许”。

  6. 在“规则”下,对于“名称”键入 Allow-DNS

  7. 对于“协议”,请选择“UDP”。

  8. 对于 源类型,请选择“IP 地址”。

  9. 对于 ,请键入 10.0.2.0/24

  10. 对于“目标类型”,请选择“IP 地址”。

  11. 对于 目标地址,请键入 209.244.0.3,209.244.0.4

    这些是由 CenturyLink 操作的公共 DNS 服务器。

  12. 对于“目标端口”,请键入 53

  13. 选择 添加

配置 DNAT 规则

此规则允许通过防火墙将远程桌面连接到 Srv-Work 虚拟机。

  1. 选择“NAT 规则集合”选项卡。
  2. 选择“添加 NAT 规则集合”。
  3. 对于“名称”,请键入“rdp”。
  4. 对于“优先级”,请键入 200
  5. 在“规则”下,对于“名称”,键入“rdp-nat” 。
  6. 对于“协议”,请选择“TCP”。
  7. 对于 源类型,请选择“IP 地址”。
  8. 对于“源”,请键入 * 。
  9. 对于“目标地址”,键入防火墙的公共 IP 地址。
  10. 对于“目标端口”,请键入 3389
  11. 对于“已翻译的地址”,键入 Srv-work 的专用 IP 地址。
  12. 对于“已翻译的端口” ,键入 3389
  13. 选择 添加

更改 Srv-Work 网络接口的主要和辅助 DNS 地址

为了进行测试,请配置服务器的主要和辅助 DNS 地址。 这并不是一项常规的 Azure 防火墙要求。

  1. 在 Azure 门户菜单上,选择“资源组”或从任意页面搜索并选择“资源组”。 选择“Test-FW-RG”资源组。
  2. 选择 Srv-Work 虚拟机的网络接口。
  3. 在“设置”下,选择“DNS 服务器”。
  4. 在“DNS 服务器”下,选择“自定义”。
  5. 在“添加 DNS 服务器”文本框中键入 209.244.0.3,在下一个文本框中键入 209.244.0.4
  6. 选择“保存” 。
  7. 重启 Srv-Work 虚拟机。

测试防火墙

现在测试防火墙,以确认它是否按预期方式工作。

  1. 将远程桌面连接到防火墙公共 IP 地址,并登录到“Srv-Work”虚拟机。

  2. 打开 Internet Explorer 并浏览到 https://www.qq.com

  3. 出现 Internet Explorer 安全警报时,请选择“确定” > “关闭”。

    应会看到 QQ 主页。

  4. 浏览到 https://www.microsoft.com

    防火墙应会阻止你访问。

现已验证防火墙规则可正常工作:

  • 可以浏览到一个允许的 FQDN,但不能浏览到其他任何 FQDN。
  • 可以使用配置的外部 DNS 服务器解析 DNS 名称。

清理资源

可保留防火墙资源来继续测试。如果不再需要,请删除 Test-FW-RG 资源组,以删除与防火墙相关的所有资源。

后续步骤

教程:监视 Azure 防火墙日志