AWS 基础安全最佳实践 (FSBP) 标准 - AWS Security Hub

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

AWS 基础安全最佳实践 (FSBP) 标准

AWS 基础安全最佳实践标准是一组控制措施,用于检测您的 AWS 账户 和资源何时偏离安全最佳实践。

该标准允许您持续评估所有 AWS 账户 和工作负载,以快速确定偏离最佳实践的领域。它提供了有关如何改进和维护组织的安全状况的可操作的规范性指导。

这些控件包括多个 AWS 服务资源的安全最佳实践。每个控件还分配有一个类别,反映其适用的安全功能。有关更多信息,请参阅 控件类别

适用于 FSBP 标准的控件

[Account.1] 应提供安全联系人信息 AWS 账户

[ACM.1] 导入的证书和 ACM 颁发的证书应在指定的时间段后续订

[ACM.2] 由 ACM 托管的 RSA 证书应使用至少 2,048 位的密钥长度

[ApigateWay.1] 应启用 API Gateway REST 和 WebSocket API 执行日志记录

[APIGateway.2] 应将 API Gateway REST API 阶段配置为使用 SSL 证书进行后端身份验证

[APIGateway.3] API Gateway REST API 阶段应启用 AWS X-Ray 追踪功能

[APIGateway.4] API Gateway 应与 WAF Web ACL 关联

[APIGateway.5] API Gateway REST API 缓存数据应进行静态加密

[APIGateway.8] API Gateway 路由应指定授权类型

[APIGateway.9] 应为 API Gateway V2 阶段配置访问日志

[AppSync.2] AWS AppSync 应该启用字段级日志记录

[AppSync.5] 不应使用 API AWS AppSync 密钥对 GraphQL API 进行身份验证

[Athena.1] Athena 工作组应进行静态加密

[AutoScaling.1] 与 Classic Load Balancer 关联的 Auto Scaling 组应使用负载均衡器运行状况检查

[AutoScaling.2] Amazon EC2 Auto Scaling 组应覆盖多个可用区

[AutoScaling.3] Auto Scaling 组启动配置应将 EC2 实例配置为需要实例元数据服务版本 2 (imdsv2)

[AutoScaling.4] Auto Scaling 组启动配置的元数据响应跳跃限制不应大于 1

[Autoscaling.5] 使用自动扩缩组启动配置启动的 Amazon EC2 实例不应具有公有 IP 地址

[AutoScaling.6] Auto Scaling 组应在多个可用区域中使用多种实例类型

[AutoScaling.9] 亚马逊 EC2 Auto Scaling 小组应使用亚马逊 EC2 启动模板

[Backup.1] 应在静态状态下对 AWS Backup 恢复点进行加密

[CloudFormation.1] CloudFormation 堆栈应与简单通知服务 (SNS) 集成 Simple Notification Service

[CloudFront.1] CloudFront 发行版应配置默认根对象

[CloudFront.3] CloudFront 发行版在传输过程中应要求加密

[CloudFront.4] CloudFront 发行版应配置源站故障转移

[CloudFront.5] CloudFront 发行版应启用日志记录

[CloudFront.6] CloudFront 发行版应启用 WAF

[CloudFront.7] CloudFront 发行版应使用自定义 SSL/TLS 证书

[CloudFront.8] CloudFront 发行版应使用 SNI 来处理 HTTPS 请求

[CloudFront.9] CloudFront 发行版应加密发往自定义来源的流量

[CloudFront.10] CloudFront 分发版不应在边缘站点和自定义源站之间使用已弃用的 SSL 协议

[CloudFront.12] CloudFront 发行版不应指向不存在的 S3 来源

[CloudFront.13] CloudFront 发行版应使用源站访问控制

[CloudTrail.1] CloudTrail 应启用并配置至少一条包含读写管理事件的多区域跟踪

[CloudTrail.2] CloudTrail 应该启用静态加密

[CloudTrail.4] 应启用 CloudTrail 日志文件验证

[CloudTrail.5] 应将 CloudTrail 跟踪与 Amazon CloudWatch 日志集成

[CodeBuild.1] CodeBuild Bitbucket 源存储库网址不应包含敏感凭证

