Amazon Virtual Private Cloud
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

安全性

Amazon Virtual Private Cloud 提供三种功能,以供您用来提高和监控 Virtual Private Cloud (VPC) 的安全性:

  • 安全组:安全组用作相关 Amazon EC2 实例的防火墙,可在实例级别控制入站和出站的数据流。当您启动一项实例时,您可以为其关联一个或多个您已经创建的安全组。在您的 VPC 中的每项实例都可能属于不同的安全组集合。如果您在启动实例时没有指定安全组,实例会自动与 VPC 的默认安全组关联。有关更多信息,请参阅 您的 VPC 的安全组

  • 网络访问控制列表 (ACL):用作关联的子网的防火墙,在子网级别同时控制入站和出站流量。有关更多信息,请参阅网络 ACL

  • 流日志:流日志捕获有关在您的 VPC 中传入和传出网络接口的 IP 流量的信息。您可以为 VPC、子网或各个网络接口创建流日志。流日志数据将发布到 CloudWatch Logs 或 Amazon S3,这可帮助您诊断过于严格或过于宽松的安全组和网络 ACL 规则。有关更多信息,请参阅 VPC 流日志

您可以使用 AWS Identity and Access Management 来控制可以创建和管理安全组、网络 ACL 和流日志的组织成员。例如,您可以仅授予您的网络管理员此许可,而非将许可授予需要启动实例的人员。有关更多信息,请参阅控制访问 Amazon VPC 资源

Amazon 安全组和网络 ACL 不筛选在链路本地地址 (169.254.0.0/16) 或 AWS 预留的 IPv4 地址间往返的流量;它们是该子网的前四个 IPv4 地址(包括用于该 VPC 的 Amazon DNS 服务器地址)。同样,流日志不捕获在这些地址间往返的 IP 流量。这些地址支持以下服务:域名服务 (DNS)、动态主机配置协议 (DHCP)、Amazon EC2 实例元数据、密钥管理服务器(KMS — 用于 Windows 实例的许可管理)和子网中的路由。您可以在您的实例中实施额外的防火墙解决方案,以阻断与本地链接地址间的网络通信。

安全组与网络 ACL 的比较

下表概述了安全组和网络 ACL 之间的基本差异。

安全组 网络 ACL

在实例级别运行

在子网级别运行

仅支持允许规则

支持允许规则和拒绝规则

有状态:返回数据流会被自动允许,不受任何规则的影响

无状态:返回数据流必须被规则明确允许

我们会在决定是否允许数据流前评估所有规则

我们会在决定是否允许数据流时按照数字顺序处理所有规则

只有在启动实例的同时指定安全组、或稍后将安全组与实例关联的情况下,操作才会被应用到实例

自动应用于与之关联的子网中的所有实例(因此,如果安全组规则过于宽松,则需要使用额外的防御层)

下图展示了由安全组和网络 ACL 提供的安全层。例如,来自 Internet 网关的数据流会通过路由表中的路径被路由到合适的子网。与子网相关的网络 ACL 规则控制允许进入子网的数据流。与实例相关的安全组规则控制允许进入实例的数据流。


        使用安全组和网络 ACL 控制数据流

您可以仅利用安全组来确保您的实例安全,但您可以添加网络 ACL 以作为连接防御层。有关示例,请参阅示例:控制对子网中实例的访问