你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:使用 Azure 门户通过网络安全组筛选网络流量
可以使用网络安全组来筛选进出 Azure 虚拟网络中 Azure 资源的入站和出站网络流量。
网络安全组包含安全规则,这些规则可按 IP 地址、端口和协议筛选网络流量。 当网络安全组与某个子网关联时,安全规则将应用于该子网中部署的资源。
本教程介绍如何执行下列操作:
- 创建网络安全组和安全规则
- 创建应用程序安全组
- 创建虚拟网络并将网络安全组关联到子网
- 部署虚拟机并将其网络接口关联到应用程序安全组
- 测试流量筛选器
如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
先决条件
- Azure 订阅
登录 Azure
登录 Azure 门户。
创建虚拟网络
在 Azure 门户菜单中,选择“+ 创建资源”>“网络”>“虚拟网络”,或者在门户搜索框中搜索“虚拟网络”。
选择“创建”。
在“创建虚拟网络”的“基本信息”选项卡中,输入或选择以下信息:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“新建”。 输入“myResourceGroup”。 选择“确定”。 实例详细信息 名称 输入 myVNet。 区域 选择“美国东部”。 选择“查看 + 创建”选项卡,或选择页面底部的“查看 + 创建”按钮 。
选择“创建”。
创建应用程序安全组
使用应用程序安全组 (ASG) 可将功能类似的服务器(例如 Web 服务器)分组到一起。
在 Azure 门户菜单中,选择“+ 创建资源”>“网络”>“应用程序安全组”,或者在门户搜索框中搜索“应用程序安全组”。
选择“创建”。
在“创建应用程序安全组”的“基本信息”选项卡中,输入或选择以下信息:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“myResourceGroup”。 实例详细信息 名称 输入“myAsgWebServers”。 区域 选择“(US)美国东部”。 选择“查看 + 创建”选项卡,或选择页面底部的“查看 + 创建”按钮 。
选择“创建”。
重复上述步骤并指定以下值:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“myResourceGroup”。 实例详细信息 名称 输入“myAsgMgmtServers”。 区域 选择“(US)美国东部”。 选择“查看 + 创建”选项卡,或选择页面底部的“查看 + 创建”按钮 。
选择“创建”。
创建网络安全组
网络安全组 (NSG) 保护虚拟网络中的网络流量。
在 Azure 门户菜单中,选择“+ 创建资源”>“网络”>“网络安全组”,或者在门户搜索框中搜索“网络安全组”。
选择“创建”。
在“创建网络安全组”的“基本信息”选项卡中,输入或选择以下信息:
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“myResourceGroup”。 实例详细信息 名称 输入“myNSG”。 位置 选择“(US)美国东部”。 选择“查看 + 创建”选项卡,或选择页面底部的“查看 + 创建”按钮 。
选择“创建”。
将网络安全组关联到子网
在本部分,你要将网络安全组与前面创建的虚拟网络的子网相关联。
在门户搜索框中搜索“myNsg”。
在“myNSG”的“设置”部分选择“子网”。
在“子网”页中,选择“+ 关联”:
在“关联子网”下,为“虚拟网络”选择“myVNet”。
为“子网”选择“默认”,然后选择“确定”。
创建安全规则
在“myNSG”的“设置”部分选择“入站安全规则”。
在“入站安全规则”页中,选择“+ 添加”:
创建一项允许端口 80 和 443 与 myAsgWebServers 应用程序安全组通信的安全规则。 在“添加入站安全规则”页中,输入或选择以下信息:
设置 值 源 保留默认值“任意”。 源端口范围 保留默认值 (*)。 目标 选择“应用程序安全组”。 目标应用程序安全组 选择“myAsgWebServers”。 服务 保留默认值“自定义”。 目标端口范围 输入“80,443”。 协议 选择“TCP”。 操作 保留默认值“允许”。 优先级 保留默认值“100”。 名称 输入“Allow-Web-All”。 选择 添加 。
使用以下信息再次完成步骤 3-4:
设置 值 源 保留默认值“任意”。 源端口范围 保留默认值 (*)。 目标 选择“应用程序安全组”。 目标应用程序安全组 选择“myAsgMgmtServers”。 服务 保留默认值“自定义”。 目标端口范围 输入“3389”。 协议 选择“任何”。 操作 保留默认值“允许”。 优先级 保留默认值“110”。 名称 输入“Allow-RDP-All”。 选择“添加” 。
注意
在本文中,将在 Internet 上为分配给“myAsgMgmtServers”应用程序安全组的 VM 公开 RDP(端口 3389)。
在生产环境中,建议使用 VPN、专用网络连接或 Azure Bastion 来连接到要管理的 Azure 资源,而不要向 Internet 公开端口 3389。
有关 Azure Bastion 的详细信息,请参阅什么是 Azure Bastion?。
完成步骤 1-3 以后,请复查所创建的规则。 你的列表应如以下示例中的列表所示:
创建虚拟机
在虚拟网络中创建两个虚拟机 (VM)。
创建第一个虚拟机
在 Azure 门户菜单中,选择“创建资源”>“计算”>“虚拟机”,或者在门户搜索框中搜索“虚拟机”。
在“创建虚拟机”的“基本信息”选项卡中,输入或选择以下信息 :
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择“myResourceGroup”。 实例详细信息 虚拟机名称 输入“myVMWeb”。 区域 选择“(US)美国东部”。 可用性选项 保留默认值“不需要基础结构冗余”。 安全类型 保留默认值“标准”。 映像 选择“Windows Server 2019 Datacenter - Gen2”。 Azure Spot 实例 保留默认值“未选中”。 大小 选择“Standard_D2s_V3”。 管理员帐户 用户名 输入用户名。 Password 输入密码。 确认密码 重新输入密码。 入站端口规则 选择入站端口 选择“无”。 选择“网络”选项卡。
在“网络”中,输入或选择以下信息:
设置 值 网络接口 虚拟网络 选择“myVNet”。 子网 选择“默认值 (10.0.0.0/24)”。 公共 IP 保留默认值“新建公共 IP”。 NIC 网络安全组 选择“无”。 选择“查看 + 创建”选项卡,或选择页面底部的“查看 + 创建”按钮 。
选择“创建”。 部署 VM 可能需要几分钟时间。
创建第二个虚拟机
再次完成步骤 1-6,但在步骤 2 中,请输入“myVMMgmt”作为虚拟机名称。
等待 VM 部署完成,然后转到下一部分。
将网络接口关联到 ASG
当你创建 VM 时,Azure 已经为每个 VM 创建了一个网络接口,并已将该接口附加到 VM。
请将每个 VM 的网络接口添加到前面创建的应用程序安全组:
在门户搜索框中搜索“myVMWeb”。
在“myVMWeb”VM 的“设置”部分选择“网络”。
选择“应用程序安全组”选项卡,然后选择“配置应用程序安全组” 。
在“配置应用程序安全组”中,选择“myAsgWebServers” 。 选择“保存”。
再次完成步骤 1 和 2,搜索 myVMMgmt 虚拟机并选择 myAsgMgmtServers ASG。
测试流量筛选器
在门户搜索框中搜索“myVMMgmt”。
在“概述”页上选择“连接”按钮,然后选择“RDP”。
选择“下载 RDP 文件”。
打开下载的 rdp 文件,然后选择“连接”。 输入在创建 VM 时指定的用户名和密码。
选择“确定”。
在连接过程中可能会收到证书警告。 如果收到警告,请选择“是”或“继续”以继续连接 。
连接会成功,因为允许通过端口 3389 将来自 Internet 的入站流量发送到 myAsgMgmtServers 应用程序安全组。
“myVMMgmt”的网络接口与“myAsgMgmtServers”应用程序安全组相关联,并允许连接 。
在“myVMMgmt”上打开 PowerShell 会话。 使用以下命令连接到“myVMWeb”:
mstsc /v:myVmWeb
从“myVMMgmt”到“myVMWeb”的 RDP 连接会成功,因为同一网络中的虚拟机默认情况下可以通过任何端口相互通信。
不能从 Internet 创建到“myVMWeb”虚拟机的 RDP 连接。 “myAsgWebServers”的安全规则阻止从 Internet 连接到端口 3389 入站。 默认情况下,拒绝来自 Internet 的入站流量到所有资源。
若要在“myVMWeb”虚拟机上安装 Microsoft IIS,请在“myVMWeb”虚拟机上通过 PowerShell 会话输入以下命令 :
Install-WindowsFeature -name Web-Server -IncludeManagementTools
完成 IIS 安装后,从“myVMWeb”虚拟机断开连接,从而保留“myVMMgmt”虚拟机远程桌面连接 。
从“myVMMgmt”VM 断开连接。
在门户搜索框中搜索“myVMWeb”。
在“myVMWeb”的“概述”页上,记下 VM 的“公共 IP 地址”。 以下示例所示地址为 23.96.39.113,但你的地址与此不同:
若要确认能否从 Internet 访问“myVMWeb”Web 服务器,请在计算机上打开 Internet 浏览器并浏览到
http://<public-ip-address-from-previous-step>
。
你将看到 IIS 默认页,因为允许通过端口 80 将来自 Internet 的入站流量发送到 myAsgWebServers 应用程序安全组。
附加到“myVMWeb”的网络接口与“myAsgWebServers”应用程序安全组相关联,并允许连接 。
清理资源
不再需要资源组时,可将资源组及其包含的所有资源一并删除:
- 在门户顶部的“搜索”框中输入“myResourceGroup”。 当在搜索结果中看到“myResourceGroup”时,将其选中。
- 选择“删除资源组”。
- 对于“键入资源组名称:”,输入“myResourceGroup”,然后选择“删除”。
后续步骤
在本教程中,你将了解:
- 已创建一个网络安全组并将其关联到虚拟网络子网。
- 已为 Web 和管理创建应用程序安全组。
- 已创建两个虚拟机并将其网络接口与应用程序安全组相关联。
- 已测试应用程序安全组网络筛选。
若要详细了解网络安全组,请参阅网络安全组概述和管理网络安全组。
默认情况下,Azure 在子网之间路由流量。 你也可以选择通过某个 VM(例如,充当防火墙的 VM)在子网之间路由流量。
若要了解如何创建路由表,请继续学习下一教程。