

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

# 更改请求安全审查
<a name="acc-sec-change-request-review"></a>

AWS Managed Services 变更请求审查流程可确保 AMS 在您的账户中代表您实施变更时对请求的更改进行安全审查。

[AMS 加速实现技术标准](acc-sec-technical-standards.md)定义最低安全标准、配置和流程，以建立账户的基本安全性。当 AMS 实施所要求的变更时，我们会遵循这些标准。

AMS 根据 AMS 技术标准评估所有变更请求。任何可能因偏离技术标准而降低账户安全状况的变更都要经过安全审查流程。在此过程中，AMS会强调相关风险，并由您的授权风险审批人进行审查和批准，以平衡安全和业务需求。

# 客户安全风险管理流程
<a name="acc-sec-csrm-process"></a>

AMS 加速客户安全风险管理 (CSRM) 流程有助于清楚地识别风险并将其传达给合适的所有者。此过程可最大限度地降低您环境中的安全风险，并减少已识别风险的持续运营开销。

默认情况下，当贵组织中的某人请求 AMS 对您的托管环境进行更改时，AMS 会审查更改以确定该请求是否超出了技术标准，这可能会改变您账户的安全状况。如果存在高或非常高的安全风险，则您的授权安全人员会接受或拒绝变更审查。还会评估所要求的变更是否会对AMS的账户运营能力产生不利影响。如果审查发现可能的不利影响，则需要在AMS内部进行额外的审查和批准。

对于高风险或非常高的风险，您可以选择退出 CSRM 流程中基于审批的工作流程。要将特定账户的 CSRM 选项从**标准 CSRM** 更改为 “**仅限通知**”，请与您的云服务交付经理合作创建一次性风险承受单。如果您选择继续使用 “**仅限通知**” 选项，则无论风险类别如何，AMS 都会实施所请求的更改。而且，AMS 会向您的授权风险批准者发送风险通知，而不是在变更实施之前寻求批准。请咨询您的云架构师或云服务交付经理，了解有关 AMS CSRM 流程、如何在注册新 AMS 账户时更改默认 CSRM 选项或如何更新现有账户的更多信息。

**注意**  
AMS 强烈建议您在所有账户中使用默认的**标准 CSRM** 选项。

# AMS 加速实现技术标准
<a name="acc-sec-technical-standards"></a>

以下是加速技术标准类别：


| ID | 类别 | 
| --- | --- | 
| AMS-STD-X002 | AWS Identity and Access Management | 
| AMS-STD-X003 | 网络安全性 | 
| AMS-STD-X004 | 渗透测试 | 
| AMS-STD-X005 | Amazon GuardDuty | 
| AMS-STD-X007 | 日志系统 | 

# AMS 加速中的标准控件
<a name="acc-sec-stand-controls"></a>

以下是 AMS 中的标准控件：

## AMS-STD-X002- AWS Identity and Access Management (IAM)
<a name="acc-sec-stand-controls-iam"></a>


