为什么在 Amazon EC2 上同时拥有安全组和 iptables?

ima*_*ive 22 amazon-ec2

我最近偶然发现了我的 EC2 实例的防火墙问题。TCP 端口通过 EC2 安全组提供给所有人,但是仍然使用 iptables 进行实例端过滤。我想如果有什么安全组只是 IPTables 的一个花哨的 API。事实证明,根据我的了解,它们完全是在运行。有什么理由同时使用两者吗?一个防火墙应该足够了,而添加另一层复杂性似乎只是等待发生而令人头疼。

与此同时,我正在考虑打开安全组中的所有端口,然后通过 iptables 进行所有过滤,或者相反,禁用 iptables 并使用安全组过滤。

关于我这里的逻辑是否有缺陷的任何反馈?我错过了一些关键的东西吗?

cyb*_*x86 21

安全组不会给您的服务器增加负载 - 它们在外部进行处理,并阻止进出您的服务器的流量,独立于您的服务器。这提供了极好的第一道防线,比驻留在服务器上的防线更具弹性。

但是,安全组不是状态敏感的,例如,您不能让它们自动响应攻击。IPTables 非常适合更动态的规则——要么适应某些场景,要么提供更细粒度的条件控制。

理想情况下,您应该使用两者相辅相成 - 使用您的安全组阻止所有可能的端口,并使用 IPTables 来管理剩余的端口并防止攻击。


Ben*_*nGC 5

将安全组视为正常网络场景中的硬件防火墙。我想您实际上不必同时使用两者,除非您有特殊情况,例如:您有一个名为 Webservers 的安全组来控制对 Web 服务器的访问。您想要阻止 IP 访问其中一台服务器上的端口 80,但不是所有服务器。因此,您想要做的是进入该一台服务器上的 iptables 并执行阻止,而不是在安全组中执行该操作,这将应用于该安全组中的所有服务器......