AWS Inspector のログを収集する

パーサーのバージョン: 1.0

以下でサポートされています。

このドキュメントでは、Amazon S3 を使用して AWS Inspector ログを Google Security Operations に取り込む方法について説明します。

Amazon Inspector は、ワークロードを自動的に検出して、ソフトウェアの脆弱性や意図しないネットワークへの露出を継続的にスキャンする脆弱性管理サービスです。Amazon EC2 インスタンス、Amazon ECR のコンテナ イメージ、AWS Lambda 関数をスキャンし、重大度スコアと修正の推奨事項を含む詳細な結果を生成します。この統合では、Amazon Inspector の組み込みの検出結果エクスポート機能を使用して、JSON 形式の検出結果レポートを S3 バケットに配信します。Google SecOps は、Amazon S3 V2 フィードを使用してこのレポートを取り込みます。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • 次の管理権限を持つ AWS Management Console への特権アクセス権:
    • Amazon Inspector(検出結果、レポート)
    • Amazon S3(バケット、バケット ポリシー)
    • AWS KMS(鍵ポリシー)
    • AWS IAM(ロール、ポリシー、ユーザー)

Amazon Inspector の検出結果のエクスポート用に S3 バケットを構成する

Amazon Inspector は、検出結果レポートを AWS KMS 鍵で暗号化してから S3 バケットに保存します。Amazon Inspector のアクセスを許可するには、S3 バケット ポリシーと KMS 鍵ポリシーの両方を構成する必要があります。

S3 バケットを作成して構成する

  1. バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
  2. バケットの名前とリージョンを保存して、後で参照できるようにします(例: inspector-findings-to-secops)。

  3. https://console.aws.amazon.com/s3 の Amazon S3 コンソールで、作成したバケットを選択します。

  4. [権限] タブを選択します。

  5. [バケット ポリシー] セクションで、[編集] をクリックします。

  6. バケット ポリシーに次のステートメントを追加します(inspector-findings-to-secops はバケット名、111122223333 は AWS アカウント ID、us-east-1 は AWS リージョンに置き換えます)。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "allow-inspector",
                "Effect": "Allow",
                "Principal": {
                    "Service": "inspector2.amazonaws.com"
                },
                "Action": [
                    "s3:PutObject",
                    "s3:PutObjectAcl",
                    "s3:AbortMultipartUpload"
                ],
                "Resource": "arn:aws:s3:::inspector-findings-to-secops/*",
                "Condition": {
                    "StringEquals": {
                        "aws:SourceAccount": "111122223333"
                    },
                    "ArnLike": {
                        "aws:SourceArn": "arn:aws:inspector2:us-east-1:111122223333:report/*"
                    }
                }
            }
        ]
    }
    
  7. [変更を保存] をクリックします。

AWS KMS 鍵を構成する

Amazon Inspector では、検出結果レポートを暗号化するために、S3 バケットと同じリージョンに顧客管理の対称暗号化 AWS KMS 鍵が必要です。

  1. https://console.aws.amazon.com/kms で AWS KMS コンソールを開きます。
  2. ナビゲーション パネルで [顧客管理鍵] を選択します。
  3. 使用する KMS 鍵を選択します(または、新しい対称暗号鍵を作成します)。
  4. [キーポリシー] タブを選択し、[編集] をクリックします。
  5. 次のステートメントをキーポリシーに追加します(111122223333 は AWS アカウント ID に、us-east-1 は AWS リージョンに置き換えます)。

    {
        "Sid": "Allow Amazon Inspector to use the key",
        "Effect": "Allow",
        "Principal": {
            "Service": "inspector2.amazonaws.com"
        },
        "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey*"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "111122223333"
            },
            "ArnLike": {
                "aws:SourceArn": "arn:aws:inspector2:us-east-1:111122223333:report/*"
            }
        }
    }
    
  6. [変更を保存] をクリックします。

Amazon Inspector の検出結果を S3 にエクスポートする

  1. https://console.aws.amazon.com/inspector/v2/home で Amazon Inspector コンソールにログインします。
  2. ナビゲーション パネルで、[検出結果] > [すべての検出結果] に移動します。
  3. 省略可: [検出結果] テーブルの上にあるフィルタバーを使用して、レポートに含める検出結果を指定します。

  4. [検出結果をエクスポート] をクリックします。

  5. [エクスポート設定] セクションの [エクスポート ファイル形式] で、[JSON] を選択します。

  6. [Export location] の [S3 URI] で、[Browse S3] をクリックし、S3 バケット inspector-findings-to-secops を選択します。

  7. [KMS key] で、構成した AWS KMS 鍵を選択します。

  8. [エクスポート] をクリックします。