[CodeBuild.2] CodeBuild 项目环境变量不应包含明文凭证

[CodeBuild.3] 应 CodeBuild 对 S3 日志进行加密

[CodeBuild.4] CodeBuild 项目环境应该有一个日志持续时间 AWS Config

[CodeBuild.5] CodeBuild 项目环境不应启用特权模式

AWS Config 应启用 [Config.1]

[DMS.1] Database Migration Service 复制实例不应公开

[DMS.6] DMS 复制实例应启用自动次要版本升级

[DMS.7] 目标数据库的 DMS 复制任务应启用日志记录

[DMS.8] 源数据库的 DMS 复制任务应启用日志记录

[DMS.9] DMS 端点应使用 SSL

[DocumentDB.1] Amazon DocumentDB 集群应进行静态加密

[DocumentDB.2] Amazon DocumentDB 集群应有足够的备份保留期

[DocumentDB.3] Amazon DocumentDB 手动集群快照不应公开

[documentDB.4] Amazon DocumentDB 集群应将审计日志发布到日志 CloudWatch

[DocumentDB.5] Amazon DocumentDB 集群应启用删除保护

[DynamoDB.1] DynamoDB 表应根据需求自动扩展容量

[DynamoDB.2] DynamoDB 表应该启用恢复功能 point-in-time

[DynamoDB.3] DynamoDB Accelerator (DAX) 集群应在静态状态下进行加密

[DynamodB.6] DynamoDB 表应启用删除保护

[EC2.1] Amazon EBS 快照不应公开恢复

[EC2.2] VPC 默认安全组不应允许入站或出站流量

[EC2.3] 挂载的 Amazon EBS 卷应进行静态加密

[EC2.4] 停止的 EC2 实例应在指定时间段后删除

[EC2.6] 应在所有 VPC 中启用 VPC 流日志记录

[EC2.7] 应启用 EBS 默认加密

[EC2.8] EC2 实例应使用实例元数据服务版本 2 (IMDSv2)

[EC2.9] Amazon EC2 实例不应拥有公有 IPv4 地址

[EC2.10] 应将 Amazon EC2 配置为使用为 Amazon EC2 服务创建的 VPC 端点

[EC2.15] Amazon EC2 子网不应自动分配公有 IP 地址

[EC2.16] 应删除未使用的网络访问控制列表

[EC2.17] Amazon EC2 实例不应使用多个 ENI

[EC2.18] 安全组应只允许授权端口不受限制的传入流量

[EC2.19] 安全组不应允许不受限制地访问高风险端口

[EC2.20] 用于点对 AWS 点 VPN 连接的两个 VPN 隧道都应处于开启状态

[EC2.21] 网络 ACL 不应允许从 0.0.0.0/0 进入端口 22 或端口 3389

[EC2.23] Amazon EC2 中转网关不应自动接受 VPC 附件请求

[EC2.24] 不应使用 Amazon EC2 半虚拟化实例类型

[EC2.25] Amazon EC2 启动模板不应为网络接口分配公有 IP

[EC2.51] EC2 Client VPN 端点应启用客户端连接日志记录

[ECR.1] ECR 私有存储库应配置图像扫描

[ECR.2] ECR 私有存储库应配置标签不可变性

[ECR.3] ECR 存储库应至少配置一个生命周期策略

[ECS.1] Amazon ECS 任务定义应具有安全的联网模式和用户定义。

[ECS.2] ECS 服务不应自动分配公有 IP 地址

[ECS.3] ECS 任务定义不应共享主机的进程命名空间

[ECS.4] ECS 容器应以非特权身份运行

[ECS.5] ECS 容器应限制为仅对根文件系统具有只读访问权限。

[ECS.8] 密钥不应作为容器环境变量传递

[ECS.9] ECS 任务定义应具有日志配置

[ECS.10] ECS Fargate 服务应在最新的 Fargate 平台版本上运行

[ECS.12] ECS 集群应该使用容器详情

[EFS.1] 应将弹性文件系统配置为使用以下方法加密静态文件数据 AWS KMS

[EFS.2] Amazon EFS 卷应包含在备份计划中

[EFS.3] EFS 接入点应强制使用根目录

