AWS

Ansibleで管理するAWSリソースのセキュリティと運用設定についての文書です。

文書一覧

文書 パス
API GatewayのX-Rayトレースが無効になっている ansible/aws/api_gateway_xray_disabled
API Gateway による Lambda 呼び出し権限の範囲の確認 ansible/aws/public_lambda_via_api_gateway
AWS Config集約のリージョン範囲の確認 ansible/aws/config_configuration_aggregator_to_all_regions_disabled
IAM 利用者のパスワード変更権限の確認 ansible/aws/aws_password_policy_with_unchangeable_passwords
API Gateway REST API の呼び出し権限の確認 ansible/aws/api_gateway_without_configured_authorizer
CloudFront ディストリビューション構成の確認 ansible/aws/cdn_configuration_is_missing
CloudFormationスタック通知が未設定 ansible/aws/stack_notifications_disabled
CloudFormation スタックのテンプレート入力の確認 ansible/aws/stack_without_template
CloudTrailとCloudWatch Logsの連携が未設定 ansible/aws/cloudtrail_not_integrated_with_cloudwatch
CloudTrailログ配送通知のトピックが未設定 ansible/aws/cloudtrail_sns_topic_name_undefined
CloudTrailのマルチリージョン記録が無効になっている ansible/aws/cloudtrail_multi_region_disabled
CloudTrailログにKMSキーが指定されていない ansible/aws/cloudtrail_log_files_not_encrypted_with_kms
CloudTrailログファイルの整合性検証が無効になっている ansible/aws/cloudtrail_log_file_validation_disabled
CloudWatch Logsの保持期間の確認 ansible/aws/cloudwatch_without_retention_period_specified
API Gateway の CloudWatch ログ収集設定の確認 ansible/aws/api_gateway_with_cloudwatch_logging_disabled
全 IPv4 アドレスとの通信を許可するセキュリティグループ ansible/aws/db_security_group_with_public_scope
EC2 インスタンスのメタデータアクセス保護の確認 ansible/aws/instance_uses_metadata_service_IMDSv1
EC2 の VPC サブネット指定の確認 ansible/aws/instance_with_no_vpc
EC2 のデフォルト VPC 利用の確認 ansible/aws/ec2_instance_using_default_vpc
EC2 の EBS 最適化設定の確認 ansible/aws/ec2_not_ebs_optimized
ワイルドカードのプリンシパルを使用する ECR ポリシー ansible/aws/ecr_repository_is_publicly_accessible
ECS サービスのデプロイ可用性設定の確認 ansible/aws/ecs_service_without_running_tasks
EFS のカスタマー管理 KMS キーの確認 ansible/aws/efs_without_kms
EFS の運用タグの確認 ansible/aws/efs_without_tags
ENCRYPTED_VOLUMES ルールがない AWS Config 構成 ansible/aws/config_rule_for_encrypted_volumes_is_disabled
ElastiCache の VPC サブネット選択の確認 ansible/aws/elasticache_without_vpc
ElastiCache のポートとアクセス制御の確認 ansible/aws/elasticache_using_default_port
外部ID・MFAによる保護の確認が必要なIAM信頼ポリシー ansible/aws/cross_account_iam_assume_role_policy_without_external_id_or_mfa
OpenSearch ドメインの HTTPS 強制設定の確認 ansible/aws/elasticsearch_with_https_disabled
HTTP 通信を受け付ける ALB リスナー ansible/aws/alb_listening_on_http
HTTP を許可する CloudFront ビューワープロトコルポリシー ansible/aws/viewer_protocol_policy_allows_http
RDS の IAM データベース認証の利用の検討 ansible/aws/iam_database_auth_not_enabled
IAM パスワードの有効期限ポリシーの確認 ansible/aws/misconfigured_password_policy_expiration
IAM パスワードの再利用防止の確認 ansible/aws/password_without_reuse_prevention
IAM パスワードの最小文字数の確認 ansible/aws/iam_password_without_minimum_length
カスタマー管理 KMS キーのローテーション設定の確認 ansible/aws/cmk_rotation_disabled
Kinesis の暗号化設定の確認が必要 ansible/aws/kinesis_not_encrypted_with_kms
LambdaのX-Rayアクティブトレースが未設定 ansible/aws/lambda_functions_without_x-ray_tracing
Lambda リソースポリシーの許可操作の確認 ansible/aws/lambda_permission_misconfigured
Lambda 関数の運用タグの確認 ansible/aws/lambda_function_without_tags
Lambdaタスクのaws_access_keyにシークレットキーが含まれている可能性 ansible/aws/hardcoded_aws_access_key_in_lambda
AWS ロール引き受け時の MFA 保護の確認 ansible/aws/authentication_without_mfa
API Gateway REST API の公開範囲の確認 ansible/aws/api_gateway_endpoint_config_is_not_private
特権モードを使用する AWS Batch ジョブ定義 ansible/aws/batch_job_definition_with_privileged_container_properties
RDS のポートとアクセス制御の確認 ansible/aws/rds_using_default_port
RDS 自動マイナーアップグレード設定の確認 ansible/aws/automatic_minor_upgrades_disabled
RSA 証明書のキー強度の確認 ansible/aws/certificate_rsa_key_bytes_lower_than_256
Redshift のデフォルトポート使用の確認 ansible/aws/redshift_using_default_port
SSH を広い範囲に公開するセキュリティグループ ansible/aws/security_group_with_unrestricted_access_to_ssh
API Gateway を管理する Ansible の証明書検証の確認 ansible/aws/api_gateway_without_ssl_certificate
CloudFormation リソースの更新保護の確認 ansible/aws/no_stack_policy
StackSet 削除時のスタック保持設定の確認 ansible/aws/stack_retention_disabled
API Gateway REST API の WAF 保護設定の確認 ansible/aws/api_gateway_without_waf
WAF の関連付けの確認が必要な CloudFront ディストリビューション ansible/aws/cloudfront_without_waf
過剰なアクセスを許可する可能性があるセキュリティグループの受信ルール ansible/aws/security_group_ingress_not_restricted
ユーザーデータ内のエンコードされた鍵情報の確認 ansible/aws/user_data_contains_encoded_private_key
レコード値がない Route 53 タスク ansible/aws/route53_record_undefined
サブネットの CIDR に /0 を指定した RDS 構成 ansible/aws/rds_associated_with_public_subnet
公開アクセスが有効なRedshift構成 ansible/aws/redshift_publicly_accessible
ワイルドカードプリンシパルに広い権限を付与する SQS ポリシー ansible/aws/sqs_policy_with_public_access
公開アクセスが有効な RDS インスタンス ansible/aws/rds_db_instance_publicly_accessible
公開ACLを指定した旧aws_s3タスク ansible/aws/s3_bucket_with_public_access
Principal がワイルドカード指定または未指定の SNS トピックポリシー ansible/aws/sns_topic_is_publicly_accessible
すべてのIPv4またはIPv6送信元を許可するセキュリティグループの受信ルール ansible/aws/ec2_group_has_public_interface
パブリック IP が割り当てられた EC2 インスタンス ansible/aws/ec2_instance_has_public_ip
パブリック IP を割り当てる ECS サービス ansible/aws/ecs_services_assigned_with_public_ip_address
KMSキーポリシーの権限の見直し ansible/aws/kms_key_with_full_permissions
ECSサービスロールの権限の見直し ansible/aws/ecs_service_admin_role_is_present
ECS タスク定義のネットワークモードの確認 ansible/aws/ecs_task_definition_network_mode_not_recommended
ElastiCacheのエンジンバージョンとセキュリティ要件の見直し ansible/aws/redis_not_compliant
CloudFront ビューワー証明書の設定の確認 ansible/aws/vulnerable_default_ssl_certificate
デフォルトセキュリティグループを使用する EC2 インスタンス ansible/aws/ec2_instance_using_default_security_group
セキュリティグループの受信アクセス範囲の見直し ansible/aws/db_security_group_open_to_large_scope
全アドレスにポート範囲を公開するセキュリティグループルール ansible/aws/public_port_wide
ログ設定の確認が必要な CloudFront ディストリビューション ansible/aws/cloudfront_logging_disabled
CloudTrail の証跡のログ記録が停止 ansible/aws/cloudtrail_logging_disabled
Ansible S3 タスクの API 診断ログ設定の確認 ansible/aws/s3_bucket_logging_disabled
有効期限が切れた SSL/TLS 証明書 ansible/aws/certificate_has_expired
削除操作のPrincipalが「*」のS3バケットポリシー ansible/aws/s3_bucket_allows_delete_action_from_all_principals
S3 オブジェクト読み取りポリシーのワイルドカードプリンシパル ansible/aws/s3_bucket_allows_get_action_from_all_principals
S3 一覧取得ポリシーのワイルドカードプリンシパル ansible/aws/s3_bucket_allows_list_action_from_all_principals
Put操作のPrincipalが「*」のS3バケットポリシー ansible/aws/s3_bucket_allows_put_action_from_all_principals
権限が過剰な可能性があるSESポリシー ansible/aws/ses_policy_with_allowed_iam_actions
ワイルドカードのプリンシパルを使用する S3 バケットポリシー ansible/aws/s3_bucket_access_to_any_principal
操作とPrincipalにワイルドカードを含むS3バケットポリシー ansible/aws/s3_bucket_with_all_permissions
S3 の公開読み取り ACL ansible/aws/s3_bucket_acl_allows_read_to_all_users
IAM ポリシーのワイルドカードプリンシパルの確認 ansible/aws/iam_policy_grants_assumerole_permission_across_all_services
Actionに「*」を指定したSQSキューポリシー ansible/aws/sqs_policy_allows_all_actions
IAM ポリシーのアカウントプリンシパルの確認 ansible/aws/iam_role_allows_all_principals_to_assume
バージョニング設定の確認が必要な S3 バケット ansible/aws/s3_bucket_without_versioning
IAM グループのユーザー所属の確認 ansible/aws/iam_group_without_users
ユーザーに直接関連付けられた IAM ポリシー ansible/aws/iam_policies_attached_to_user
使用中の KMS キーの無効化または削除予約 ansible/aws/cmk_is_unusable
SQS メッセージの保存時の暗号化の確認 ansible/aws/sqs_with_sse_disabled
デフォルト暗号化の削除を要求する S3 バケット設定 ansible/aws/s3_bucket_without_server-side_encryption
S3 CORS の許可範囲の確認 ansible/aws/s3_bucket_with_unsecured_cors_rule
ELB リスナーの TLS セキュリティポリシーの確認 ansible/aws/elb_using_insecure_protocols
CloudFront のビューワー TLS セキュリティポリシーの確認 ansible/aws/secure_ciphers_disabled
CodeBuild のビルド成果物の暗号化キーの確認 ansible/aws/codebuild_not_encrypted
EBS ボリュームの暗号化設定の確認が必要 ansible/aws/ebs_volume_encryption_disabled
EFS の保存時暗号化設定の確認が必要 ansible/aws/efs_not_encrypted
AMI の EBS スナップショットの暗号化の確認 ansible/aws/ami_not_encrypted
EC2 起動設定の EBS 暗号化の確認が必要 ansible/aws/launch_configuration_is_not_encrypted
Redshift の暗号化設定の確認が必要 ansible/aws/redshift_not_encrypted
ELBリスナーのセキュリティポリシーの確認 ansible/aws/elb_using_weak_ciphers
共有先の確認が必要な AMI ansible/aws/ami_shared_with_multiple_accounts
Auto Scaling Group のトラフィック分散設定の確認 ansible/aws/auto_scaling_group_with_no_associated_elb
期限切れまたは未サポートの RDS CA 証明書 ansible/aws/ca_certificate_identifier_is_outdated
ワイルドカードプリンシパルを使用する Lambda 権限 ansible/aws/lambda_permission_principal_is_wildcard
Principalに「*」を指定したSQSキューポリシー ansible/aws/sqs_queue_exposed
すべての AWS アカウントに読み取りを許可する S3 ACL ansible/aws/s3_bucket_acl_allows_read_to_any_authenticated_user
インターネットに公開された HTTP ポート ansible/aws/http_port_open_to_internet
全送信元を許可するサービスポートの見直し ansible/aws/unknown_port_exposed_to_internet
すべてのIPv4送信元に公開される可能性があるポート3389 ansible/aws/remote_desktop_port_open
IAM ユーザーの有効なアクセスキーの確認 ansible/aws/iam_access_key_is_exposed
RDS インスタンスの自動バックアップが無効 ansible/aws/rds_with_backup_disabled
RDS ストレージ暗号化設定の確認が必要 ansible/aws/db_instance_storage_not_encrypted
操作とリソースの両方にワイルドカードを指定したIAMポリシー ansible/aws/iam_policy_grants_full_permissions
全リソースへの全操作を許可する IAM ポリシー ansible/aws/iam_policies_with_full_privileges
すべてのIPv4またはIPv6アドレスを許可するセキュリティグループルール ansible/aws/default_security_groups_with_unrestricted_traffic
すべての送信元アドレスを許可するセキュリティグループの受信規則 ansible/aws/unrestricted_security_group_ingress
CloudFront の最低 TLS バージョン設定の確認 ansible/aws/cloudfront_without_minimum_protocol_tls_1.2
イメージタグの変更を許可する ECR リポジトリ ansible/aws/ecr_image_tag_not_immutable
すべての IPv4 送信元から TCP 2383 を許可するセキュリティグループ ansible/aws/sql_analysis_services_port_2383_is_publicly_accessible
EC2ユーザーデータのAWS認証情報漏えいの可能性 ansible/aws/hardcoded_aws_access_key
有効なIAMユーザーアクセスキーの見直し ansible/aws/root_account_has_active_access_keys

