Amazon EC2 中的基础设施安全性 - Amazon Elastic Compute Cloud

Amazon EC2 中的基础设施安全性

作为一项托管式服务,Amazon Elastic Compute Cloud 受 AWS 全球网络安全保护。有关 AWS 安全服务以及 AWS 如何保护基础设施的信息,请参阅 AWS 云安全。要按照基础设施安全最佳实操设计您的 AWS 环境,请参阅《安全性支柱 AWS Well‐Architected Framework》中的 基础设施保护

您可以使用AWS发布的 API 调用通过网络访问 Amazon EC2。客户端必须支持以下内容:

  • 传输层安全性协议 (TLS) 我们要求使用 TLS 1.2,建议使用 TLS 1.3。

  • 具有完全向前保密 (PFS) 的密码套件,例如 DHE(临时 Diffie-Hellman)或 ECDHE(临时椭圆曲线 Diffie-Hellman)。大多数现代系统(如 Java 7 及更高版本)都支持这些模式。

此外,必须使用访问密钥 ID 和与 IAM 主体关联的秘密访问密钥来对请求进行签名。或者,您可以使用 AWS Security Token Service(AWS STS)生成临时安全凭证来对请求进行签名。

有关更多信息,请参阅《安全支柱 – AWS-Well-Architected 框架》中的 基础设施保护

网络隔离

虚拟私有云(VPC)是 AWS 云内您自己的逻辑隔离区域中的虚拟网络。可以使用单独的 VPC 按工作负载或组织实体隔离基础设施。

子网是 VPC 中的 IP 地址范围。在启动实例时,您可以在 VPC 上的子网中启动该实例。可以使用子网隔离单个 VPC 中的应用程序层(例如,Web、应用程序和数据库)。如果不应直接从 Internet 访问实例,请使用私有子网访问。

要使用私有 IP 地址从 VPC 调用 Amazon EC2 API,请使用 AWS PrivateLink。有关更多信息,请参阅使用接口 VPC 终端节点访问 Amazon EC2

物理主机上的隔离

同一物理主机上的不同 EC2 实例彼此隔离,就好像它们位于不同的物理主机上一样。管理程序隔离 CPU 和内存,并为实例提供虚拟化磁盘,而不是访问原始磁盘设备。

在停止或终止实例时,管理程序将清理分配给实例的内存(设置为零),然后再将内存分配给新实例并重置每个存储块。这会确保不会意外向另一个实例泄露数据。

网络 MAC 地址由 AWS 网络基础设施动态分配给实例。IP 地址由 AWS 网络基础设施动态分配给实例,或者由 EC2 管理员通过经过身份验证的 API 请求进行分配。AWS 网络允许实例仅从分配给它们的 MAC 和 IP 地址发送流量。否则,将会丢弃流量。

默认情况下,实例无法接收未明确将其指定为目标地址的流量。如果需要在实例上运行网络地址转换 (NAT)、路由或防火墙服务,您可以为网络接口禁用源/目标检查。

控制网络流量

请考虑使用以下方法来控制到 EC2 实例的网络流量:

  • 使用安全组限制实例访问。例如,您可以仅允许来自公司网络地址范围的流量。

  • 如果不应直接从 Internet 访问实例,请使用私有子网访问。使用堡垒主机或 NAT 网关从私有子网中的实例进行 Internet 访问。

  • 使用 AWS Virtual Private Network 或 AWS Direct Connect 建立从远程网络到 VPC 的私有连接。有关更多信息,请参阅网络到 Amazon VPC 的连接选项

  • 使用 VPC Flow Logs 监控到达实例的流量。

  • 使用 AWS Security Hub 检查来自实例的意外网络访问。

  • 使用 EC2 Instance Connect 通过 Secure Shell(SSH)连接到实例,而无需共享和管理 SSH 密钥。

  • 使用 AWS Systems Manager 会话管理器远程访问实例,而不是打开入站 SSH 端口和管理 SSH 密钥

  • 使用 AWS Systems Manager Run Command 自动执行常见的管理任务,而不是打开入站 SSH 端口和管理 SSH 密钥

除了限制对每个 Amazon EC2 实例的网络访问之外,Amazon VPC 还支持实施额外的网络安全控制,如内联网关、代理服务器和各种网络监控选项。