| ID | 技术标准 | 
| --- | --- | 
| 1.0 | 超时持续时间 | 
| 1.1 | 联邦用户的默认超时会话为一小时，最多可以增加到四小时。 | 
| 1.2 | 微软 Windows Server 的 RDP 会话超时设置为 15 分钟，可以根据用例进行延长。 | 
| 2.0 | AWS 主账号使用情况 | 
| 2.1 | 如果出于任何原因使用了根账户，则 GuardDuty 必须将 Amazon 配置为生成相关调查结果。 | 
| 2.2 | 不得创建根账户的访问密钥。 | 
| 3.0 | 用户创建和修改 | 
| 3.1 | 无需任何时间限制策略即可创建 users/roles 具有编程访问权限和只读权限的 IAM。但是，不允许允许读取账户中所有 Amazon Simple Storage Service 存储桶中的对象（例如 S3:GetObject）的权限。 | 
| 3.1.1 | 可以使用时间限制策略（最长 180 天）创建用于控制台访问和只读权限的 IAM 人类用户，而时间限制策略将生成风险通知。removal/renewal/extension但是，不允许读取账户中所有 S3 存储桶中的对象（例如 S3:GetObject）的权限。 | 
| 3.2 | 在不接受风险的情况下，不得在客户账户中创建具有任何基础架构变更权限（写入和权限管理）的 IAM 用户和用于控制台和编程访问的角色。S3 对象级写入权限存在例外情况，只要特定的存储桶在范围内，并且对非 AMS 相关标签进行标记操作，则无需接受风险。 | 
| 3.3 | 在微软 Windows 服务器上，只需要创建微软群组托管服务帐户 (GMSA)。 | 
| 4.0 | 政策、行动和 APIs | 
| 4.4 | 在不接受风险的情况下，策略不得向管理员提供等同于 “效果”：“允许” 和 “操作”：“\$1” 而不是 “资源”：“\$1” 的语句。 | 
| 4.6 |  不得允许针对客户 IAM 策略中的 AMS 基础设施密钥的 KMS 密钥策略进行 API 调用。 | 
| 4.8 | 不得允许更改 Amazon Route 53 中的 AMS 基础设施 DNS 记录的操作。 | 
| 4.9 |  按照正当程序创建的具有控制台访问权限的 IAM 人类用户，除了信任策略、代入角色和限时策略外，不得直接附加任何策略。 | 
| 4.10 | 可以在同一账户中创建对特定密钥或命名空间具有读取 AWS Secrets Manager 权限的 Amazon EC2 实例配置文件。 | 
| 4.12 | IAM 策略不得包含任何包含在任何 AMS Amazon 日志组上的 “允许日志:DeleteLogStream ” DeleteLogGroup 和 “日 CloudWatch 志:” 操作的操作。 | 
| 4.13 | 不得允许创建多区域密钥。 | 
| 4.14 | 通过使用特定于服务的 S3 条件密钥 s3: 指定账号，限制客户账户对存储桶的访问权限，即可访问尚未在客户账户中创建的 S3 存储桶 ARN。ResourceAccount | 
| 4.15.1 | 您可以查看、创建、列出和删除您的 S3 存储镜头自定义仪表板。 | 
| 4.16 | 可以授予与 SQL Workbench 相关的完全权限， roles/users 允许其使用 Amazon Redshift 数据库。 | 
| 4.17 | 可以将任何 AWS CloudShell 权限授予客户角色作为 CLI 的替代方案。 | 
| 4.18 | 以 AWS 服务为可信委托人的 IAM 角色还需要符合 IAM 技术标准。 | 
| 4.19 |  服务关联角色 (SLRs) 不受 AMS IAM 技术标准的约束，因为它们由 IAM 服务团队构建和维护。 | 
| 4.20 | IAM 策略不应允许读取账户中所有 S3 存储桶中的对象（例如 S3:GetObject）。 | 
| 4.21 | 可以向客户授予资源类型 “savingsplan” 的所有 IAM 权限。 | 
| 4.22 | AMS 工程师不得在任何数据存储服务（如亚马逊 S3、Amazon Relational Database Service、Amazon DynamoDB 等）或操作系统文件系统中手动复制或移动客户数据（文件、S3 对象、数据库等）。 | 
| 6.0 | 跨账户政策 | 
| 6.1 | 根据客户记录，可以配置属于同一客户的 AMS 账户之间的 IAM 角色信任策略。 | 
| 6.2 | 只有当非 AMS 账户由同一 AMS 客户拥有时，才必须配置 AMS 账户和非 AMS 账户之间的 IAM 角色信任策略（通过确认他们属于同一个 AWS Organizations 账户或将电子邮件域名与客户的公司名称进行匹配）。 | 
| 6.3 | 如果不接受风险，则不得配置 AMS 账户和第三方账户之间的 IAM 角色信任策略。 | 
| 6.4 | 可以配置跨账户策略，以便在同一客户的 AMS 账户 CMKs 之间访问任何客户管理的账户。 | 
| 6.5 | 可以配置跨账户策略，通过 AMS 账户访问非 AMS 账户中的任何 KMS 密钥。 | 
| 6.6 | 在不接受风险的情况下，不得允许第三方账户访问AMS账户内的任何 KMS 密钥的跨账户政策。 | 
| 6.6.1 | 只有当非 AMS 账户由同一 AMS 客户拥有时，才能配置跨账户策略，允许非 AMS 账户访问 AMS 账户内的任何 KMS 密钥。 | 
| 6.7 | 可以配置跨账户策略，用于访问可在同一客户的 AMS 账户之间存储数据的任何 S3 存储桶数据或资源（例如 Amazon RDS、Amazon DynamoDB 或 Amazon Redshift）。 | 
| 6.8 | 可以配置跨账户策略，从具有只读访问权限的 AMS 账户访问可在非 AMS 账户中存储数据的任何 S3 存储桶数据或资源（例如 Amazon RDS、Amazon DynamoDB 或 Amazon Redshift）。 | 
| 6.9 | 只有当非 AMS 账户归同一 AMS 客户所有（通过确认他们属于同一个账户或将电子邮件域名与客户匹配时），才必须配置跨账户策略，才能访问任何 S3 存储桶数据或可以存储数据的资源（例如 Amazon RDS、Amazon DynamoDB 或 Amazon Redshift），并具有从 AMS 到非 AMS 账户（或非 AMS 到 AMS 账户）的写入权限的公司名称）。 AWS Organizations  | 
| 6.10 |  可以配置跨账户策略，允许从具有只读权限的 AMS 账户访问第三方账户中可以存储数据的任何 S3 存储桶数据或资源（例如 Amazon RDS、Amazon DynamoDB 或 Amazon Redshift）。 | 
| 6.11 | 不得配置跨账户策略，用于从具有写入权限的 AMS 账户访问第三方账户中可以存储数据的任何 S3 存储桶数据或资源（例如 Amazon RDS、Amazon DynamoDB 或 Amazon Redshift）。 | 
| 6.12 | 未经风险接受，不得配置第三方账户用于访问 AMS 客户 S3 存储桶或可以存储数据的资源（例如 Amazon RDS、Amazon DynamoDB 或 Amazon Redshift）的跨账户策略。 | 
| 7.0 | 用户组 | 
| 7.1 | 允许具有只读权限和非变异权限的 IAM 群组。 | 
| 8.0 | 基于资源的策略 | 
| 8.4 | 应通过附加基于资源的策略来保护 AMS 基础设施资源免受未经授权的身份的管理。 | 
| 8.2 | 除非客户明确指定不同的策略，否则应使用基于最低权限资源的策略来配置客户资源。 | 