関連ページ126

API GatewayのX-Rayトレースが無効になっている

運用要件に合わせてAPIリクエストのトレースを有効にしてください。

API Gateway による Lambda 呼び出し権限の範囲の確認

API Gateway が必要なステージ・メソッド・パスからのみ関数を呼び出せるよう制限してください。

AWS Config集約のリージョン範囲の確認

必要なアカウントとリージョンのConfigデータを集約してください。

IAM 利用者のパスワード変更権限の確認

IAM 利用者が必要なときに自分のパスワードを変更できる手段を用意してください。

API Gateway REST API の呼び出し権限の確認

保護が必要な API 操作に、適切な認証と認可を適用してください。

CloudFront ディストリビューション構成の確認

CDN が必要なサービスで、オリジンと実際の配信経路を正しく設定してください。

CloudFormationスタック通知が未設定

必要な運用チャネルにデプロイ状況を伝えてください。

CloudFormation スタックのテンプレート入力の確認

新しいスタックにはテンプレートを渡し、既存テンプレートの意図した再利用と区別してください。

CloudTrailとCloudWatch Logsの連携が未設定

監査ログを利用する監視経路を構成してください。

CloudTrailログ配送通知のトピックが未設定

ログ配送通知が必要な場合はSNSトピックを接続してください。

