1

我知道网络 ACL 和安全组的有状态/无状态性质;我也知道网络 ACL 与子网相关联,而安全组与实例相关联。

以上两个是最明显的区别,我们应该在其中编码我们的安全策略。

但是,有没有我们可以清楚地看到一个比另一个更好的用例?

例如,现在,我正在考虑锁定堡垒主机的网络安全。我可以将其编码为安全组 sg_A {仅允许来自一组已知 IP 范围的 22 个用于入口流量},并将 sg_A 与堡垒实例相关联。我还可以将其编码为网络 ACL net_acl_B {仅允许来自一组已知 IP 范围的 22 个用于入口流量},并将 net_acl_B 与堡垒实例所在的子网相关联。

4

1 回答 1

3

我还可以将其编码为网络 ACL net_acl_B {仅允许来自一组已知 IP 范围的 22 个用于入口流量},并将 net_acl_B 与堡垒实例所在的子网相关联。

不完全的。

默认网络 ACL已经允许所有流量进出。明确地允许特定的流量并不会改变任何东西,因为一切都是开箱即用的。

相反,默认情况下,安全组不允许入站。

您还必须允许安全组中的堡垒主机访问,因为两个实体都必须允许您要通过的所有流量。 任何一方都没有超越另一方的“允许”规则——他们必须同意。

无状态的网络 ACL 也必须允许响应流量,而有状态的安全组则不允许。

规则 1:使用安全组进行访问控制。基本上没有理由打开一个安全组,然后转而使用网络 ACL 作为唯一的防火墙层。

规则 2 选项 A:仅使用网络 ACL 仅实施安全组无法实现的限制,例如阻止来自允许的较大子网的小子网的流量。

规则 2 选项 B:使用网络 ACL 复制安全组中规则的逻辑,作为防止意外允许的安全组错误配置的物理第一层、逻辑第二层。

于 2016-06-06T22:27:02.570 回答