创建网络基线
Azure 网络服务旨在最大程度提高灵活性、可用性、复原能力、安全性和完整性。 Azure 中的资源之间、本地资源与 Azure 托管的资源之间,以及 Internet 与 Azure 之间都可能存在网络连接。
Azure 网络安全建议
以下部分介绍了 CIS Microsoft Azure Foundations Security Benchmark v. 1.3.0 中的网络建议。 每项建议都包含要在 Azure 门户中完成的基本步骤。 应为自己的订阅完成这些步骤,并使用自己的资源来验证每个安全建议。 注意,“级别 2”选项可能会限制某些功能或活动,因此请仔细考虑你决定执行的安全选项。
限制从 Internet 进行 RDP 和 SSH 访问 - 级别 1
使用远程桌面协议 (RDP) 和安全外壳 (SSH) 协议可以访问 Azure VM。 可以使用这些协议从远程位置管理 VM。 协议在数据中心计算中是标准的。
在 Internet 上使用 RDP 和 SSH 的潜在安全问题是,攻击者可以使用暴力攻击技术来访问 Azure VM。 攻击者获取访问权限后,就可以使用 VM 作为危及虚拟网络上其他计算机的启动点,甚至攻击 Azure 之外的网络设备。
我们建议禁用从 Internet 对 Azure VM 的直接 RDP 和 SSH 访问。 为 Azure 订阅中的每个 VM 完成以下步骤。
登录 Azure 门户。 搜索并选择“虚拟机”。
在左侧菜单的“设置”下,选择“网络”。
在“网络”窗格中,确保“入站端口规则”选项卡没有用于 RDP 的规则,例如:
port=3389, protocol = TCP, Source = Any or Internet
。确保“入站端口规则”选项卡没有用于 SSH 的规则,例如:
port=22, protocol = TCP, Source = Any or Internet
。
禁用从 Internet 的直接 RDP 和 SSH 访问之后,可通过其他选项访问这些 VM 以便进行远程管理:
- 点到站点 VPN
- 站点到站点 VPN
- Azure ExpressRoute
- Azure Bastion 主机
限制从 Internet 进行 SQL Server 访问 - 级别 1
防火墙系统有助于阻止对计算机资源进行未经授权的访问。 如果防火墙已打开但未正确配置,则系统可能会阻止尝试连接到 SQL Server。
要通过防火墙访问 SQL Server 的实例,必须配置运行 SQL Server 的计算机上的防火墙。 允许 IP 范围 0.0.0.0/0
(起始 IP 0.0.0.0
,结束 IP 0.0.0.0
)的流入量,便可公开访问任何和所有流量,这可能会使 SQL Server 数据库容易受到攻击。 确保没有任何 SQL Server 数据库允许来自 Internet 的流入量。 为每个 SQL Server 实例完成以下步骤。
登录 Azure 门户。 搜索并选择“SQL Server”。
在菜单窗格中的“安全性”下,选择“网络”。
在“网络”窗格中的“公共访问”选项卡上,确保存在防火墙规则。 请确保没有任何规则的“起始 IP”为
0.0.0.0
,“结束 IP”为0.0.0.0
或具有其他允许访问更广泛的公共 IP 范围的组合。如果更改任何设置,请选择“保存”。
启用网络观察程序 - 级别 1
NSG 流日志是一项 Azure 网络观察程序功能,可为你提供有关通过 NSG 的 IP 入口和出口流量的信息。 流日志以 JSON 格式编写,并显示:
- 根据规则显示出站和入站流。
- 流适用的网络接口 (NIC)。
- 有关流的 5 元组信息:源 IP 地址和目标 IP 地址、源端口和目标端口,以及所使用的协议。
- 是允许流还是拒绝了流。
- 在版本 2 中,吞吐量信息(例如字节和数据包)。
登录 Azure 门户。 搜索并选择“网络观察程序”。
为订阅和位置选择“网络观察程序”。
如果订阅不存在 NSG 流日志,请创建 NSG 流日志。
将 NSG 流日志保持期设置为超过 90 天 - 级别 2
在订阅中创建或更新虚拟网络时,在虚拟网络的区域中自动启用网络观察程序。 资源不会受到影响,在自动启用网络观察程序时不会评估任何费用。
可以使用 NSG 流日志来检查异常情况,并深入了解可疑的违规行为。
登录 Azure 门户。 搜索并选择“网络观察程序”。
在左侧菜单中的“日志”下,选择“NSG 流日志”。
选择 NSG 流日志。
确保“保留期(天)”大于 90 天。
如果更改任何设置,请在菜单栏中选择“保存”。