在 Azure Stack HCI 上实现数据中心防火墙
你确信 Azure Stack HCI 的软件定义网络 (SDN) 分布式防火墙功能可以帮助提高网络基础结构的安全性。 在本单元中,你将通过在概念证明环境中实现 Azure Stack HCI 中的数据中心防火墙来评估其功能和有用性。
实现数据中心防火墙
实现数据中心防火墙策略的基本过程包括以下步骤。 可以通过使用 PowerShell、Windows Admin Center 或 System Center Virtual Machine Manager (VMM) 执行这些步骤。
创建一个访问控制列表 (ACL) 对象。
在 ACL 中,定义一个或多个入站和出站规则,以根据下列任一条件允许或拒绝东-西和北-南网络流量:
- 协议,表示第 4 层协议,设置为“TCP”、“UDP”或“全部”。 除了传输控制协议 (TCP) 和用户数据报协议 (UDP),“全部”还包括 Internet 控制消息协议 (ICMP)。
- 源地址前缀,表示传入或传出网络数据包原点的 IP 地址前缀。 星号
*
是用于表示所有 IP 地址的通配符。 - 源端口范围,表示传入或传出的网络数据包源自的一个或多个端口号。 星号
*
是用于表示所有端口号的通配符。 - 目标地址前缀,表示传入或传出网络数据包目标的 IP 地址前缀。 星号
*
是用于表示所有 IP 地址前缀的通配符。 - 目标端口范围,表示传入或传出的网络数据包目标的一个或多个端口号。 星号
*
是用于表示所有端口号的通配符。
为每个规则指定以下设置:
- 操作,表示发现匹配项时规则的结果,设置为“允许”或“拒绝”。
- 优先级,表示规则相对于同一 ACL 中其他规则的优先级。 同一 ACL 中的每个规则必须具有唯一的优先级,并且可以设置为介于 100 和 65000 之间的任何值。 数值越小,表示优先级越高。
(可选)为各个防火墙规则启用日志记录。
将在 ACL 对象中定义的规则应用于目标作用域,这可以是以下任意对象:
- 虚拟网络子网。
- 逻辑网络子网。
- 连接到虚拟网络子网或逻辑网络子网的虚拟机 (VM) 的网络接口。
注意
将 ACL 应用到虚拟网络子网或逻辑网络子网可简化管理过程,但有时你可能需要使约束更精细。 如果是这样,则可以将 ACL 分配给单个 VM 网络接口。
如果在源和目标之间存在多个 ACL,则生成的约束将取决于网络流量方向。 对于入站流量,子网 ACL 将在分配给网络接口 ACL 之前应用。 对于出站流量,则采用相反的顺序。
评估数据中心防火墙功能
如果没有应用任何自定义 ACL 规则,网络接口的默认行为是允许所有出站流量,但会阻止所有入站流量。 要评估数据中心防火墙功能,请首先创建一个 ACL,其中包含允许所有入站网络流量以 ACL 适用的作用域为目标的规则。 然后,识别并限制某些入口流量。 最后,将 ACL 应用于目标虚拟网络子网。
创建 ACL 后,添加具有以下设置的“allow-all”规则,以允许所有入口流量:
源地址前缀 目标地址前缀 协议 源端口 目标端口 类型 操作 优先级 * * ALL * * 入站 Allow 1000 以下屏幕截图显示了 Windows Admin Center“访问控制规则”条目窗格,其中正在创建“allow-all”规则。
允许所有入站流量后,确定要阻止的流量类型。
例如,你可能想要限制通过 Windows 远程管理 (WinRM) 跨子网的连接。 此类型限制可以限制在单个 VM 遭到入侵后横向移动的漏洞的影响。 你仍会允许在同一子网中建立 WinRM 连接。
基于发起子网具有 IP 地址范围 192.168.0.0/24 的假设,应用以下设置来创建新的规则。
源地址前缀 目标地址前缀 协议 源端口 目标端口 类型 操作 优先级 192.168.0.0/24 * TCP * 5985,5986 入站 阻止 500 * * ALL * * 入站 Allow 1000 以下屏幕截图显示了 Windows Admin Center“访问控制规则”条目窗格,其中正在创建“deny-winrm”规则。
现在,将 ACL 分配给 IP 地址前缀为 192.168.100.0/24 的示例目标虚拟网络子网。
完成评估后,从目标作用域中移除 ACL 分配,以还原到默认筛选行为。