

# Amazon VPC 中的基础设施安全性
<a name="infrastructure-security"></a>

作为一项托管服务，Amazon Virtual Private Cloud 享受 AWS 全球网络安全的保护。有关 AWS 安全服务以及 AWS 如何保护基础设施的信息，请参阅 [AWS 云安全性](https://aws.amazon.com/security/)。要按照基础设施安全最佳实践设计您的 AWS 环境，请参阅《安全性支柱 AWS Well‐Architected Framework》中的 [基础设施保护](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)**。

您可以使用 AWS 发布的 API 调用通过网络访问 Amazon VPC。客户端必须支持以下内容：
+ 传输层安全性协议（TLS）。我们要求使用 TLS 1.2，建议使用 TLS 1.3。
+ 具有完全向前保密（PFS）的密码套件，例如 DHE（临时 Diffie-Hellman）或 ECDHE（临时椭圆曲线 Diffie-Hellman）。大多数现代系统（如 Java 7 及更高版本）都支持这些模式。

## 网络隔离
<a name="network-isolation"></a>

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

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

您可以使用 [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/)，来让 VPC 中的资源可以使用私有 IP 地址连接到 AWS 服务，如同这些服务直接在您的 VPC 中托管。因此，您无需使用互联网网关或 NAT 设备即可访问 AWS 服务。

## 控制网络流量
<a name="control-network-traffic"></a>

请考虑使用以下方法来控制到 VPC 中资源（例如 EC2 实例）的网络流量：
+ 将 [安全组](vpc-security-groups.md) 作为主要机制来控制对 VPC 的网络访问。必要时可使用 [网络 ACL](vpc-network-acls.md) 来实现无状态的粗略网络控制。安全组能够执行有状态数据包筛选，以及创建引用其他安全组的规则，因此其功能比网络 ACL 更丰富。将网络 ACL 作为辅助控制机制（例如拒绝特定的流量子集），或者作为高级别的子网防护机制时，也可能非常有效。此外，由于网络 ACL 将应用于整个子网，因此可以用作深度防御机制，以防实例在没有正确配置安全组的情况下启动。
+ 如果不应直接从 Internet 访问实例，请使用私有子网访问。使用堡垒主机或 NAT 网关从私有子网中的实例访问互联网。
+ 配置子网[路由表](VPC_Route_Tables.md)，其中应包含能够支持连接需求的最低网络路由。
+ 考虑使用其他安全组或网络接口，独立于常规应用程序流量来控制和审计 Amazon EC2 实例管理流量。这样，您可以实施用于更改控制的特殊 IAM 策略，从而更轻松地审计对安全组规则或自动化规则验证脚本进行的更改。此外，使用多个网络接口还提供了额外的网络流量控制选择，包括能够创建基于主机的路由策略或利用基于分配到子网的网络接口的其他 VPC 子网路由规则。
+ 使用 AWS Virtual Private Network 或 Direct Connect 建立从远程网络到 VPC 的私有连接。有关更多信息，请参阅[网络到 Amazon VPC 的连接选项](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html)。
+ 使用 [VPC Flow Logs](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 监控到达实例的流量。
+ 使用 [AWS Security Hub CSPM](https://aws.amazon.com/security-hub/) 检查来自实例的意外网络访问。
+ 使用 [AWS Network Firewall](network-firewall.md) 来保护 VPC 中的子网，防止常见的网络威胁。

## 比较安全组和网络 ACL
<a name="VPC_Security_Comparison"></a>

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


| 特征 | 安全组 | 网络 ACL | 
| --- | --- | --- | 
| 操作级别 | 实例级别 | 子网级别 | 
| 范围 | 适用于与安全组关联的所有实例 | 适用于关联子网中的所有实例 | 
| 规则类型 | 仅允许规则 | 允许和拒绝规则 | 
| 规则评估 | 在决定是否允许流量前评估所有规则 | 按升序评估规则，直到找到与流量匹配的规则 | 
| 返回流量 | 自动允许（有状态） | 必须明确允许（无状态） | 

下图展示了由安全组和网络 ACL 提供的安全层。例如，来自互联网网关的数据流会使用路由表中的路由，路由到合适的子网。与子网关联的网络 ACL 规则控制允许进入子网的数据流。与实例关联的安全组规则控制允许进入实例的数据流。

![\[使用安全组和网络 ACL 控制数据流\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/images/security-comparison.png)


您只能使用安全组保护您的实例。但是，您可以添加网络 ACL 作为额外的防御层。有关更多信息，请参阅 [示例：控制对子网中的实例的访问](nacl-examples.md)。