CloudTrailのマルチリージョン記録が無効になっている

必要なリージョンのアクティビティが監査記録に含まれることを確認してください。

CloudTrailログにKMSキーが指定されていない

ログ保護方針に合った暗号化キーの管理方法を選択してください。

CloudTrailログファイルの整合性検証が無効になっている

ログの整合性を確認できるように署名付きダイジェストを生成してください。

CloudWatch Logsの保持期間の確認

ワークロードに必要な期間、ログを保持してください。

API Gateway の CloudWatch ログ収集設定の確認

ロググループと API ステージを併せて構成し、実際のログ収集を確認してください。

全 IPv4 アドレスとの通信を許可するセキュリティグループ

Ansible のセキュリティグループで、全 IPv4 アドレスとの受信・送信通信を許可する設定を確認します。

EC2 インスタンスのメタデータアクセス保護の確認

必要なメタデータアクセスには IMDSv2 を要求し、アプリケーションの互換性を確認してください。

EC2 の VPC サブネット指定の確認

EC2 が意図したサブネットとネットワークアクセス方針を使うことを確認してください。

EC2 のデフォルト VPC 利用の確認

EC2 の実際の VPC とサブネットがネットワーク分離の要件を満たすか確認してください。

EC2 の EBS 最適化設定の確認

