AWS Foundational Security Best Practices (FSBP) 標準
AWS Foundational Security Best Practices 標準は、AWS アカウント とリソースがセキュリティのベストプラクティスから逸脱した場合に検出する一連のコントロールです。
この標準により、すべての AWS アカウント とワークロードを継続的に評価し、ベストプラクティスから逸脱する領域を迅速に特定できます。組織のセキュリティ体制を改善および維持する方法について、実践的かつ規範的なガイダンスを提供します。
コントロールには、複数の AWS のサービス からの、リソースに対するセキュリティのベストプラクティスが含まれます。また、各コントロールには、適用先のセキュリティ機能を反映するカテゴリが割り当てられます。詳細については、「コントロールのカテゴリ」を参照してください。
FSBP に適用されるコントロール
[Account.1] AWS アカウント について、セキュリティの連絡先情報を提供する必要があります
[ACM.1] インポートされ ACM によって発行された証明書は、一定期間後に更新する必要があります
[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 ウェブ ACL に関連付けられている必要があります
[APIGateway.5] API Gateway REST API のキャッシュデータは、保管中に暗号化する必要があります
[APIGateway.8] API Gateway ルートには認証タイプを指定する必要があります
[APIGateway.9] API Gateway V2 ステージにアクセスロギングを設定する必要があります
[AutoScaling.1] Classic Load Balancer に関連付けられた Auto Scaling グループは、ロードバランサーのヘルスチェックを使用する必要があります
[AutoScaling.2] Amazon EC2 Auto Scaling グループは、複数のアベイラビリティーゾーンをカバーする必要があります
[AutoScaling.4] Auto Scaling グループの起動 AWS Config 設定では、メタデータ応答ホップ制限が 1 を超えることはできません
[Autoscaling.5] Auto Scaling グループの起動設定を使用して起動した Amazon EC2 インスタンスは、パブリック IP アドレスを含みません
[AutoScaling.6] Auto Scaling グループは、複数のアベイラビリティーゾーンで複数のインスタンスタイプを使用する必要があります
[AutoScaling.9] Amazon EC2 Auto Scaling グループは Amazon EC2 起動テンプレートを使用する必要があります
[CloudFormation.1] CloudFormation スタックは、Simple Notification Service (SNS) と統合させる必要があります
[CloudFront.1] CloudFront ディストリビューションでは、デフォルトのルートオブジェクトが設定されている必要があります
[CloudFront.2] 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 オリジンをポイントしない必要があります
[CloudTrail.1] CloudTrail を有効にして、少なくとも 1 つのマルチリージョンの追跡で、読み取りと書き込みの管理イベントを含めた設定をする必要があります。
[CloudTrail.2] CloudTrail は保管時の暗号化を有効にする必要があります
[PCI.CloudTrail.4] CloudTrail ログファイルの検証を有効にする必要があります
[CloudTrail.5] CloudTrail 追跡は Amazon CloudWatch Logs と統合する必要があります
[CodeBuild.1] CodeBuild GitHub または Bitbucket のソースリポジトリの URL は、OAuth を使用する必要があります
[CodeBuild.2] CodeBuild プロジェクト環境変数にクリアテキストの認証情報を含めることはできません
[CodeBuild.3] CodeBuild S3 ログは暗号化する必要があります
[CodeBuild.4] CodeBuild プロジェクト環境にはログ記録の AWS Config 設定が必要です
[CodeBuild.5] CodeBuild プロジェクト環境では特権モードを有効にしないでください
[Config.1]AWS Config を有効にする必要があります
[DMS.1] Database Migration Service のレプリケーションインスタンスは非パブリックである必要があります
[DynamoDB.1] DynamoDB テーブルは、需要に応じて容量をオートスケーリングする必要があります
[DynamoDB.2] DynamoDB テーブルでは、ポイントインタイムリカバリが有効になっている必要があります。
[DynamoDB.3] DynamoDB Accelerator (DAX) クラスターは、保管中に暗号化する必要があります
[EC2.1] Amazon EBS スナップショットはパブリックに復元できないようにします
[EC2.2] VPC のデフォルトのセキュリティグループでは、インバウンドトラフィックとアウトバウンドトラフィックを許可しないようにする必要があります
[EC2.3] アタッチされた Amazon EBS ボリュームは、保管時に暗号化する必要があります
[EC2.4] 停止した Amazon EC2 インスタンスは、指定した期間後に削除する必要があります
[EC2.6] すべての VPC で VPC フローログ記録を有効にする必要があります
[EC2.7] Amazon EBS のデフォルト暗号化を有効にする必要があります
[EC2.8] Amazon EC2 インスタンスは、インスタンスメタデータサービスバージョン 2 (IMDSv2) を使用する必要があります
[EC2.9] Amazon EC2 インスタンスは、パブリック IPv4 アドレスを未設定にする必要があります
[EC2.10] Amazon EC2 サービス用に作成された VPC エンドポイントを使用するようにAmazon EC2 を設定する必要があります
[EC2.15] Amazon EC2 サブネットは、パブリック IP アドレスを自動的に割り当てないでください
[EC2.16] 未使用のネットワークアクセスコントロールリストを削除する必要があります
[EC2.17] Amazon EC2 インスタンスは複数の ENI を使用しないでください
[EC2.18] セキュリティグループは、許可されたポートに対して無制限の着信トラフィックのみを許可する必要があります。
[EC2.19] セキュリティグループは、リスクの高いポートへの無制限アクセスを許可してはいけません
[EC2.20] AWS Site-to-Site VPN 接続用の VPN トンネルは、両方とも起動している必要があります。
[EC2.21] ネットワーク ACL は、0.0.0.0/0 からポート 22、またはポート 3389 への侵入をを許可しないようにする必要があります
[EC2.22] 未使用の Amazon EC2 セキュリティグループを削除する必要があります
[EC2.23] Amazon EC2 Transit Gateway は VPC アタッチメントリクエストを自動的に受け付けないようにしてください
[EC2.24] Amazon EC2 インスタンスタイプは使用しないでください
[EC2.25] Amazon EC2 起動テンプレートはパブリック IP をネットワークインターフェイスに割り当てないでください
[ECR.1] ECR プライベートリポジトリでは、イメージスキャニングが設定されている必要があります
[ECR.2] ECR プライベートリポジトリでは、タグのイミュータビリティが設定されている必要があります
[ECR.3] ECR リポジトリには、少なくとも 1 つのライフサイクルポリシーが設定されている必要があります
[ECS.1] Amazon ECS タスク定義には、セキュアなネットワークモードとユーザー定義が必要です。
[ECS.2] ECS サービスには、パブリック IP アドレスを自動で割り当てないでください
[ECS.3] ECS タスクの定義では、ホストのプロセス名前空間を共有しないでください
[ECS.4] ECS コンテナは、非特権として実行する必要があります
[ECS.5] ECS コンテナは、ルートファイルシステムへの読み取り専用アクセスに制限する必要があります。
[ECS.8] シークレットは、コンテナ環境の変数として渡さないでください
[ECS.10] ECS Fargate サービスは、最新の Fargate プラットフォームバージョンで実行する必要があります。
[ECS.12] ECS クラスターはコンテナインサイトを使用する必要があります
[EFS.1] Elastic File System は、AWS KMS を使用して保管中のファイルデータを暗号化するように設定する必要があります
[EFS.2] Amazon EFS ボリュームは、バックアッププランに含める必要があります
[EFS.3] EFS アクセスポイントは、ルートディレクトリを適用する必要があります
[EFS.4] EFS アクセスポイントは、ユーザー ID を適用する必要があります
[EKS.1] EKS クラスターエンドポイントがパブリックにアクセスできないようにする必要があります
[EKS.2] EKS クラスターは、サポートされている Kubernetes バージョンで実行する必要があります。
[ElastiCache.1] Redis クラスター用 ElastiCache には自動バックアップをスケジュールする必要があります
[ElastiCache.2] マイナーバージョンのアップグレードは、ElastiCache for Redis のキャッシュクラスターに自動的に適用する必要があります
[ElastiCache.3] ElastiCache for Redis レプリケーショングループでは、自動フェイルオーバーを有効にする必要があります
[ElastiCache.4] ElastiCache for Redis レプリケーショングループは保管時に暗号化する必要があります
[ElastiCache.5] ElastiCache for Redis レプリケーショングループは転送時に暗号化する必要があります
[ElastiCache.6] バージョン 6.0 より前の ElastiCache for Redis レプリケーショングループでは、Redis AUTH を使用する必要があります
[ElastiCache.7] ElastiCache クラスターでは、デフォルトのサブネットグループを使用しないでください
[ElasticBeanstalk.1] Elastic Beanstalk 環境では、拡張ヘルスレポートを有効にする必要があります。
[ElasticBeanstalk.2] Elastic Beanstalk のマネージドプラットフォームの更新を有効にする必要があります
[ELB.1] Application Load Balancer は、すべての HTTP リクエストを HTTPS にリダイレクトするように設定する必要があります
[ELB.3] Classic Load Balancer のリスナーは、HTTPS または TLS ターミネーションで設定する必要があります
[ELB.4] Application Load Balancer は、http ヘッダーを削除するように設定する必要があります
[ELB.5] アプリケーションおよび Classic Load Balancer のログ記録を有効にする必要があります
[ELB.6] Application Load Balancer で削除保護を有効にする必要があります
[ELB.7] Classic Load Balancers は、Connection Draining を有効にする必要があります
[ELB.8] SSL リスナーを使用する Classic Load Balancer は、強力な AWS Config 設定を持つ事前定義されたセキュリティポリシーを使用する必要があります
[ELB.9] Classic Load Balancer では、クロスゾーンロードバランシングが有効になっている必要があります
[ELB.10] Classic Load Balancer は、複数のアベイラビリティーゾーンにまたがっている必要があります
[ELB.12] Application Load Balancer は、防御モードまたは最も厳密な非同期緩和モードで構成する必要があります
[ELB.13] Application、Network、Gateway Load Balancer は、複数のアベイラビリティーゾーンにまたがっている必要があります
[ELB.14] Classic Load Balancer は、防御モードまたは最も厳密な非同期緩和モードで設定する必要があります
[EMR.1] Amazon Elastic MapReduce クラスターマスターノードは、パブリック IP アドレスを未設定にする必要があります
[ES.1] Elasticsearch ドメインは、保管中の暗号化を有効にする必要があります
[ES.2] Elasticsearch ドメインは VPC 内に存在する必要があります
[ES.3] Elasticsearch ドメインは、ノード間で送信されるデータを暗号化する必要があります
[ES.4] CloudWatch Logs への Elasticsearch ドメインエラーログ記録を有効にする必要があります
[ES.5] Elasticsearch ドメインで監査ログ記録が有効になっている必要があります
[ES.6] Elasticsearch ドメインには少なくとも 3 つのデータノードが必要です
[ES.7] Elasticsearch ドメインは、少なくとも 3 つの専用マスターノードを設定する必要があります。
[ES.8] Elasticsearch ドメインへの接続は TLS 1.2 を使用して暗号化する必要があります
[GuardDuty.1] GuardDuty を有効にする必要があります
[IAM.1] IAM ポリシーでは、完全な「*」管理者権限を許可しないでください
[IAM.2] IAM ユーザーには IAM ポリシーを添付しないでください
[IAM.3] IAM ユーザーのアクセスキーは 90 日以内にローテーションする必要があります
[IAM.4] IAM ルートユーザーアクセスキーが存在してはいけません
[IAM.5] コンソールパスワードを使用するすべての IAM ユーザーに対して MFA を有効にする必要があります
[IAM.6] ルートユーザーに対してハードウェア MFA を有効にする必要があります
[IAM.7] IAM ユーザーのパスワードポリシーには強力な AWS Config 設定が必要です
[IAM.8] 未使用の IAM ユーザー認証情報は削除する必要があります
[IAM.21] 作成する IAM カスタマーマネージドポリシーにはサービスのワイルドカードアクションを許可してはいけません
[Kinesis.1] Kinesis ストリームは、保管中に暗号化する必要があります
[KMS.1] IAM カスタマー管理ポリシーでは、すべての KMS キーの復号アクションを許可しないでください
[KMS.2] IAM プリンシパルは、すべての KMS キーで復号アクションを許可する IAM インラインポリシーを使用しないでください
[KMS.3] AWS KMS keys キーを意図せずに削除してはいけません
[Lambda.1] Lambda 関数ポリシーでは、パブリックアクセスを禁止する必要があります
[Lambda.2] Lambda 関数はサポートされているランタイムを使用する必要があります
[Lambda.5] VPC Lambda 関数は複数のアベイラビリティーゾーンで運用する必要があります
[Network Firewall.3] Network Firewall ポリシーには、1 つ以上のルールグループが関連付けられている必要があります
[NetworkFirewall.4] Network Firewall ポリシーのデフォルトのステートレスアクションは、完全なパケットに対してドロップまたは転送される必要があります。
[NetworkFirewall.5] Network Firewall ポリシーのデフォルトのステートレスアクションは、断片化されたパケットに対してドロップまたは転送される必要があります。
[NetworkFirewall.6] ステートレス Network Firewall のルールグループを空にしないでください
[Opensearch.1] OpenSearch ドメインは保管中の暗号化を有効にする必要があります
[Opensearch.2] OpenSearch ドメインは VPC 内に含まれている必要があります
[Opensearch.3] OpenSearch ドメインはノード間で送信されるデータを暗号化する必要があります
[Opensearch.4] CloudWatch Logs への OpenSearch ドメインエラーのログ記録を有効にする必要があります
[Opensearch.5] OpenSearch ドメインでは、監査ログ記録を有効にする必要があります
[Opensearch.6] OpenSearch ドメインには少なくとも 3 つのデータノードが必要です
[Opensearch.7] OpenSearch ドメインは、きめ細かなアクセスコントロールを有効にする必要があります
[Opensearch.8] OpenSearch ドメインへの接続は TLS 1.2 を使用して暗号化する必要があります
[RDS.1] RDS スナップショットはプライベートである必要があります
[RDS.2] RDS DB インスタンスは、PubliclyAccessible AWS Config 設定によって判断される、パブリックアクセスを禁止する必要があります
[RDS.3] RDS DB インスタンスでは、保管時の暗号化が有効になっている必要があります。
[RDS.4] RDS クラスタースナップショットとデータベーススナップショットは保管中に暗号化する必要があります
[RDS.5] RDS DB インスタンスは、複数のアベイラビリティーゾーンで設定する必要があります
[RDS.6] RDS DB インスタンスの拡張モニタリングを設定する必要があります
[RDS.7] RDS クラスターでは、削除保護が有効になっている必要があります
[RDS.8] RDS DB インスタンスで、削除保護が有効になっている必要があります
[RDS.9] データベースログ記録を有効にする必要があります
[RDS.10] IAM 認証は RDS インスタンス用に設定する必要があります
[RDS.11] RDS インスタンスでは、自動バックアップが有効になっている必要があります
[RDS.12] IAM 認証は RDS クラスター用に設定する必要があります
[RDS.13] RDS 自動マイナーバージョンアップグレードを有効にする必要があります
[RDS.14] Amazon Aurora クラスターはバックトラッキングを有効にする必要があります
[RDS.15] RDS DB クラスターを複数のアベイラビリティーゾーンに対して設定する必要があります
[RDS.16] タグをスナップショットにコピーするように RDS DB クラスターを設定する必要があります
[RDS.17] RDS DB インスタンスは、タグをスナップショットにコピーするように設定する必要があります
[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 データベースインスタンスはカスタム管理者ユーザーネームを使用する必要があります
[PCI.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.4] S3 バケットでは、サーバー側の暗号化を有効にする必要があります
[S3.5] S3 バケットでは、Secure Socket Layer を使用するためのリクエストの要求が必要です。
[S3.6] バケットポリシー内で別の AWS アカウント に付与された S3 許可は制限する必要があります
[S3.8] S3 パブリックアクセスブロック設定は、バケットレベルで有効にする必要があります
[S3.9] S3 バケットサーバーアクセスログ記録を有効にする必要があります
[S3.10] バージョニングが有効な S3 バケットでは、ライフサイクルポリシーを設定する必要があります
[S3.11] S3 バケットでは、イベント通知を有効にする必要があります
[S3.12] バケットへのユーザーアクセスを管理用として、S3 アクセスコントロールリスト (ACL) を使用しないでください
[S3.13] S3 バケットでは、ライフサイクルポリシーを設定する必要があります
[SageMaker.1] Amazon SageMaker ノートブックインスタンスは、インターネットに直接アクセスできないようにする必要があります
[SageMaker.2] SageMaker ノートブックインスタンスはカスタム VPC で起動する必要があります
[SageMaker.3] ユーザーは SageMaker ノートブックインスタンスのルートアクセス権を付与されてはなりません
[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.3] Systems Manager によって管理される EC2 インスタンスの関連付けコンプライアンスのステータスは COMPLIANT である必要があります
[SSM.4] SSM ドキュメントはパブリックにしないでください
[WAF.1] AWS WAF クラシックグローバルウェブ ACL ログ記録を有効にする必要があります
[WAF.2] WAF リージョンルールには、1 つ以上の条件が必要です
[WAF.3] WAF リージョンルールグループには、1 つ以上の条件が必要です
[WAF.4] WAF リージョンウェブ ACL には、1 つ以上のルールまたはルールグループが必要です
[WAF.6] WAF グローバルルールには、1 つ以上の条件が必要です
[WAF.7] WAF グローバルルールグループには、1 つ以上の条件が必要です
[WAF.8] WAF グローバルウェブ ACL には、1 つ以上のルールまたはルールグループが必要です
[WAF.10] WAFv2 ウェブ ACL には、1 つ以上のルールまたはルールグループが必要です