AWS Elastic Load Balancer のログを収集する

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

このドキュメントでは、Google Security Operations フィードを設定して AWS Elastic Load Balancer ログを収集する方法について説明します。パーサーはログを UDM 形式に変換します。Grok パターンを使用して CEF 形式と CEF 以外の形式の両方のメッセージからフィールドを抽出し、UDM フィールドにマッピングします。HTTP、TLS、セキュリティ関連のフィールドに固有のロジックなど、さまざまなデータ変換を処理します。また、特定のフィールドの有無や形式に基づいて条件付き処理を行い、UDM で正確に表現できるようにします。

始める前に

次の前提条件を満たしていることを確認します。

  • Google SecOps インスタンス
  • AWS への特権アクセス

AWS Elastic Load Balancer を構成する

  • アクセス ロギングを有効にして、アクセスログを S3 ストレージ バケットに送信する
  • Amazon Simple Queue Service(SQS)を作成し、S3 ストレージ バケットに接続します。

Amazon S3 バケットを構成する

  1. AWS コンソールにログインします。
  2. バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
  3. 後で使用するために、バケットの名前elb-logs など)とリージョンを保存します。
  4. IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
  5. 作成したユーザーを選択します。
  6. [セキュリティ認証情報] タブを選択します。
  7. [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
  8. [ユースケース] で [サードパーティ サービス] を選択します。
  9. [次へ] をクリックします。
  10. 省略可: 説明タグを追加します。
  11. [アクセスキーを作成] をクリックします。
  12. [CSV ファイルをダウンロード] をクリックして、[アクセスキー] と [シークレット アクセスキー] を保存し、後で使用できるようにします。
  13. [完了] をクリックします。
  14. [権限] タブを選択します。
  15. [権限ポリシー] セクションで、[権限を追加] をクリックします。
  16. [権限を追加] を選択します。
  17. [ポリシーを直接アタッチする] を選択します。
  18. AmazonS3FullAccess ポリシーを検索して選択します。
  19. [次へ] をクリックします。
  20. [権限を追加] をクリックします。

AWS Elastic Load Balancer でアクセスログを有効にする方法

  1. AWS Management Console にログインします。
  2. EC2 を検索して選択します。
  3. ナビゲーション メニューで [ロードバランサ] を選択します。
  4. ロギングを有効にするロードバランサを選択します。
  5. [説明] タブで、[属性] までスクロールします。
  6. [属性を編集] をクリックします。
  7. [有効にする] を選択して、アクセスログを有効にします。
  8. 先ほど作成した S3 バケット(例: elb-logs)を選択します。
  9. 省略可: ログを簡単に識別できるように、ログ接頭辞を設定します(例: elb/access-logs/)。
  10. [保存] をクリックします。

フィードを設定する

Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。

  • [SIEM 設定] > [フィード] > [新規追加]
  • Content Hub > Content Packs > Get Started

AWS Elastic Load Balancer フィードを設定する方法

  1. [Amazon Cloud Platform] パックをクリックします。
  2. [AWS Elastic Load Balancer] ログタイプを見つけます。
  3. 次のフィールドで値を指定します。

    1. 次のフィールドで値を指定します。
    2. ソースタイプ: Amazon SQS V2
    3. キュー名: 読み取る SQS キュー名
    4. S3 URI: バケット URI。
      • s3://your-log-bucket-name/
        • your-log-bucket-name は、実際の S3 バケットの名前に置き換えます。
    5. Source deletion options: 取り込みの設定に応じて削除オプションを選択します。

    6. ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます。デフォルトは 180 日です。

    7. SQS キュー アクセスキー ID: 20 文字の英数字の文字列であるアカウント アクセスキー。

    8. SQS キューのシークレット アクセスキー: 40 文字の英数字の文字列であるアカウント アクセスキー。

    詳細オプション

    • フィード名: フィードを識別する事前入力された値。
    • アセットの名前空間: フィードに関連付けられた名前空間。
    • Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。
  4. [フィードを作成] をクリックします。

このプロダクト ファミリー内の異なるログタイプに対して複数のフィードを構成する方法については、プロダクト別にフィードを構成するをご覧ください。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
actions_executed security_result.action actions_executed が「waf,forward」または「waf,redirect」の場合は、「ALLOW」に設定します。actions_executed が「waf」の場合は、「BLOCK」に設定します。
chosen_cert_arn principal.user.attribute.labels chosen_cert_arn に「session」が含まれている場合は、その値を security_result.description にマッピングします。それ以外の場合は、キーが「ARN」、値が chosen_cert_arn のラベルを作成し、principal.user.attribute.labels 配列に追加します。
chosen_cert_arn security_result.description chosen_cert_arn に「session」が含まれている場合は、その値をこのフィールドにマッピングします。
client_ip principal.asset.ip 直接マッピングされます。
client_ip principal.ip 直接マッピングされます。
client_port principal.port 直接マッピングされます。
classification security_result.rule_name 空でないか「-」でない場合、直接マッピングされます。
classification_reason security_result.summary 空でないか「-」でない場合、直接マッピングされます。
Customer(CEF) principal.user.user_display_name CEF フィールドから直接マッピングされます。
data 各種 Grok パターンを使用して解析され、複数のフィールドが抽出されます。特定のマッピングについては、他の行をご覧ください。
data.act(CEF) security_result.action_details CEF フィールドから直接マッピングされます。
data.app(CEF) principal.application CEF フィールドから直接マッピングされます。
data.ccode(CEF) principal.location.country CEF フィールドから直接マッピングされます。
data.cicode(CEF) principal.location.city CEF フィールドから直接マッピングされます。
data.cn1(CEF) network.http.response_code CEF フィールドから直接マッピングされます。
data.cpt(CEF) principal.port CEF フィールドから直接マッピングされます。
data.cs1Label(CEF) additional.fields キー「Cap Support」と cs1Label の値を含む Key-Value ペアを作成します。
data.cs2Label(CEF) additional.fields キー「Javascript Support」と cs2Label の値で Key-Value ペアを作成します。
data.cs3Label(CEF) additional.fields キー「CO Support」と cs3Label の値を含む Key-Value ペアを作成します。
data.cs4Label(CEF) additional.fields キー「VID」と cs4Label の値を含む Key-Value ペアを作成します。
data.cs5Label(CEF) additional.fields キー「clappsig」と cs5Label の値を含む Key-Value ペアを作成します。
data.cs6Label(CEF) additional.fields キー「clapp」と cs6Label の値を含む Key-Value ペアを作成します。
data.cs7Label(CEF) additional.fields キー「latitude」と cs7Label の値を含む Key-Value ペアを作成します。
data.deviceExternalId(CEF) about.asset.asset_id アセット ID の一部として使用されます: Incapsula.SIEMintegration:deviceExternalId
data.deviceFacility(CEF) principal.location.region CEF フィールドから直接マッピングされます。
data.dproc(CEF) target.process.command_line CEF フィールドから直接マッピングされます。
data.dst_ip target.asset.ip 直接マッピングされます。
data.dst_ip target.ip 直接マッピングされます。
data.dst_port target.port 直接マッピングされます。
data.elb target.resource.id 直接マッピングされます。
data.fileId(CEF) security_result.detection_fields キー「fileId」と fileId の値を含む Key-Value ペアを作成します。
data.in(CEF) network.received_bytes CEF フィールドから直接マッピングされます。
data.request(CEF) target.url CEF フィールドから直接マッピングされます。
data.requestClientApplication(CEF) network.http.user_agent CEF フィールドから直接マッピングされます。
data.requestMethod(CEF) network.http.method CEF フィールドから直接マッピングされます。
data.severity(CEF) security_result.severity 重大度が 0 の場合は LOW にマッピングされます。
data.sip(CEF) principal.asset.ip CEF フィールドから直接マッピングされます。
data.sip(CEF) principal.ip CEF フィールドから直接マッピングされます。
data.siteid(CEF) security_result.detection_fields キー「siteid」と siteid の値で Key-Value ペアを作成します。
data.sourceServiceName(CEF) principal.application CEF フィールドから直接マッピングされます。
data.spt(CEF) principal.port CEF フィールドから直接マッピングされます。
data.src(CEF) principal.ip CEF フィールドから直接マッピングされます。
data.suid(CEF) principal.user.userid CEF フィールドから直接マッピングされます。
data.ver(CEF) network.tls.version バージョン部分は Grok を使用して抽出され、マッピングされます。
data.ver(CEF) network.tls.cipher 暗号部分は Grok を使用して抽出され、マッピングされます。
data.xff(CEF) principal.ip CEF フィールドから直接マッピングされます。
domain_name principal.administrative_domain 直接マッピングされます。
http_method network.http.method 直接マッピングされます。
log_type metadata.log_type 直接マッピングされます。
message 各種 Grok パターンを使用して解析され、複数のフィールドが抽出されます。特定のマッピングについては、他の行をご覧ください。
received_bytes network.received_bytes 直接マッピングされます。
redirect_url network.application_protocol redirect_url が「http」で始まる場合、プロトコルが抽出されてマッピングされます。
redirect_url target.asset.hostname redirect_url が「http」で始まる場合、ホスト名が抽出されてマッピングされます。
redirect_url target.hostname redirect_url が「http」で始まる場合、ホスト名が抽出されてマッピングされます。
redirect_url target.port redirect_url が「http」で始まる場合、ポートが抽出されてマッピングされます。
request_creation_time metadata.collected_timestamp 日付の解析後に直接マッピングされます。
request_processing_time security_result.detection_fields キー「request_processing_time」とこのフィールドの値で Key-Value ペアを作成します。
response_processing_time security_result.detection_fields キー「response_processing_time」とこのフィールドの値で Key-Value ペアを作成します。
sent_bytes network.sent_bytes 直接マッピングされます。
ssl_cipher network.tls.cipher 直接マッピングされます。
ssl_protocol network.tls.version 直接マッピングされます。
target_group_arn target.group.group_display_name 直接マッピングされます。
target_processing_time security_result.detection_fields キー「target_processing_time」とこのフィールドの値で Key-Value ペアを作成します。
target_status_code target.labels キー「target_status_code」とこのフィールドの値でラベルを作成し、target.labels 配列に追加します。
time metadata.event_timestamp 日付の解析後に直接マッピングされます。
trace_id metadata.product_log_id 「Root=」を削除した後、直接マッピングされます。
url network.http.referral_url 直接マッピングされます。
user_agent network.http.user_agent 直接マッピングされます。
(パーサー) metadata.event_type プリンシパルとターゲット マシンの ID が存在する場合は「NETWORK_HTTP」に設定します。プリンシパル マシンの ID のみが存在する場合は「STATUS_UPDATE」に設定します。ターゲット IP、ホスト名、宛先 IP が存在しない場合は「GENERIC_EVENT」に設定します。それ以外の場合は「NETWORK_HTTP」に設定します。
(パーサー) metadata.product_name 「AWS Elastic Load Balancer」に設定します。
(パーサー) metadata.vendor_name 「AMAZON」に設定します。

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