インスタンスタイプのデフォルト動作と EBS の性能要件を確認してください。

ワイルドカードのプリンシパルを使用する ECR ポリシー

ECR プライベートリポジトリのポリシーで、ワイルドカードのプリンシパルと許可されるイメージ操作を確認します。

ECS サービスのデプロイ可用性設定の確認

ECS のデプロイ時に必要な正常タスク数と余剰容量を併せて確認してください。

EFS のカスタマー管理 KMS キーの確認

EFS の作成時に暗号化とカスタマー管理 KMS キーの要件を指定してください。

EFS の運用タグの確認

EFS の担当チームと用途を識別するために必要なタグを管理してください。

ENCRYPTED_VOLUMES ルールがない AWS Config 構成

AWS Config の ENCRYPTED_VOLUMES ルールで接続済み EBS ボリュームの暗号化を監視し、評価と通知が機能することを確認します。

ElastiCache の VPC サブネット選択の確認

キャッシュの実際の VPC とサブネットを確認し、必要なアプリケーションだけを許可してください。

ElastiCache のポートとアクセス制御の確認

キャッシュのポート番号より、実際のネットワーク範囲と対応する認証・暗号化を優先して確認してください。

外部ID・MFAによる保護の確認が必要なIAM信頼ポリシー

IAM信頼ポリシーの許可主体と外部ID・MFA条件を、ロールの実際の利用方法に合わせて制限してください。

