

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

# 安全性
<a name="security-checks"></a>

您可以使用以下安全类别检查。

**注意**  
如果您为启用了 Security Hub CSPM Amazon Web Services 账户，则可以在控制台中查看您的发现。 Trusted Advisor 有关信息，请参阅[在中查看 Amazon Security Hub CSPM 控件 Amazon Trusted Advisor](security-hub-controls-with-trusted-advisor.md)。  
您可以查看 Amazon 基础安全最佳实践安全标准中的所有控件，但**类别为 “恢复” > “弹性”** 的控件*除外*。有关受支持控件的列表，请参阅*《Amazon Security Hub CSPM 用户指南》*中的 [Amazon 基础安全最佳实践控件](https://docs.amazonaws.cn/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html)。

**Contents**
+ [Amazon S3 存储桶权限](#amazon-s3-bucket-permissions)
+ [ELB 侦听器安全](#elb-listener-security)
+ [经典负载均衡器安全组](#elb-security-groups)
+ [IAM 密码策略](#iam-password-policy)
+ [安全组 – 不受限制的特定端口](#security-groups-specific-ports-unrestricted)
+ [安全组 – 不受限制的访问](#security-groups-unrestricted-access)

## Amazon S3 存储桶权限
<a name="amazon-s3-bucket-permissions"></a>

**说明**  
检查 Amazon Simple Storage Service (Amazon S3) 中具有开放访问权限或允许任何经过身份验证的用户访问的存储桶。 Amazon   
此检查将检查显式存储桶权限以及可能覆盖这些权限的存储桶策略。建议不要向 Amazon S3 存储桶的所有用户授予列表访问权限。这些权限可能导致非预期的用户频繁地列出存储桶中的对象，从而导致费用高于预期。向每个人授予上载和删除访问权限的权限可能会导致存储桶中出现安全漏洞。

**检查 ID**  
`Pfx0RwqBli`

**提醒条件**  
+ 红色：存储桶 ACL 允许**所有人**或**任何经过身份验证的 Amazon 用户进行**列表 Upload/Delete 访问或访问权限，并且未启用 “**阻止公共访问**” 设置。
+ 红色：存储桶策略允许公共访问，但未启用 “**阻止公共访问**” 设置。
+ 红色： Trusted Advisor 无权查看政策，或者由于其他原因无法评估策略。
+ 黄色：存储桶策略允许公开访问，但是 “**限制公共存储桶**” 设置已开启，仅允许该账户的授权用户进行访问。
+ 黄色：存储桶合规，但未启用完整的**阻止公共访问**保护。
+ 绿色：存储桶合规且已启用完全**屏蔽公共访问**保护。
启用 “阻止公共访问**忽略公共访问” 后，不会评估公共 ACLs** ACL 授权。

**推荐操作**  
如果存储桶允许开放访问，请确定是否确实需要开放访问。例如，要托管静态网站，您可以使用 Amazon CloudFront 来提供托管在 Amazon S3 上的内容。请参阅《[亚马逊 CloudFront 开发者指南》中的限制对 Amazon S3 来源的访问](https://docs.amazonaws.cn/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html)。如有可能，请更新存储桶权限，以只允许拥有者或特定用户访问。使用“Amazon S3 阻止公有访问”来控制允许对您的数据进行公有访问的设置。请参阅[设置存储桶和对象访问权限](https://docs.amazonaws.cn/AmazonS3/latest/user-guide/set-permissions.html)。

**其他资源**  
[管理对 Amazon S3 资源的访问权限](https://docs.amazonaws.cn/AmazonS3/latest/dev/s3-access-control.html)  
[为 Amazon S3 存储桶配置阻止公共访问设置](https://docs.amazonaws.cn/AmazonS3/latest/userguide/configuring-block-public-access-bucket.html)

**报告列**  
+ Status
+ 区域名称
+ 区域 API 参数
+ 存储桶名称
+ ACL 允许列表
+ ACL 允许上载/删除
+ 策略允许访问

## ELB 侦听器安全
<a name="elb-listener-security"></a>

**说明**  
   
检查带有侦听器的经典负载均衡器，这些负载均衡器不使用推荐的安全配置进行加密通信。 Amazon 建议您使用安全协议（HTTPS 或 SSL）、 up-to-date安全策略以及安全的密码和协议。当您为前端连接（客户端到负载均衡器）使用安全协议时，客户端与负载均衡器之间的请求会被加密。从而创建更安全的环境。Elastic Load Balancing 提供预定义的安全策略，其密码和协议符合 Amazon 安全最佳实践。新配置可用时，会发布预定义策略的新版本。

**检查 ID**  
`a2sEc6ILx`

**提醒条件**  
+  红色：负载均衡器的任何侦听器均未配置安全协议 (HTTPS)。
+ 黄色：负载均衡器 HTTPS 侦听器配置了包含弱加密算法的安全策略。
+ 黄色：负载均衡器 HTTPS 侦听器未配置推荐的安全策略。
+  绿色：负载均衡器至少有一个 HTTPS 侦听器，并且所有 HTTPS 侦听器都配置了推荐的策略。

**Recommended Action（建议的操作）**  
如果传输到负载均衡器的流量必须安全无虞，请使用 HTTPS 或 SSL 协议进行前端连接。  
将负载均衡器的预定义 SSL 安全策略升级到最新版本。  
只使用推荐的密码和协议。  
有关更多信息，请参阅 [Elastic Load Balancing 的侦听器配置](https://docs.amazonaws.cn/ElasticLoadBalancing/latest/DeveloperGuide/elb-listener-config.html)。

**其他资源**  
+ [侦听器配置快速参考](https://docs.amazonaws.cn/ElasticLoadBalancing/latest/DeveloperGuide/using-elb-listenerconfig-quickref.html)
+ [更新负载均衡器的 SSL 协商配置](https://docs.amazonaws.cn/ElasticLoadBalancing/latest/DeveloperGuide/ssl-config-update.html)
+ [Elastic Load Balancing 的 SSL 协商配置](https://docs.amazonaws.cn/ElasticLoadBalancing/latest/DeveloperGuide/elb-ssl-security-policy.html)
+ [SSL 安全策略表](https://docs.amazonaws.cn/ElasticLoadBalancing/latest/DeveloperGuide/elb-security-policy-table.html)

**报告列**  
+ Status
+ Region
+ 负载均衡器名称
+ 负载均衡器端口
+ Reason

## 经典负载均衡器安全组
<a name="elb-security-groups"></a>

**说明**  
检查负载均衡器是否配置了允许访问未针对负载均衡器配置的端口的安全组。  
 如果安全组允许访问未针对负载均衡器配置的端口，则数据丢失或恶意攻击的风险会增加。

**检查 ID**  
`xSqX82fQu`

**提醒条件**  
+ 黄色：与负载均衡器关联的 Amazon VPC 安全组的入站规则允许访问未在负载均衡器的侦听器配置中定义的端口。
+ 绿色：与负载均衡器关联的 Amazon VPC 安全组的入站规则不允许访问未在负载均衡器的侦听器配置中定义的端口。

**Recommended Action（建议的操作）**  
配置安全组规则，以将访问限制在负载均衡器侦听器配置中定义的端口和协议，以及用于支持路径 MTU 发现的 ICMP 协议。请参阅[经典负载均衡器的侦听器](https://docs.amazonaws.cn/elasticloadbalancing/latest/classic/elb-listener-config.html)和 [VPC 中的负载均衡器的安全组](https://docs.amazonaws.cn/elasticloadbalancing/latest/classic/elb-security-groups.html#elb-vpc-security-groups)。  
如果安全组缺失，请将新安全组应用到负载均衡器。创建安全组规则，将访问限制在负载均衡器侦听器配置中定义的端口和协议。请参阅 [VPC 中的负载均衡器的安全组](https://docs.amazonaws.cn/elasticloadbalancing/latest/classic/elb-security-groups.html#elb-vpc-security-groups)。

**其他资源**  
+ [Elastic Load Balancing 用户指南](https://docs.amazonaws.cn/elasticloadbalancing/latest/userguide/)
+ [迁移 Classic Load Balancer](https://docs.amazonaws.cn/elasticloadbalancing/latest/userguide/migrate-classic-load-balancer.html)
+ [配置经典负载均衡器](https://docs.amazonaws.cn/elasticloadbalancing/latest/classic/elb-configure-load-balancer.html)

**报告列**  
+ Status
+ Region
+ 负载均衡器名称
+ 安全组 IDs
+ Reason

## IAM 密码策略
<a name="iam-password-policy"></a>

**说明**  
检查账户的密码策略，并在未启用密码策略或未启用密码内容要求时发出警告。  
密码内容要求通过强制创建强用户密码提高了 Amazon 环境的整体安全性。若您创建或更改密码策略，将会立即对新用户强制执行更改，但不会要求现有用户更改其密码。

**检查 ID**  
`Yw2K9puPzl`

**提醒条件**  
+ 绿色：密码策略已启用，推荐内容要求已启用。
+ 黄色：密码策略已启用，但至少有一项内容要求未启用。

**Recommended Action（建议的操作）**  
如果部分内容要求未启用，请考虑进行启用。如果未启用任何密码策略，请创建并配置策略。请参阅[为 IAM 用户设置账户密码策略](https://docs.amazonaws.cn/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html)。  
要访问 Amazon Web Services 管理控制台，IAM 用户需要密码。作为最佳实践， Amazon 强烈建议您使用联合身份验证，而不是创建 IAM 用户。联合身份验证允许用户使用其现有的公司凭证登录 Amazon Web Services 管理控制台。使用 IAM Identity Center 创建用户或联合用户，然后在账户中承担 IAM 角色。  
要了解有关身份提供者和联合身份验证的更多信息，请参阅《IAM 用户指南》中的[身份提供者和联合身份验证](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_roles_providers.html)。要了解有关 IAM Identity Center 的更多信息，请参阅 [IAM Identity Center 用户指南](https://docs.amazonaws.cn/singlesignon/latest/userguide/what-is.html)。

**其他资源**  
[管理密码](https://docs.amazonaws.cn/IAM/latest/UserGuide/Credentials-ManagingPasswords.html)

**报告列**  
+ 密码策略
+ 大写
+ 小写
+ 数字
+ 非字母数字

## 安全组 – 不受限制的特定端口
<a name="security-groups-specific-ports-unrestricted"></a>

**说明**  
检查安全组是否有允许对特定端口进行不受限制访问 (0.0.0.0/0) 的规则。  
不受限制的访问增加了恶意活动（黑客 denial-of-service攻击、攻击、数据丢失）的机会。风险最高的端口标记为红色，风险较小的端口将标记为黄色。标记为绿色的端口通常由需要不受限制访问的应用程序使用，例如 HTTP 和 SMTP。  
如果您故意通过这种方式配置了安全组，我们建议您使用其他安全措施来保护您的基础设施（如 IP 表）。  
此检查仅评估您创建的安全组及其 IPv4 地址入站规则。 Amazon Directory Service 创建的安全组标记为红色或黄色，但它们不会构成安全风险，并且可以被排除。有关更多信息，请参阅 [Trusted Advisor 常见问题](https://www.amazonaws.cn/premiumsupport/faqs/#AWS_Trusted_Advisor)。  
此检查会报告按标准标记的所有资源以及评估的资源总数，包括 `OK` 资源。资源表仅列出已标记的资源。

**检查 ID**  
`HCP4007jGY`

**提醒条件**  
+ 绿色：安全组对端口 80、25、443 或 465 提供不受限制的访问。
+ 红色：安全组附加到资源，对端口 20、21、22、1433、1434、3306、3389、4333、5432 或 5500 提供不受限制的访问。
+ 黄色：安全组对任何其他端口提供不受限制的访问。
+ 黄色：安全组未附加到任何资源，并且提供不受限制的访问。

**Recommended Action（建议的操作）**  
 只有具有此需求的 IP 地址才能访问。要只允许特定 IP 地址进行访问，请将后缀设置为 /32（例如，192.0.2.10/32）。在创建更加严格的规则后，请务必删除过于宽松的规则。  
检查并删除未使用的安全组。您可以使用 Amazon Firewall Manager 大规模集中配置和管理安全组。有关更多信息 Amazon Web Services 账户，请参阅[Amazon Firewall Manager 文档](https://docs.amazonaws.cn/waf/latest/developerguide/fms-chapter.html)。  
对于通过 SSH（端口 22）和 RDP（端口 3389）访问 EC2 实例的场景，建议使用 Systems Manager Sessions Manager。使用会话管理器，您无需在安全组中启用端口 22 和端口 3389 即可访问 EC2 实例。  


**其他资源**  
+ [Amazon EC2 安全组](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/using-network-security.html)

  [TCP 和 UDP 端口号列表](http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers)
+ [无类域间路由](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ [使用会话管理器](https://docs.amazonaws.cn/systems-manager/latest/userguide/session-manager-working-with.html)
+ [Amazon Firewall Manager](https://docs.amazonaws.cn/waf/latest/developerguide/fms-chapter.html)

**报告列**  
+ Status
+ Region
+ 安全组名称
+ 安全组 ID
+ 协议
+ 起始端口
+ 终止端口
+ 关联

## 安全组 – 不受限制的访问
<a name="security-groups-unrestricted-access"></a>

**说明**  
检查安全组是否存在允许不受限制地访问资源的规则。  
不受限制的访问增加了恶意活动（黑客 denial-of-service攻击、攻击、数据丢失）的机会。  
此检查仅评估您创建的安全组及其 IPv4 地址入站规则。由创建的安全组 Amazon Directory Service 会被标记为红色或黄色，但它们不构成安全风险，可以排除在外。有关更多信息，请参阅 [Trusted Advisor 常见问题](https://www.amazonaws.cn/premiumsupport/faqs/#AWS_Trusted_Advisor)。  
此检查会报告按标准标记的所有资源以及评估的资源总数，包括 `OK` 资源。资源表仅列出已标记的资源。

**检查 ID**  
`1iG5NDGVre`

**提醒条件**  
+ 绿色：安全组规则有一个后缀为 /0 的源 IP 地址，该规则适用于端口 25、80 或 443。
+ 黄色：安全组规则有一个后缀为 /0 的源 IP 地址，用于 25、80 或 443 以外的端口，且安全组已附加到资源。
+ 红色：安全组规则有一个后缀为 /0 的源 IP 地址，且该规则针对 25、80 或 443 以外的端口，同时安全组未附加到资源。

**Recommended Action（建议的操作）**  
只有具有此需求的 IP 地址才能访问。要只允许特定 IP 地址进行访问，请将后缀设置为 /32（例如，192.0.2.10/32）。在创建更加严格的规则后，请务必删除过于宽松的规则。  
检查并删除未使用的安全组。您可以使用 Amazon Firewall Manager 大规模集中配置和管理安全组。有关更多信息 Amazon Web Services 账户，请参阅[Amazon Firewall Manager 文档](https://docs.amazonaws.cn/waf/latest/developerguide/fms-chapter.html)。  
对于通过 SSH（端口 22）和 RDP（端口 3389）访问 EC2 实例的场景，建议使用 Systems Manager Sessions Manager。使用会话管理器，您无需在安全组中启用端口 22 和端口 3389 即可访问 EC2 实例。  
 

**其他资源**  
+ [Amazon EC2 安全组](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/using-network-security.html)
+ [无类域间路由](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+ [使用会话管理器](https://docs.amazonaws.cn/systems-manager/latest/userguide/session-manager-working-with.html)
+ [Amazon Firewall Manager](https://docs.amazonaws.cn/waf/latest/developerguide/fms-chapter.html)

**报告列**  
+ Status
+ Region
+ 安全组名称
+ 安全组 ID
+ 协议
+ 起始端口
+ 终止端口
+ IP 范围
+ 关联