## AMS-STD-X003-网络安全
<a name="acc-sec-stand-controls-network"></a>

以下是 X003-网络安全的标准控件：


| ID | 技术标准 | 
| --- | --- | 
|  | 联网 | 
| 1.0 | 留待将来控制 | 
| 2.0 | 允许在 EC2 实例上使用弹性 IP | 
| 3.0 | 必须使用 AMS 控制平面，进而在数据平面中使用 TLS 1.2\$1。 | 
| 5.0 | 如果安全组未按照 9.0 连接到负载均衡器，则其入站规则中不得将源设置为 0.0.0.0/0 | 
| 6.0 | 未经风险接受，不得将 S3 存储桶或对象公开。 | 
| 7.0 | 服务器管理端口 SSH/22 或 SSH/2222（不是 SFTP/2222）、TELNET/23、RDP/3389、winRM/5985-5986、VNC/ 5900-5901 TS/CITRIX/1494 或 1604、LDAP/389 或 636 以及 RPC/135、NETBIOS/137-139 上的访问权限。 | 
| 8.0 | 不得允许公共端口（mySQL/3306、PostgreSQL/5432、Oracle/1521、MSSQL/1433）或自定义端口进行数据库管理访问，不得允许未通过 DX、vpc-Peer 或通过安全组路由到 VPC 的公共端口。 IPs  | 
| 8.1 | 任何可以存储客户数据的资源都不应直接暴露在公共互联网上。 | 
| 9.0 | 仅允许负载均衡器通过端口 HTTP/80、HTTPS/8443 和 HTTPS/443 直接访问应用程序，不允许直接访问任何计算资源，例如实例、容器等。 EC2 ECS/EKS/Fargate | 
| 10.0 | 可以允许应用程序通过端口 HTTP/80 和 HTTPS/443 从客户私有 IP 范围进行访问。 | 
| 11.0 | 未经风险接受，不得允许对控制 AMS 基础设施访问权限的安全组进行任何更改。 | 
| 12.0 | 每次请求将安全组附加到实例时，AMS Security 都会参考这些标准。 | 
| 14.0 | 只有当非 AMS 账户由同一 AMS 客户（通过确认他们属于同一 AWS 组织账户或通过将电子邮件域与客户的公司名称进行匹配）时，才必须使用内部工具配置私有托管区域与 VPCs 从 AMS 到非 AMS 账户（或非 AMS 到 AMS 账户）的跨账户关联。 | 
| 15.0 | 可以允许属于同一客户的账户之间的 VPC 对等连接。 | 
| 16.0 | 只要两个账户均归同一个客户所有（通过确认他们属于同一个账户，或者将电子邮件域名与客户的公司名称进行匹配）， AMIs 即可使用内部工具与非 AMS AWS Organizations 账户共享 AMS 库。 | 
| 17.0 | 未经风险认可，不得在任何安全组中配置 FTP 端口 21。 | 
| 18.0 | 只要所有账户均归客户所有，则允许通过公交网关进行跨账户网络连接。 | 
| 19.0 | 不允许将私有子网设为公有子网 | 
| 20.0 | 不得允许与第三方账户（不归客户所有）的 VPC 对等连接。 | 
| 21.0 | 不得允许使用第三方账户（不归客户所有）连接 Transit Gateway。 | 
| 22.0 | AMS 向客户提供服务所需的任何网络流量都不得在客户网络出口点被屏蔽。 | 
| 23.0 |  EC2 从买家基础设施向 Amazon 发出的入库 ICMP 请求需要风险通知。 | 
| 24.0 | 允许通过安全组通过 DX、vpc-Peer 或 VPN 从公共 IPs 路由到 Amazon VPC 的入站请求。 | 
| 25.0 | 来自公众的入站请求 IPs 如果未通过 DX、vpc-Peer 或 VPN 通过安全组路由到 Amazon VPC，则需要接受风险。 | 
| 26.0 |  允许从 Amazon EC2 向任何目的地发出出站 ICMP 请求。 | 
| 27.0 | 安全组共享 | 
| 27.1 | 如果安全组符合此安全标准，则可以在同一个账户和同一组织 VPCs 中的账户之间共享该安全组。 | 
| 27.2 | 如果安全组不符合此标准，并且此安全组以前需要接受风险，则 VPCs 在不接受新的 VPC 或账户风险的情况下，不允许在同一账户之间或同一组织中的账户之间使用安全组共享功能。 | 