OpenSearch ドメインの HTTPS 強制設定の確認

クライアントとドメイン間の要求を HTTPS に制限してください。

HTTP 通信を受け付ける ALB リスナー

クライアントと ALB 間の機密性の高い通信を HTTPS で保護してください。

HTTP を許可する CloudFront ビューワープロトコルポリシー

CloudFront で HTTP を許可すると、ビューワーと CDN 間のリクエストや応答が暗号化されない場合があります。

RDS の IAM データベース認証の利用の検討

対応する RDS 環境で IAM 認証を利用し、長期間使うパスワードへの依存を減らします。

IAM パスワードの有効期限ポリシーの確認

有効期限の有無と期間を、組織の認証・復旧方針に合わせて決めてください。

IAM パスワードの再利用防止の確認

変更後に以前のパスワードへ戻せないよう、必要な履歴数を設定してください。

IAM パスワードの最小文字数の確認

IAM コンソールパスワードの長さが組織のアカウント保護基準を満たすか確認してください。

カスタマー管理 KMS キーのローテーション設定の確認

キーの種類に合うローテーションを使い、アクセス権限は別途管理してください。

Kinesis の暗号化設定の確認が必要

Kinesis に保存する新しいレコードを KMS で暗号化し、キーの権限とデータの書き込み・読み取りを検証してください。

LambdaのX-Rayアクティブトレースが未設定

必要な関数のリクエストをサンプリングして追跡してください。

Lambda リソースポリシーの許可操作の確認

実際の呼び出し方式に必要な操作を許可し、呼び出し元とソースを制限してください。

Lambda 関数の運用タグの確認

Lambda 関数の担当チーム、用途、運用環境を識別するタグを維持してください。

Lambdaタスクのaws_access_keyにシークレットキーが含まれている可能性

Lambdaのデプロイ用プレイブックに実際のシークレットキーを直接記述せず、デプロイ認証と関数の実行ロールを別々に管理してください。

AWS ロール引き受け時の MFA 保護の確認

利用者が機密性の高いロールを引き受ける際に MFA を要求し、実際のポリシーも確認してください。

API Gateway REST API の公開範囲の確認

内部専用 API は、必要なネットワークからのみ呼び出せるように構成してください。

特権モードを使用する AWS Batch ジョブ定義

Ansible で定義した AWS Batch ジョブの特権モードを確認し、不要なホスト権限を削除します。

RDS のポートとアクセス制御の確認

データベースのポート選択と実際のアクセス制御を区別して管理してください。

RDS 自動マイナーアップグレード設定の確認

エンジンと運用方針に合わせてマイナーバージョンのパッチ適用を管理してください。

RSA 証明書のキー強度の確認

サービスと組織のセキュリティ要件に合う RSA キー長を使用してください。

Redshift のデフォルトポート使用の確認

Redshift のポート方針と実際のネットワークアクセスを併せて確認してください。

SSH を広い範囲に公開するセキュリティグループ

SSH を必要な管理経路に限定し、外部からのログイン試行とサーバー侵害のリスクを減らしてください。

API Gateway を管理する Ansible の証明書検証の確認

AWS 管理 API への接続では、サーバー証明書の検証を維持してください。