[EFS.4] EFS 接入点应强制使用用户身份

[EKS.1] EKS 集群端点不应公开访问

[EKS.2] EKS 集群应在支持的 Kubernetes 版本上运行

[EKS.8] EKS 集群应启用审核日志记录

[ElastiCache.1] ElastiCache Redis 集群应启用自动备份

[ElastiCache.2] ElastiCache 对于 Redis 缓存集群,应启用自动次要版本升级

[ElastiCache.3] ElastiCache 对于 Redis 复制组,应启用自动故障转移

[ElastiCache.4] ElastiCache 对于 Redis,复制组应进行静态加密

[ElastiCache.5] ElastiCache 对于 Redis,复制组应在传输过程中进行加密

[ElastiCache.6] ElastiCache 对于 6.0 版本之前的 Redis 复制组,应使用 Redis 身份验证

[ElastiCache.7] ElastiCache 群集不应使用默认子网组

[ElasticBeanstalk.1] Elastic Beanstalk 环境应启用增强型运行状况报告

[ElasticBeanstalk.2] 应启用 Elastic Beanstalk 托管平台更新

[ElasticBeanstalk.3] Elastic Beanstalk 应该将日志流式传输到 CloudWatch

[ELB.1] 应用程序负载均衡器应配置为将所有 HTTP 请求重定向到 HTTPS

[ELB.2] 带有 SSL/HTTPS 侦听器的经典负载均衡器应使用由提供的证书 AWS Certificate Manager

[ELB.3] 应将经典负载均衡器侦听器配置为 HTTPS 或 TLS 终止

[ELB.4] 应将应用程序负载均衡器配置为删除 http 标头

[ELB.5] 应启用应用程序和经典负载均衡器日志记录

[ELB.6] 应启用应用程序负载均衡器删除保护

[ELB.7] 经典负载均衡器应启用连接耗尽功能

[ELB.8] 带有 SSL 侦听器的经典负载均衡器应使用持续时间较长的预定义安全策略 AWS Config

[ELB.9] 经典负载均衡器应启用跨区域负载均衡器

[ELB.10] 经典负载均衡器应跨越多个可用区

[ELB.12] 应用程序负载均衡器应配置为防御性或最严格的异步缓解模式

[ELB.13] 应用程序、网络和网关负载均衡器应跨越多个可用区

[ELB.14] 经典负载均衡器应配置为防御性或最严格的异步缓解模式

[EMR.1] Amazon EMR 集群主节点不应有公有 IP 地址

[EMR.2] 应启用 Amazon EMR 屏蔽公共访问权限设置

[ES.1] Elasticsearch 域应启用静态加密

[ES.2] Elasticsearch 域名不可供公共访问

[ES.3] Elasticsearch 域应加密节点之间发送的数据

[ES.4] 应启用 Elasticsearch 域错误日志记录到 CloudWatch 日志

[ES.5] Elasticsearch 域名应该启用审核日志

[ES.6] Elasticsearch 域应拥有至少三个数据节点

[ES.7] 应将 Elasticsearch 域配置为至少三个专用的主节点

[ES.8] 应使用最新的 TLS 安全策略对与 Elasticsearch 域的连接进行加密

[EventBridge.3] EventBridge 自定义事件总线应附加基于资源的策略

[fsx.1] 应将适用于 OpenZFS 的 FSX 文件系统配置为将标签复制到备份和卷

[GuardDuty.1] GuardDuty 应该启用

[IAM.1] IAM policy 不应允许完整的“*”管理权限

[IAM.2] IAM 用户不应附加 IAM policy

[IAM.3] IAM 用户访问密钥应每 90 天或更短时间轮换一次

[IAM.4] 不应存在 IAM 根用户访问密钥

[IAM.5] 应为拥有控制台密码的所有 IAM 用户启用 MFA

[IAM.6] 应该为根用户启用硬件 MFA

[IAM.7] IAM 用户的密码策略应具有可靠的配置

[IAM.8] 应移除未使用的 IAM 用户凭证

[IAM.21] 您创建的 IAM 客户托管策略不应允许对服务执行通配符操作

[Kinesis.1] Kinesis 直播应在静态状态下进行加密

