我正在尝试使用 Azure 网络安全组创建一个简单的 DMZ,并使用 Barracuda WAF 作为进入 DMZ 的公共入口点,但是在允许互联网流量访问 Barracuda(然后转发到我的应用程序服务器的内部负载均衡器)时遇到了一些问题。
我应该使用什么作为源和目标 IP 前缀?我尝试过:
- 来源:0.0.0.0/0 目的地:Barracuda 的内部 IP
- 来源:互联网 目的地:Barracuda 的内部 IP
- 来源:Barracuda 的公共 IP目的地:Barracuda 的内部 IP
- 来源:0.0.0.0/0 目的地:Barracuda 的公网 IP
我也尝试将条目的优先级更改为 100 和 1000(其他所有都是 900 - 500)。
我已经删除了 Barracuda 虚拟机上的所有默认端点配置(因为我发现这些配置似乎覆盖了网络安全组)。
当我没有安装网络安全组时,网络肯定可以与 Barracuda 配合使用,但我想使用网络安全组来确保我有一个“尽可能安全”的 DMZ。
端点
Name | Type | Prty | Source IP | Port | Dest IP | Port | Protcl | Access
DMZ NSG:
Internet | Inbound | 100 | INTERNET | 443 | 10.106.164.20 | 443 | TCP | Allow
ADFS-WAP | Outbound | 900 | 10.0.20.0 | 443 | 10.0.1.10 | 443 | TCP | Allow
Internal NSG:
ADFS | Inbound | 900 | 10.0.20.0 | 443 | 10.0.1.10 | 443 | TCP | Allow
答案1
我对 Azure 还不熟悉,但我会尽力提供帮助。我读过一些有关 NSG 的资料,但还没有在实践中使用过。
- NSG 适用于虚拟机或子网。
- NSG 当前仅适用于 VM 的主 NIC。
- 正如您所说,VM 端点与 NSG 不兼容。
如果您的 Barracuda WAP 有两个接口,我不确定它如何与 NSG 配合使用。我认为 NSG 无法为您提供所需的灵活性。
考虑到这一点,我建议设置两个子网,DMZ 和内部。例如,SUBNET1 可以是 10.0.1.0/24,SUBNET2 可以是 10.0.2.0/24。然后,您可以将 NSG 应用于子网而不是虚拟机,这样您就可以灵活地添加更多服务,而无需为每个虚拟机创建新的 NSG。如果需要,您只需向现有 NSG 添加条目即可。
对于 DMZ 子网,您有一个允许的入站规则INTERNET:443 -> SUBNET1:443 (10.0.1.0/24)
,对于内部子网,您也有一个入站规则:SUBNET1:443 (10.0.1.0/24) -> SUBNET2:443 (10.0.2.0/24)
。NSG 是有状态的,因此如果启动了入站连接,则还允许该连接的相应出站流量。