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

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

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

始める前に {: #before-you-begin }

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

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

AWS Elastic Load Balancing を構成する

  • アクセス ロギングを有効にして、アクセスログを 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]

[SIEM 設定] > [フィード] でフィードを設定する

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

1 つのフィードを設定する手順は次のとおりです。

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで、[単一フィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: AWS Elastic Load Balancer Logs)。
  5. [ソースタイプ] として [Amazon S3] を選択します。
  6. [Log type] で [AWS Elastic Load Balancer] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。

    • リージョン: Amazon S3 バケットが配置されているリージョン。
    • S3 URI: バケット URI。
      • s3:/BUCKET_NAME
        • BUCKET_NAME は、実際の S3 バケットの名前に置き換えます。
    • URI is a: ログストリームの構成([単一ファイル] | [ディレクトリ] | [サブディレクトリを含むディレクトリ])に応じて URI タイプを選択します。
    • Source deletion options: 取り込みの設定に応じて削除オプションを選択します。
    • アクセスキー ID: S3 バケットから読み取る権限を持つユーザーのアクセスキー。

    • シークレット アクセスキー: S3 バケットから読み取る権限を持つユーザーのシークレット キー。

    • アセットの名前空間: アセットの名前空間

    • Ingestion labels: このフィードのイベントに適用されるラベル。

  9. [次へ] をクリックします。

  10. [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。

コンテンツ ハブからフィードを設定する

次のフィールドに値を指定します。

  • リージョン: Amazon S3 バケットが配置されているリージョン。
  • S3 URI: バケット URI。
    • s3:/BUCKET_NAME
      • BUCKET_NAME は、実際の S3 バケットの名前に置き換えます。
  • URI is a: ログストリームの構成([単一ファイル] | [ディレクトリ] | [サブディレクトリを含むディレクトリ])に応じて URI タイプを選択します。
  • Source deletion options: 取り込みの設定に応じて削除オプションを選択します。
  • アクセスキー ID: S3 バケットから読み取る権限を持つユーザーのアクセスキー。

  • シークレット アクセスキー: S3 バケットから読み取る権限を持つユーザーのシークレット キー。

詳細オプション

  • フィード名: フィードを識別する事前入力された値。
  • ソースタイプ: Google SecOps にログを収集するために使用される方法。
  • Asset Namespace: フィードに関連付けられた名前空間
  • Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。

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 のプロフェッショナルから回答を得ることができます。