## AMS-STD-X004-渗透测试
<a name="acc-sec-stand-controls-pentest"></a>

以下是 X004-渗透测试的标准控件

1. AMS 不支持 pentest 基础架构。这是客户的责任。例如，Kali 不是 AMS 支持的 Linux 发行版。

1. 客户需要遵守[渗透测试](https://aws.amazon.com/security/penetration-testing/)。

1. 如果客户想在账户内进行基础设施渗透测试，则应提前 24 小时预先通知 AMS。

1. AMS 将根据客户在变更请求或服务请求中明确说明的客户要求配置客户渗透测试基础设施。

1. 客户渗透测试基础设施的身份管理由客户负责。

## AMS-STD-X005- GuardDuty
<a name="acc-sec-stand-controls-gdu"></a>

以下是 X005 的标准控件- GuardDuty

1. GuardDuty 必须始终在所有客户账户中启用。

1. GuardDuty 警报必须存储在同一账户或同一组织下的任何其他托管账户中。

1.  GuardDuty 不得使用的 “可信 IP 列表” 功能。取而代之的是，自动存档可以用作替代方案，这对于审计目的很有用。

## AMS-STD-X007-日志记录
<a name="acc-sec-stand-controls-logging"></a>

以下是 X007-日志记录的标准控件


| ID | 技术标准 | 
| --- | --- | 
| 1.0 | 日志类型 | 
| 1.1 | 操作系统日志：所有主机都必须记录最少的主机身份验证事件、所有使用提升权限的访问事件以及访问和权限配置的所有更改的访问事件，包括成功和失败。 | 
| 1.2 | AWS CloudTrail：必须启用并配置 CloudTrail 管理事件日志记录以将日志传送到 S3 存储桶。 | 
| 1.3 | VPC 流日志：必须通过 VPC 流日志记录所有网络流量日志。 | 
| 1.4 | Amazon S3 服务器访问日志：AMS 强制存储日志的 S3 存储桶必须启用服务器访问日志记录。 | 
| 1.5 | AWS Config 快照： AWS Config 必须记录所有区域中所有受支持资源的配置更改，并且每天至少将配置快照文件传送到 S3 存储桶一次。 | 
| 1.7 | 应用程序日志：客户有权在其应用程序中启用日志记录并存储在 CloudWatch 日志日志组或 S3 存储桶中。 | 
| 1.8 | S3 对象级日志记录：客户有权在其 S3 存储桶中启用对象级日志记录。 | 
| 1.9 | 服务日志：客户可以像任何核心服务一样启用和转发 SSP 服务的日志。 | 
| 1.10 | Elastic Loa Classic/Application Load Balancer/Network d Balancing（Load Balancer）日志：访问和错误日志条目必须存储在 AMS 2.0 托管的 S3 存储桶中。 | 
| 2.0 | 访问控制 | 
| 2.3 | 作为存储桶策略中的原则，AMS 规定的存储日志的 S3 存储桶不得允许第三方账户用户使用。 | 
| 2.4 | 未经客户授权的安全联系人明确批准，不得删除 CloudWatch 日志日志组中的日志。 | 
| 3.0 | 日志保留 | 
| 3.1 | AMS 规定的 CloudWatch 日志日志组的日志保留期必须至少为 90 天。 | 
| 3.2 | AMS 规定的用于存储日志的 S3 存储桶的日志保留期必须至少为 18 个月。 | 
| 3.3 | AWS Backup 在支持的资源上，快照应至少保留 31 天。 | 
| 4.0 | 加密 | 
| 4.1 | 必须在 AMS Teams 要求的存储日志的所有 S3 存储桶中启用加密。 | 
| 4.2 | 从客户账户向任何其他账户转发的任何日志都必须经过加密。 | 
| 5.0 | 完整性 | 
| 5.1 | 必须启用日志文件完整性机制。这意味着在 AMS 团队要求的 AWS CloudTrail 跟踪中配置 “日志文件验证”。 | 
| 6.0 | 日志转发 | 
| 6.1 | 任何日志都可以从一个 AMS 账户转发到同一客户的另一个 AMS 账户。 | 
| 6.2 | 只有当非 AMS 账户归同一 AMS 客户所有（通过确认他们属于同一个账户，或者将电子邮件域名与客户的公司名称和付款人关联 AWS Organizations 账户进行匹配）时，才能使用内部工具将任何日志从 AMS 转发到非 AMS 账户。 | 

# 给您的环境带来高或非常高的安全风险的更改
<a name="acc-sec-high-risk-con"></a>

以下更改会给您的环境带来高或非常高的安全风险：

**AWS Identity and Access Management**
+ High\$1risk-iam-001：为根账户创建访问密钥
+ High\$1risk-iam-002：修改 SCP 策略以允许其他访问权限
+ High\$1risk-iam-003：SCP 政策修改可能会破坏 AMS 基础设施
+ High\$1risk-iam-004：在客户账户中创建 role/user 基础架构变更权限（写入、权限管理或标记）
+ High\$1risk-iam-005：AMS 账户和第三方账户（不归客户所有）之间的 IAM 角色信任策略
+ High\$1risk-iam-006：跨账户政策，允许第三方账户从 AMS 账户访问任何 KMS 密钥）
+ High\$1risk-iam-007：来自第三方账户的跨账户政策，用于访问 AMS 客户 S3 存储桶或可以存储数据的资源（例如 Amazon RDS、Amazon DynamoDB 或 Amazon Redshift）
+ High\$1risk-iam-008：为客户账户中的任何基础设施变更权限分配 IAM 权限
+ High\$1risk-iam-009：允许列出和读取账户中的所有 S3 存储桶

**网络安全**
+ High\$1risk-net-001：从互联网上打开操作系统管理端口 SSH/22 或 SSH/2222（不是 SFTP/2222）、TELNET/23、RDP/3389、winrm/5985-5986、VNC/ 5900-5901 TS/CITRIX/1494 或 1604、LDAP/389 或 636 和 NETBIOS/137-139
+ High\$1risk-net-002：打开数据库管理端口 mysql/3306、PostgreSQL/5432、Oracle/1521、MSSQL/1433 或互联网上的任何管理客户端口
+ High\$1risk-net-003：直接在任何计算资源上打开应用程序端口 HTTP/80、HTTPS/8443 和 HTTPS/443。例如，来自互联网的 EC2 实例、ECS/EKS/Fargate容器等
+ High\$1risk-net-004：对控制 AMS 基础设施访问权限的安全组进行的任何更改
+ High\$1risk-net-006：与第三方账户（不归客户所有）的 VPC 对等
+ High\$1risk-net-007：添加客户防火墙作为所有 AMS 流量的出口点
+ High\$1risk-net-008：不允许与第三方账户连接 Transit Gateway
+ High\$1Risk-S3-001：在 S3 存储桶中配置或启用公共访问权限

**日志系统**
+ High\$1risk-log-001：禁用。 CloudTrail
+ High\$1risk-log-002：禁用 VPC 流日志。
+ High\$1risk-log-003：通过任何方法（S3 事件通知、SIEM 代理提取、SIEM 代理推送等）将日志从 AMS 托管账户转发到第三方账户（不归客户所有）
+ high\$1risk-log-004：使用非 AMS 跟踪进行 CloudTrail

**其他**
+ High\$1risk-enc-001：如果启用了任何资源的加密，则将其禁用