[KMS.1] IAM 客户托管策略不应允许对所有 KMS 密钥执行解密操作

[KMS.2] IAM 主体不应有允许对所有 KMS 密钥进行解密操作的 IAM 内联策略

AWS KMS keys 不应无意中删除 [KMS.3]

[Lambda.1] Lambda 函数策略应禁止公共访问

[Lambda.2] Lambda 函数应使用受支持的运行时系统

[Lambda.5] VPC Lambda 函数应在多个可用区内运行

[Macie.1] 应该启用亚马逊 Macie

[Macie.2] 应启用 Macie 自动发现敏感数据

[MSK.1] MSK 集群应在代理节点之间传输时进行加密

[Neptune.1] 应对 Neptune 数据库集群进行静态加密

[Neptune.2] Neptune 数据库集群应将审计日志发布到日志 CloudWatch

[Neptune.3] Neptune 数据库集群快照不应公开

[Neptune.4] Neptune 数据库集群应启用删除保护

[Neptune.5] Neptune 数据库集群应启用自动备份

[Neptune.6] 应在静态状态下对 Neptune 数据库集群快照进行加密

[Neptune.7] Neptune 数据库集群应启用 IAM 数据库身份验证

[Neptune.8] 应将 Neptune 数据库集群配置为将标签复制到快照

[NetworkFirewall.2] 应启用 Network Firewall 日志记录

[NetworkFirewall.3] Network Firewall 策略应至少关联一个规则组

[NetworkFirewall.4] Network Firewall 策略的默认无状态操作应为丢弃或转发已满数据包

[NetworkFirewall.5] 对于分段的数据包,Network Firewall 策略的默认无状态操作应为丢弃或转发

[NetworkFirewall.6] 无状态 Network Firewall 规则组不应为空

[NetworkFirewall.9] Network Firewall 防火墙应启用删除保护

[Opensearch.1] OpenSearch 域名应启用静态加密

[Opensearch.2] OpenSearch 域名不应向公众开放

[Opensearch.3] OpenSearch 域应加密节点之间发送的数据

[Opensearch.4] OpenSearch 应该启用记录到 CloudWatch 日志的域名错误

[Opensearch.5] OpenSearch 域应启用审核日志

[Opensearch.6] OpenSearch 域名应至少有三个数据节点

[Opensearch.7] OpenSearch 域名应启用精细的访问控制

[Opensearch.8] 应使用最新的 TLS 安全策略对与 OpenSearch 域的连接进行加密

[Opensearch.10] OpenSearch 域名应安装最新的软件更新

[PCA.1] 应禁用 AWS Private CA 根证书颁发机构

[Route53.2] Route 53 公有托管区域应记录 DNS 查询

[RDS.1] RDS 快照应为私有

[RDS.2] RDS 数据库实例应禁止公共访问,具体取决于持续时间 PubliclyAccessible AWS Config

[RDS.3] RDS 数据库实例应启用静态加密

[RDS.4] RDS 集群快照和数据库快照应进行静态加密

[RDS.5] RDS 数据库实例应配置多个可用区

[RDS.6] 应为 RDS 数据库实例配置增强监控

[RDS.7] RDS 集群应启用删除保护

[RDS.8] RDS 数据库实例应启用删除保护

[RDS.9] RDS 数据库实例应将日志发布到日志 CloudWatch

[RDS.10] 应为 RDS 实例配置 IAM 身份验证

[RDS.11] RDS 实例应启用自动备份

[RDS.12] 应为 RDS 集群配置 IAM 身份验证

[RDS.13] 应启用 RDS 自动次要版本升级

[RDS.14] Amazon Aurora 集群应启用回溯功能

[RDS.15] 应为多个可用区配置 RDS 数据库集群

[RDS.16] 应将 RDS 数据库集群配置为将标签复制到快照

[RDS.17] 应将 RDS 数据库实例配置为将标签复制到快照

[RDS.18] RDS 实例应部署在 VPC 中

[RDS.19] 应为关键集群事件配置现有 RDS 事件通知订阅

[RDS.20] 应为关键数据库实例事件配置现有 RDS 事件通知订阅

[RDS.21] 应为关键数据库参数组事件配置 RDS 事件通知订阅

