Amazon VPC 中的基础设施安全性
您可以使用 Amazon 发布的 API 调用通过网络访问 Amazon VPC。客户端必须支持传输层安全性 (TLS) 1.1 或更高版本。建议使用 TLS 1.2 或更高版本。客户端还必须支持具有完全向前保密 (PFS) 的密码套件,例如 Ephemeral Diffie-Hellman (DHE) 或 Elliptic Curve Ephemeral Diffie-Hellman (ECDHE)。大多数现代系统(如 Java 7 及更高版本)都支持这些模式。
此外,必须使用访问密钥 ID 和与 IAM 主体关联的秘密访问密钥来对请求进行签名。或者,您可以使用 Amazon Security Token Service (Amazon STS) 生成临时安全凭证来对请求进行签名。
有关更多信息,请参阅《安全支柱:Amazon Well-Architected 框架》中的基础设施保护。
网络隔离
Virtual Private Cloud (VPC) 是 Amazon 云内您自己的逻辑隔离区域中的虚拟网络。可以使用单独的 VPC 按工作负载或组织实体隔离基础设施。
子网是 VPC 中的 IP 地址范围。在启动实例时,您可以在 VPC 上的子网中启动该实例。可以使用子网隔离单个 VPC 中的应用程序层(例如,Web、应用程序和数据库)。如果不应直接从 Internet 访问实例,请使用私有子网访问。
您可以使用 Amazon PrivateLink,来让 VPC 中的资源可以使用私有 IP 地址连接到 Amazon Web Services,如同这些服务直接在您的 VPC 中托管。因此,您无需使用互联网网关或 NAT 设备即可访问 Amazon Web Services。
控制网络流量
请考虑使用以下方法来控制到 EC2 实例的网络流量:
-
使用安全组限制对子网的访问。例如,您可以仅允许来自公司网络地址范围的流量。
使用安全组作为用于控制对 VPC 的网络访问的主要机制。必要时,尽量少使用网络 ACL,以提供无状态的粗略网络控制。安全组比网络 ACL 更为通用,因为它们能够执行有状态数据包筛选和创建引用其他安全组的规则。不过,网络 ACL 作为一项辅助控制,可以有效地拒绝特定流量子集或提供高级子网护栏。此外,由于网络 ACL 将应用于整个子网,因此,可以将它用作深度防御措施,以防实例在没有正确安全组的情况下意外启动。
-
如果不应直接从 Internet 访问实例,请使用私有子网访问。使用堡垒主机或 NAT 网关从私有子网中的实例进行 Internet 访问。
使用所需的最少网络路由配置 子网路由表。例如,仅将需要 Internet 直接访问权限的 Amazon EC2 实例放置到带互联网网关路由的子网中,并且仅将需要内部网络直接访问权限的 Amazon EC2 实例放置到包含虚拟私有网关路由的子网中。
考虑使用其他安全组或网络接口,独立于常规应用程序流量来控制和审计 Amazon EC2 实例管理流量。此方法可让客户实施用于更改控制的特殊 IAM 策略,从而更轻松地审计对安全组规则或自动规则验证脚本进行的更改。此外,多个网络接口为您控制网络流量带来了其他选择,其中包括能够创建基于主机的路由策略或利用基于分配到子网的网络接口的其他 VPC 子网路由规则。
-
使用 Amazon Virtual Private Network 或 Amazon Direct Connect 建立从远程网络到 VPC 的私有连接。有关更多信息,请参阅网络到 Amazon VPC 的连接选项。
-
使用 VPC Flow Logs 监控到达实例的流量。
-
使用 Amazon Security Hub
检查来自实例的意外网络访问。 -
使用 Amazon Network Firewall 来保护 VPC 中的子网,防止常见的网络威胁。