对于公有云来说,用户最关心的莫过于安全方面的问题了。借助本文,我们来了解下Azure中的访问控制列表。

首先我们来看下什么是终结点访问控制列表ACL?

终结点访问控制列表 (ACL) 是可用于 Azure 部署的安全增强。 利用 ACL,可以选择允许还是拒绝虚拟机终结点的流量。 此数据包筛选功能额外提供了一层安全性。 只能为终结点指定网络 ACL, 无法为虚拟网络或虚拟网络中包含的特定子网指定 ACL。 建议尽可能使用网络安全组 (NSG),而不要使用 ACL。

使用网络 ACL 可以实现以下目的:

  • 根据远程子网 IPv4 地址范围选择允许还是拒绝传入流量流向虚拟机输入终结点。

  • 方块列表 IP 地址

  • 为每个虚拟机终结点创建多个规则

  • 使用规则排序可确保将一组正确的规则应用于给定的虚拟机终结点(最低到最高)

  • 为特定远程子网 IPv4 地址指定 ACL。

可以使用 PowerShell 或 Azure 门户配置 ACL。

ACL 的工作原理

ACL 是包含规则列表的对象。 创建 ACL 并将其应用于虚拟机终结点时,数据包筛选会在 VM 的主机节点上发生。 这意味着,来自远程 IP 地址的流量将通过主机节点筛选以匹配 ACL 规则,而不是在 VM 上进行筛选。 这可以防止 VM 将宝贵的 CPU 周期耗费在数据包筛选上。

创建虚拟机时,会设置一个默认 ACL 来阻止所有传入流量。 但是,如果创建了一个终结点(针对端口 3389),则会修改默认 ACL 以允许该终结点的所有入站流量。 随后,将允许来自任何远程子网的传入流量流向该终结点,而且不需要配置防火墙。 除非为这些端口创建了终结点,否则将阻止所有其他端口的传入流量。 默认情况下允许出站流量。

默认 ACL 表示例

规则 #远程子网终结点允许/拒绝
1000.0.0.0/03389允许

允许和拒绝

可以通过创建指定“允许”或“拒绝”的规则来选择允许还是拒绝虚拟机输入终结点的网络流量。请务必注意,默认情况下,创建一个终结点后,将允许所有流量流向该终结点。 因此,如果希望精确地控制选择允许访问虚拟机终结点的网络流量,则必须了解如何创建允许/拒绝规则并为其安排正确的优先顺序。

考虑的要点:

  1. 无 ACL - 默认情况下,在创建一个终结点后,我们将允许终结点的所有流量。

  2. 允许 - 默认情况,在添加一个或多个“允许”范围后,将拒绝所有其他范围。 只有来自允许的 IP 范围的数据包才能与虚拟机终结点进行通信。

  3. 拒绝 - 默认情况,在添加一个或多个“拒绝”范围后,将允许所有其他范围的流量。

  4. 允许和拒绝的组合 -要指定允许或拒绝的特定 IP 范围时,可结合使用“允许”和“拒绝”。

规则和规则优先顺序

可对特定虚拟机终结点设置网络 ACL。 例如,可为在虚拟机上创建的 RDP 终结点指定一个网络 ACL,它将锁定对某些 IP 地址的访问。ACL采用越小越优先的规则顺序。

多个规则

如果希望仅允许两个公共 IPv4 地址范围(65.0.0.0/8 和 159.0.0.0/8)内的 IP 访问 RDP 终结点,则可以通过指定两个“允许”规则来实现。 在这种情况下,由于默认为虚拟机创建 RDP,因此,你需要锁定对基于远程子网的 RDP 端口的访问。 由于可为特定虚拟机终结点设置网络 ACL 访问且在默认情况下访问会被拒绝,因此这种方法很有用。

通过Azure 门户创建终结点ACL

登录到Azure门户中,点击虚拟机,点击需要创建ACL的虚拟机,然后点击终结点,如下图所示

image

在终结点列表中,找到你所需要添加访问控制列表的终结点

image

在访问控制列表中,填入顺序、名称、选择操作,子网等等

image

可以输入多条规则

image