[RDS.22] 应为关键数据库安全组事件配置 RDS 事件通知订阅

[RDS.23] RDS 实例不应使用数据库引擎的默认端口

[RDS.24] RDS 数据库集群应使用自定义管理员用户名

[RDS.25] RDS 数据库实例应使用自定义管理员用户名

[RDS.27] 应对 RDS 数据库集群进行静态加密

[RDS.34] Aurora MySQL 数据库集群应将审计日志发布到日志 CloudWatch

[RDS.35] RDS 数据库集群应启用自动次要版本升级

[Redshift.1] Amazon Redshift 集群应禁止公共访问

[Redshift.2] 与 Amazon Redshift 集群的连接应在传输过程中进行加密

[Redshift.3] Amazon Redshift 集群应启用自动快照

[Redshift.4] Amazon Redshift 集群应启用审核日志记录

[Redshift.6] Amazon Redshift 应该启用自动升级到主要版本的功能

[Redshift.7] Redshift 集群应使用增强型 VPC 路由

[Redshift.8] Amazon Redshift 集群不应使用默认的管理员用户名

[Redshift.9] Redshift 集群不应使用默认的数据库名称

[Redshift.10] Redshift 集群应在静态状态下进行加密

[S3.1] S3 通用存储桶应启用阻止公共访问设置

[S3.2] S3 通用存储桶应阻止公共读取权限

[S3.3] S3 通用存储桶应阻止公共写入权限

[S3.5] S3 通用存储桶应要求请求使用 SSL

[S3.6] S3 通用存储桶策略应限制对其他存储桶的访问 AWS 账户

[S3.8] S3 通用存储桶应阻止公共访问

[S3.9] S3 通用存储桶应启用服务器访问日志记录

[S3.10] 启用版本控制的 S3 通用存储桶应具有生命周期配置

[S3.11] S3 通用存储桶应启用事件通知

[S3.12] 不应使用 ACL 来管理用户对 S3 通用存储桶的访问权限

[S3.13] S3 通用存储桶应具有生命周期配置

[S3.19] S3 接入点已启用屏蔽公共访问权限设置

[SageMaker.1] Amazon SageMaker 笔记本实例不应直接访问互联网

[SageMaker.2] SageMaker 笔记本实例应在自定义 VPC 中启动

[SageMaker.3] 用户不应拥有 SageMaker 笔记本实例的 root 访问权限

[SecretsManager.1] Secrets Manager 密钥应启用自动轮换

[SecretsManager.2] 配置了自动轮换功能的 Secrets Manager 密钥应成功轮换

[SecretsManager.3] 移除未使用的 Secrets Manager 密钥

[SecretsManager.4] Secrets Manager 密钥应在指定的天数内轮换

[SNS.1] SNS 主题应使用以下方法进行静态加密 AWS KMS

[SNS.2] 应为发送到主题的通知消息启用传输状态记录

[SQS.1] 应对 Amazon SQS 队列进行静态加密

[SSM.1] Amazon EC2 实例应由以下人员管理 AWS Systems Manager

[SSM.2] 由 Systems Manager 管理的 Amazon EC2 实例在安装补丁后应具有 COMPLIANT 的补丁合规性状态

[SSM.3] 由 Systems Manager 管理的 Amazon EC2 实例的关联合规状态应为 COMPLIANT

[SSM.4] SSM 文档不应公开

[StepFunctions.1] Step Functions 状态机应该开启日志功能

[WAF.1] 应启用 AWS WAF 经典全局 Web ACL 日志记录

[WAF.2] AWS WAF 经典区域规则应至少有一个条件

[WAF.3] AWS WAF 经典区域规则组应至少有一条规则

[WAF.4] AWS WAF 经典区域性 Web ACL 应至少有一个规则或规则组

[WAF.6] AWS WAF 经典全局规则应至少有一个条件

[WAF.7] AWS WAF 经典全局规则组应至少有一条规则

[WAF.8] AWS WAF 经典全局 Web ACL 应至少有一个规则或规则组

[WAF.10] AWS WAF Web ACL 应至少有一个规则或规则组

[WAF.12] AWS WAF 规则应启用指标 CloudWatch