AWS CLI を使用して検出結果のエクスポートを自動化する

検出結果レポートを定期的にエクスポートするには、AWS CLI create-findings-report コマンドを使用します。このコマンドは、Amazon EventBridge Scheduler または cron ジョブを使用してスケジュールできます。

  • コマンドの例:

    aws inspector2 create-findings-report \
        --report-format JSON \
        --s3-destination bucketName=inspector-findings-to-secops,keyPrefix=findings/,kmsKeyArn=arn:aws:kms:us-east-1:111122223333:key/your-kms-key-id
    

詳細については、create-findings-report AWS CLI リファレンスをご覧ください。

Google SecOps 用に IAM ユーザーを構成する

Google SecOps は、エクスポートされた結果を取り込むために、S3 バケットに対する読み取りアクセス権を持つ IAM ユーザーを必要とします。

  1. IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
  2. 作成したユーザーを選択します。
  3. [セキュリティ認証情報] タブを選択します。
  4. [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
  5. [ユースケース] として [サードパーティ サービス] を選択します。
  6. [Next] をクリックします。
    • 省略可: 説明タグを追加します。
  7. [アクセスキーを作成] をクリックします。
  8. [.csv ファイルをダウンロード] をクリックして、[アクセスキー] と [シークレット アクセスキー] を保存し、今後の参照に備えます。
  9. [完了] をクリックします。
  10. [権限] タブを選択します。
  11. [権限ポリシー] セクションで [権限を追加] をクリックします。
  12. [権限を追加] を選択します。
  13. [ポリシーを直接アタッチする] を選択します。
  14. AmazonS3FullAccess ポリシーを検索します。
  15. ポリシーを選択します。
  16. [次へ] をクリックします。
  17. [権限を追加] をクリックします。

AWS Inspector のログを取り込むように Google SecOps でフィードを構成する

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで、[単一のフィードを設定] をクリックします。
  4. [Feed name] に一意の名前を入力します。
  5. [ソースタイプ] として [Amazon S3 V2] を選択します。
  6. [Log type] で [AWS Inspector] を選択します。
  7. [次へ] をクリックしてから、[送信] をクリックします。
  8. 次のフィールドに値を指定します。

    • S3 URI: s3://inspector-findings-to-secops/findings/
    • Source deletion option: 必要に応じて削除オプションを選択します。
    • ファイルの最大経過日数: 過去の日数以内に変更されたファイルを含めます(デフォルトは 180 日)。
    • アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー
    • シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー
    • アセットの名前空間: アセットの名前空間
    • Ingestion labels: このフィードのイベントに適用されるラベル
  9. [次へ] をクリックしてから、[送信] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
duration_ms_label additional.fields 統合済み
evnt_app_class_label additional.fields 統合済み
evnt_cloud_application_class_label additional.fields 統合済み
evnt_cloud_sandbox_md5_label additional.fields 統合済み
evnt_cloudapp_rule_label additional.fields 統合済み
evnt_content_type_label additional.fields 統合済み
evnt_customer_label additional.fields 統合済み
evnt_department_label additional.fields 統合済み
evnt_location_label additional.fields 統合済み
evnt_lpclagg_label additional.fields 統合済み
evnt_lpcltype_label additional.fields 統合済み
evnt_network_service_label additional.fields 統合済み
evnt_tenant_label additional.fields 統合済み
evnt_url_category_label additional.fields 統合済み
exception_label additional.fields 統合済み
function_label additional.fields 統合済み
id_label additional.fields 統合済み
level_no_label additional.fields 統合済み
line_label additional.fields 統合済み
location_label additional.fields 統合済み
logger_field additional.fields 統合済み
msg_location_label additional.fields 統合済み
msg_record_functionName_label additional.fields 統合済み
msg_record_functionVersion_label additional.fields 統合済み
msg_record_initializationType_label additional.fields 統合済み
msg_record_instancId_label additional.fields 統合済み
msg_record_instanceMaxMemory_label additional.fields 統合済み
msg_record_phase_label additional.fields 統合済み
msg_service_label additional.fields 統合済み
msg_type_label additional.fields 統合済み
msg_xray_trace_id_label additional.fields 統合済み
protocol_label additional.fields 統合済み
record_version_label additional.fields 統合済み
repr_label additional.fields 統合済み
service_label additional.fields 統合済み
sourcetype_label additional.fields 統合済み
thread_name_label additional.fields 統合済み
type_label additional.fields 統合済み
xray_trace_id_label additional.fields 統合済み
evnt_device_hostname intermediary.hostname 直接マッピングされます。
evnt_fwd_method_label intermediary.resource.attribute.labels 統合済み
desc_msg metadata.description 直接マッピングされます。
message metadata.description 直接マッピングされます。
msg metadata.description 直接マッピングされます。
msg_desc_msg metadata.description 直接マッピングされます。
msg_record_desc_msg metadata.description 直接マッピングされます。
msg_text metadata.description 直接マッピングされます。
msg.time metadata.event_timestamp ISO8601 として解析
repr_time metadata.event_timestamp ISO8601 として解析済み
timestamp metadata.event_timestamp ISO8601 として解析
has_host metadata.event_type マッピング済み: true → STATUS_UPDATE
has_user metadata.event_type マッピング済み: true → USER_COMMUNICATION、true → USER_UNCATEGORIZED
msg_record_module metadata.product_event_type 直接マッピングされます。
id_1 metadata.product_log_id 直接マッピングされます。
evnt_bytes_in network.received_bytes 直接マッピングされます。
evnt_bytes_out network.sent_bytes 直接マッピングされます。
evnt_app_name principal.application 直接マッピングされます。
msg_record_process_name principal.application 直接マッピングされます。
evnt_device_app_version_label principal.asset.attribute.labels 統合済み
evnt_ssl_policy_label principal.asset.attribute.labels 統合済み
evnt_server_ip principal.asset.ip 統合済み
evnt_src_ip principal.asset.ip 統合済み
evnt_src_translated_ip principal.asset.ip 統合済み
msg_record_file_path principal.file.full_path 直接マッピングされます。
msg_record_file_name principal.file.names 統合済み
evnt_hostname principal.hostname 直接マッピングされます。
host principal.hostname 直接マッピングされます。
evnt_server_ip principal.ip 統合済み
evnt_src_ip principal.ip 統合済み
evnt_src_translated_ip principal.ip 統合済み
evnt_os principal.platform マッピング: Windows → WINDOWS、Linux → LINUX
evnt_src_port principal.port 直接マッピングされます。
port_number principal.port 直接マッピングされます。
msg_record_process_id principal.process.pid 直接マッピングされます。
cmd_status_label principal.resource.attribute.labels 統合済み
evnt_format_label principal.resource.attribute.labels 統合済み
evnt_os_label principal.resource.attribute.labels 統合済み
msg_record_runtimeVersionArn_label principal.resource.attribute.labels 統合済み
msg_record_runtimeVersion_label principal.resource.attribute.labels 統合済み
record_requestId_labels principal.resource.attribute.labels 統合済み
requestId_labels principal.resource.attribute.labels 統合済み
msg_record_name principal.resource.name 直接マッピングされます。
id principal.resource.product_object_id 直接マッピングされます。
evnt_url principal.url 直接マッピングされます。
evnt_device_owner principal.user.user_display_name 直接マッピングされます。
evnt_user principal.user.userid 直接マッピングされます。
msg_extra_desc_msg_body_account_id principal.user.userid 直接マッピングされます。
evnt_action security_result.action マッピング: allow → security_result_action
security_result_action security_result.action 統合済み
security_result_category_details security_result.category_details 統合済み
security_result_url_super_category security_result.category_details 統合済み
elapsed_time_label security_result.detection_fields 統合済み
evnt_session_count_label security_result.detection_fields 統合済み
evnt_ssl_decrypted_label security_result.detection_fields 統合済み
evnt_url_class_label security_result.detection_fields 統合済み
level_icon_label security_result.detection_fields 統合済み
level security_result.severity マッピング: INFO → INFORMATIONAL、WARNING → MEDIUM
msg_level security_result.severity マッピング: INFO → INFORMATIONAL、WARNING → MEDIUM
evnt_dest_ip target.ip 統合済み
evnt_dest_country target.location.country_or_region 直接マッピングされます。
evnt_dest_port target.port 直接マッピングされます。
dst_url target.url 直接マッピングされます。
なし metadata.event_type 定数: USER_COMMUNICATION
なし metadata.product_name 定数: AWS Inspector
なし metadata.vendor_name 定数: AWS Inspector
なし network.ip_protocol 定数: UDP
なし principal.platform 定数: WINDOWS
なし security_result.detection_fields 定数: client_tunnel_ip_label
なし security_result.severity 定数: INFORMATIONAL

変更ログ

このパーサーの変更ログを表示する

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。