

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 保护基础设施的安全控制措施建议
<a name="infrastructure-controls"></a>

基础设施保护是任何安全计划的一个关键组成部分。它包括可帮助您保护网络和计算资源的控制方法。基础设施保护的示例包括信任边界、 defense-in-depth方法、安全加固、补丁管理以及操作系统身份验证和授权。有关更多信息，请参阅 Well-Architecte AWS d Framework 中的[基础设施保护](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)。本节中的安全控制措施可以帮助您实施基础设施保护的最佳实践。

**Topics**
+ [为 CloudFront 分布指定默认根对象](#default-root-objects)
+ [扫描应用程序代码以识别常见安全问题](#scan-app-code)
+ [使用专用网 VPCs 和子网创建网络层](#network-layers)
+ [将传入流量限制为仅使用授权的端口](#authorized-ports)
+ [阻止对 Systems Manager 文档的公开访问](#block-ssm-doc-access)
+ [阻止对 Lambda 函数的公开访问](#block-lambda-access)
+ [限制默认安全组的入站和出站流量](#default-security-group)
+ [扫描软件漏洞和意外网络暴露](#scan-software-vulnerabilities)
+ [设置 AWS WAF](#setup-aws-waf)
+ [配置针对 DDo S 攻击的高级防护](#ddos-attacks)
+ [使用一种 defense-in-depth方法来控制网络流量](#defense-in-depth)

## 为 CloudFront 分布指定默认根对象
<a name="default-root-objects"></a>

[Amazon](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) 通过全球数据中心网络交付您的网页内容，从而降低延迟并提高性能，从而 CloudFront加快网络内容的分发。如果您不定义默认根对象，对分配的根请求则传递到源服务器。如果您使用的是 Amazon Simple Storage Service（Amazon S3）来源，则该请求可能会返回 S3 存储桶中的内容列表或来源的私有内容列表。指定一个默认根对象，可帮助您避免公开分配的内容。

有关更多信息，请参阅以下资源：
+ [在 CloudFront 文档中指定默认根对象](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html)

## 扫描应用程序代码以识别常见安全问题
<a name="scan-app-code"></a>

Well AWS -Architected Framework 建议您扫描库和依赖项以查找问题和缺陷。您可以使用许多源代码分析工具来扫描源代码。例如，Amazon CodeGuru 可以扫描Java或Python应用程序中的常见安全问题，并提供补救建议。

有关更多信息，请参阅以下资源：
+ [CodeGuru 文档](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html)
+ OWASP Foundation 网站上的 [Source code analysis tools](https://owasp.org/www-community/Source_Code_Analysis_Tools)
+ 在 Well-Architecte AWS d Framework 中@@ [执行漏洞管理](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_compute_vulnerability_management.html)

## 使用专用网 VPCs 和子网创建网络层
<a name="network-layers"></a>

Well- AWS Architected Framework 建议您将具有相同敏感度要求的组件分组为多个层。这样可以最大限度地减少未经授权访问的潜在影响范围。例如，应将不需要互联网访问的数据库集群放在其 VPC 的私有子网中，以确保没有进出互联网的路由。

AWS 提供了许多服务，可以帮助您测试和确定公众可访问性。例如，Reachability Analyzer 是一种配置分析工具，可帮助您测试中源资源和目标资源之间的连接。 VPCs此外，网络访问分析器可帮助您识别对资源的意外网络访问。

有关更多信息，请参阅以下资源：
+ 在 Well-Architecte AWS d Framework 中@@ [创建网络层](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_create_layers.html)
+ [Reachability Analyzer 文档](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html)
+ [网络访问分析器文档](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-network-access-analyzer.html)
+ Amazon Virtual Private Cloud （Amazon VPC）文档中的[创建子网](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html)

## 将传入流量限制为仅使用授权的端口
<a name="authorized-ports"></a>

不受限制的访问（例如来自`0.0.0.0/0`源 IP 地址的流量）会增加恶意活动的风险，例如黑客攻击、 denial-of-service (DoS) 攻击和数据丢失。安全组为资源的入口和出口网络流量提供状态过滤。 AWS 任何安全组都不应允许对 SSH 和 Windows 远程桌面协议（RDP）等已知端口进行不受限制的入口访问。对于入站流量，在您的安全组中，仅允许授权端口上的 TCP 或 UDP 连接。要连接到 Amazon Elastic Compute Cloud（Amazon EC2）实例，请使用[会话管理器](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)或[运行命令](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)，而不是直接访问 SSH 或 RDP。

有关更多信息，请参阅以下资源：
+ Amazon EC2 文档中的[使用安全组](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html)
+ [使用 Amazon VPC 文档中的安全组控制您的 AWS 资源的流量](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html#DefaultSecurityGroup)

## 阻止对 Systems Manager 文档的公开访问
<a name="block-ssm-doc-access"></a>

除非您的用例要求开启公开共享，否则 AWS Systems Manager 最佳做法建议您屏蔽 Systems Manager 文档的公开共享。公开共享可能会导致他人意外访问文档。公开的 Systems Manager 文档可能会公开有关账户、资源和内部流程的宝贵敏感信息。

 有关更多信息，请参阅以下资源：
+ Systems Manager 文档中的[共享 Systems Manager 文档的最佳做法](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-ssm-sharing.html#best-practices-shared)
+ Systems Manager 文档中的[修改共享 Systems Manager 文档的权限](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-ssm-sharing.html#modify-permissions-shared)

## 阻止对 Lambda 函数的公开访问
<a name="block-lambda-access"></a>

[AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 是一项计算服务，可帮助您运行代码，无需预调配或管理服务器。Lambda 函数应不可公开访问，因为这可能会导致意外访问函数代码。

我们建议您为 Lambda 函数配置[基于资源的策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based)，以拒绝来自账户外部的访问。您可以通过移除权限或在允许访问的语句中添加 `AWS:SourceAccount` 条件来实现此目的。您可以通过 Lambda API 或 AWS Command Line Interface （AWS CLI）更新 Lambda 函数基于资源的策略。

我们还建议您在 AWS Security Hub CSPM中启用 **[Lambda.1] Lambda 函数策略应禁止公开访问**控制措施。此控制措施可验证 Lambda 函数基于资源的策略是否禁止公开访问。

有关更多信息，请参阅以下资源：
+ AWS Lambda Security Hub CSPM 文档中的@@ [控件](https://docs.aws.amazon.com/securityhub/latest/userguide/lambda-controls.html)
+ Lambda 文档中的[为 Lambda 使用基于资源的策略](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html)
+ Lambda 文档中的 [Lambda 操作的资源和条件](https://docs.aws.amazon.com/lambda/latest/dg/lambda-api-permissions-ref.html)

## 限制默认安全组的入站和出站流量
<a name="default-security-group"></a>

如果您在配置资源时未关联自定义安全组，则该 AWS 资源将与 VPC 的默认安全组关联。该安全组的默认规则允许来自分配给该安全组的所有资源的所有入站流量，并且允许所有出站 IPv6 流量 IPv4 和流量。这可能会允许资源接收意外流量。

AWS 建议您不要使用默认安全组。相反，可以为特定资源或资源组创建自定义安全组。

由于无法删除默认安全组，我们建议您更改默认安全组规则设置以限制入站和出站流量。配置安全组规则时，请遵循[最低权限](apg-gloss.md#glossary-least-privilege)原则。

我们还建议您启用 **[EC2.2] VPC 默认安全组不应允许 Security Hub CSPM 中的入站或出站流量**控制。此控制措施验证 VPC 的默认安全组是否拒绝入站和出站流量。

有关更多信息，请参阅以下资源：
+ [使用 Amazon VPC 文档中的安全组控制您的 AWS 资源的流量](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html#DefaultSecurityGroup)
+ 亚马逊 VPC 文档 VPCs中@@ [您的默认安全组](https://docs.aws.amazon.com/vpc/latest/userguide/default-security-group.html)
+ Security Hub CSPM 文档中的@@ [亚马逊 EC2 控件](https://docs.aws.amazon.com/securityhub/latest/userguide/ec2-controls.html#ec2-2)

## 扫描软件漏洞和意外网络暴露
<a name="scan-software-vulnerabilities"></a>

我们建议您在所有账户中启用 Amazon Inspector。[Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/what-is-inspector.html) 是一项漏洞管理服务，可持续扫描 Amazon EC2 实例、Amazon Elastic Container Registry（Amazon ECR）容器映像和 Lambda 函数，以查找软件漏洞和意外网络暴露。它还支持深度检查 Amazon EC2 实例。当 Amazon Inspector 发现漏洞或开放的网络路径时，其会生成可供您调查的调查发现。如果您的账户中同时设置了 Amazon Inspector 和 Security Hub CSPM，则亚马逊检查员会自动将安全调查结果发送给 Security Hub CSPM 进行集中管理。

有关更多信息，请参阅以下资源：
+ Amazon Inspector 文档中的 [Scanning resources with Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/scanning-resources.html)
+ Amazon Inspector 文档中的 [Amazon Inspector Deep inspection for Amazon EC2](https://docs.aws.amazon.com/inspector/latest/user/scanning-ec2.html#deep-inspection)
+ [ AMIs 使用 AWS 安全博客中的 Amazon Inspector 扫描 EC2](https://aws.amazon.com/blogs/security/how-to-scan-ec2-amis-using-amazon-inspector/)
+  AWS 规范指引中的 [Building a scalable vulnerability management program on AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/vulnerability-management/introduction.html)
+ 在 Well-Architecte AWS d Framework 中@@ [自动保护网络](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_auto_protect.html)
+ 在 Well-Architecte AWS d Framework 中@@ [自动保护计算](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_compute_auto_protection.html)

## 设置 AWS WAF
<a name="setup-aws-waf"></a>

[AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html)是一种 Web 应用程序防火墙，可帮助您监控和阻止转发到受保护的 Web 应用程序资源（例如 Amazon API Gat APIs eway、Amazon CloudFront 分配或应用程序负载均衡器）的 HTTP 或 HTTPS 请求。根据您指定的标准，服务使用请求的内容、HTTP 403 状态代码（禁止）或自定义响应来响应请求。 AWS WAF 可以帮助保护 Web 应用程序或 APIs 防范可能影响可用性、危及安全性或消耗过多资源的常见 Web 漏洞。考虑 AWS WAF 在您的中进行设置， AWS 账户 并结合使用 AWS 托管规则、自定义规则和合作伙伴集成，以帮助保护您的应用程序免受应用程序层（第 7 层）攻击。

有关更多信息，请参阅以下资源：
+ 在 AWS WAF 文档@@ [AWS WAF中开始使用](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started.html)
+ AWS WAF AWS 网站上的@@ [配送合作伙伴](https://aws.amazon.com/waf/partners/)
+  AWS 解决方案库 AWS WAF中的@@ [安全自动化](https://aws.amazon.com/solutions/implementations/security-automations-for-aws-waf/)
+ 在 Well-Architecte AWS d 框架中@@ [实施检查和保护](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_inspection.html)

## 配置针对 DDo S 攻击的高级防护
<a name="ddos-attacks"></a>

[AWS Shield](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html)为网络和传输层（第 3 层和第 4 层）以及应用层（第 7 层）的 AWS 资源提供保护，抵御分布式拒绝服务 (DDoS) 攻击。此服务有两个选项： AWS Shield Standard 和 AWS Shield Advanced。Shield Standard 可自动保护支持的 AWS 资源，无需额外付费。

我们建议您订阅 Shield Advanced，它为受保护的资源提供扩展的 DDo S 攻击保护。根据您的架构和配置选择，您从 Shield Advanced 获得的保护会有所不同。考虑为需要以下任何一项的应用程序实施 Shield Advanced 保护：
+ 保证应用程序用户的可用性。
+ 如果应用程序受到 DDo S 攻击的影响，可以快速联系 DDo S 缓解专家。
+ AWS 意识到应用程序可能受到 DDo S 攻击的影响，并收到来自 AWS 的攻击通知并上报给您的安全或运营团队。
+ 云成本的可预测性，包括 DDo S 攻击何时影响您的使用 AWS 服务。

有关更多信息，请参阅以下资源：
+ Shield 文档中的 [AWS Shield Advanced overview](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-advanced-summary.html)
+ AWS Shield Advanced Shield 文档中的@@ [受保护资源](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-advanced-summary-protected-resources.html)
+ AWS Shield Advanced Shield 文档中的@@ [功能和选项](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-advanced-summary-capabilities.html)
+ 在 Sh@@ [ield 文档中响应 DDo S 事件](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-responding.html)
+ 在 Well-Architecte AWS d 框架中@@ [实施检查和保护](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_inspection.html)

## 使用一种 defense-in-depth方法来控制网络流量
<a name="defense-in-depth"></a>

AWS Network Firewall 是针对虚拟私有云 (VPCs) 中的状态托管网络防火墙以及入侵检测和防御服务 ()。 AWS Cloud它可以帮助您在 VPC 边界部署基本的网络保护。这包括筛选进出互联网网关、NAT 网关或者通过 VPN 或 AWS Direct Connect的流量。Network Firewall 包含有助于抵御常见网络威胁的功能。Network Firewall 中的状态防火墙可以整合来自流量的上下文（例如连接和协议）来强制执行策略。

有关更多信息，请参阅以下资源：
+ [AWS Network Firewall 文档](https://docs.aws.amazon.com/network-firewall/latest/developerguide/what-is-aws-network-firewall.html)
+ [在 Well-Architecte AWS d Framework 中控制所有层的流量](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_network_protection_layered.html)