AWS EC2 实例:安全组和防火墙

AWS EC2 实例:安全组和防火墙

在 EC2 实例上,您可以配置安全组,使其具有与防火墙规则相同的规则(例如,默认丢弃所有流量,并有选择地允许基于端口的入站或出站流量)。以前我使用过 DigitalOcean 等其他服务,我只需在登录实例后向防火墙添加一些规则(例如 UFW)。

对于 EC2 实例,我是否应该仅通过安全组配置防火墙规则,而不触及实例上运行的防火墙软件(例如,一旦我登录系统,就不配置 ufw 或 iptables)?

我想确保我已经正确设置了它,并且如果同时使用安全组和基于主机的防火墙,我不会意外地强制流量通过两组防火墙规则。

我的直觉是,这两种方法或两者结合都可以奏效(只要没有重复的规则,这种方法就没问题)。是这样吗?如果可能的话,我只想使用安全组。

答案1

您可以根据需要使用任意数量或任意数量的可用防火墙。纵深防御这表明多层措施可以提高安全性。

据我所知,以下是每个内容:

  • 网络 ACL (NACL) 最像传统防火墙。您必须分别定义传入和传出规则。我怀疑 NACL 不是在实例上运行,而是在网络上某个地方的设备。如果这是正确的,使用 NACL 拒绝大量流量可能会略微提高实例性能,因为安全组和 IPTables 不必使用 CPU 时间来执行此操作。
  • 安全组是一种状态防火墙。如果您允许传入流量,则会自动允许传出响应,反之亦然。SG 在每个服务器上的虚拟机管理程序中运行。
  • IPTables 等(我认为)是无状态的,因此您可以定义每个方向的规则。它们在您的实例上的操作系统内运行。

我个人使用安全组作为我的主要防火墙,因为它们最容易设置和使用。我也有fail2ban 将规则放入 CloudFlare 防火墙使用此设置来防止不良 IP 访问服务器。

相关内容