Amazon CloudFront のログを収集する

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

このドキュメントでは、Google Security Operations フィードを設定して Amazon CloudFront のログを収集する方法について説明します。

詳細については、Google Security Operations へのデータの取り込みの概要をご覧ください。

取り込みラベルによって、未加工のログデータを構造化 UDM 形式に正規化するパーサーが識別されます。このドキュメントの情報は、取り込みラベル AWS_CLOUDFRONT が付加されたパーサーに適用されます。

始める前に

Amazon S3 バケットが作成されていることを確認します。詳細については、最初の S3 バケットを作成するをご覧ください。

Amazon CloudFront を構成する

  1. AWS Management コンソールにログインします。
  2. Amazon S3 コンソールにアクセスして、Amazon S3 バケットを作成します。
  3. ロギングを有効にするには、[オン] を選択します。
  4. [Bucket for logs] フィールドに、Amazon S3 バケット名を指定します。
  5. [ログ接頭辞] フィールドに、接頭辞を指定します(省略可)。
  6. ログファイルを Amazon S3 バケットに保存したら、SQS キューを作成して Amazon S3 バケットに接続します。

接続のエンドポイントを特定する

S3、SQS、KMS に必要な IAM ユーザーと KMS 鍵ポリシーを確認します。

サービスとリージョンに基づいて、次の AWS ドキュメントを参照して接続のエンドポイントを特定します。

Amazon CloudFront ログを取り込むように Google Security Operations でフィードを構成する

  1. [SIEM 設定] > [フィード] を選択します。
  2. [新しく追加] をクリックします。
  3. [フィード名] に固有の名前を入力します。
  4. [ソースタイプ] として [Amazon S3] または [Amazon SQS] を選択します。
  5. [ログタイプ] として [AWS CloudFront] を選択します。
  6. [次へ] をクリックします。
  7. Google Security Operations は、アクセスキー ID とシークレット メソッドを使用したログ収集をサポートしています。アクセスキー ID とシークレットを作成するには、AWS でツールの認証を構成するをご覧ください。
  8. 作成した Amazon CloudFront 構成に基づいて、次のフィールドに値を指定します。
    • Amazon S3 を使用する場合は、次のフィールドに値を指定します。
      • 地域
      • S3 URI
      • URI は
      • ソース削除オプション
    • Amazon SQS を使用する場合は、次のフィールドに値を指定します。
      • 地域
      • キュー名
      • アカウント番号
      • キューのアクセスキー ID
      • キューのシークレット アクセスキー
      • ソース削除オプション
  9. [次へ] をクリックし、[送信] をクリックします。

Amazon CloudFront ログを Amazon S3 バケットに送信するには、標準ログ(アクセスログ)の構成と使用をご覧ください。

Google Security Operations フィードの詳細については、Google Security Operations フィードのドキュメントをご覧ください。各フィードタイプの要件については、タイプ別のフィード構成をご覧ください。 フィードの作成時に問題が発生した場合は、Google Security Operations サポートにお問い合わせください。

フィールド マッピング リファレンス

このパーサーは、SYSLOG 形式または JSON 形式の AWS CloudFront ログからフィールドを抽出し、UDM に正規化します。grok パターンを使用してメッセージ文字列を解析し、さまざまなデータ変換(型変換、名前変更など)を処理し、ユーザー エージェントの解析やアプリケーション プロトコルの識別などの追加コンテキストでデータを拡充します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
c-ip principal.ip 直接マッピング。principal.asset.ip にもマッピングされます。
c-port principal.port 直接マッピング。
cs(Cookie) additional.fields[].key: 「cookie」
additional.fields[].value.string_value: 直接マッピング。
cs(Cookie) が存在し、agent に「://」が含まれていない場合は、条件付きでマッピングされます。
cs(Host) principal.hostname 直接マッピング。principal.asset.hostname にもマッピングされます。他の URL フィールドを使用できない場合に、target.url の作成に使用されます。
cs(Referer) network.http.referral_url 直接マッピング。
cs(User-Agent) network.http.user_agent 直接マッピング。また、network.http.parsed_user_agent にマッピングされ、「://」が含まれていない場合はコンポーネントに解析されます。
cs-bytes network.sent_bytes 直接マッピング。符号なし整数に変換されます。
cs-method network.http.method 直接マッピング。
cs-protocol network.application_protocol 大文字に変換した後にマッピングされます。値が標準アプリケーション プロトコルとして認識されず、cs-protocol-version に「HTTP」が含まれている場合、network.application_protocol は「HTTP」に設定されます。
dport target.port 直接マッピング。整数に変換されます。
edge_location principal.location.name 直接マッピング。
fle-encrypted-fields additional.fields[].key: 「fle-encrypted-fields」
additional.fields[].value.string_value: 直接マッピング。
存在する場合は条件付きでマッピングされます。
fle-status additional.fields[].key: 「fle-status」
additional.fields[].value.string_value: 直接マッピング。
存在する場合は条件付きでマッピングされます。
host principal.hostnameprincipal.asset.hostname 直接マッピング。
id principal.asset_id プレフィックス「id:」で直接マッピングされます。
ip target.iptarget.asset.ip 直接マッピング。
log_id metadata.product_log_id 直接マッピング。
resource additional.fields[].key: 「resource」
additional.fields[].value.string_value: 直接マッピング。
存在する場合は条件付きでマッピングされます。
result_type additional.fields[].key: "result_type"
additional.fields[].value.string_value: 直接マッピング。
存在する場合は条件付きでマッピングされます。
sc-bytes network.received_bytes 直接マッピング。符号なし整数に変換されます。
sc-content-len additional.fields[].key: 「sc-content-len」
additional.fields[].value.string_value: 直接マッピング。
存在する場合は条件付きでマッピングされます。
sc-content-type additional.fields[].key: 「sc-content-type」
additional.fields[].value.string_value: 直接マッピング。
存在する場合は条件付きでマッピングされます。
sc-status network.http.response_code 直接マッピング。整数に変換されます。
ssl-cipher network.tls.cipher 直接マッピング。
ssl-protocol network.tls.version 直接マッピング。
timestamp metadata.event_timestamp 解析され、マッピングされている(利用可能な場合)。さまざまな形式がサポートされています。
ts metadata.event_timestamp 解析され、マッピングされている(利用可能な場合)。ISO8601 形式が想定されます。
url target.url 直接マッピング。
url_back_to_product metadata.url_back_to_product 直接マッピング。
x-edge-detailed-result-type additional.fields[].key: x-edge-detailed-result-type
additional.fields[].value.string_value: 直接マッピング。
存在する場合は条件付きでマッピングされます。
x-edge-location additional.fields[].key: 「x-edge-location」
additional.fields[].value.string_value: 直接マッピング。
存在する場合は条件付きでマッピングされます。
x-edge-request-id additional.fields[].key: x-edge-request-id
additional.fields[].value.string_value: 直接マッピング。
存在する場合は条件付きでマッピングされます。
x-edge-response-result-type additional.fields[].key: x-edge-response-result-type
additional.fields[].value.string_value: 直接マッピング。
存在する場合は条件付きでマッピングされます。
x-edge-result-type additional.fields[].key: x-edge-result-type
additional.fields[].value.string_value: 直接マッピング。
存在する場合は条件付きでマッピングされます。
x-forwarded-for target.iptarget.asset.ip 直接マッピング。複数の IP が存在する場合(カンマ区切り)、それらは分割され、それぞれの UDM フィールドに統合されます。
x-host-header target.hostnametarget.asset.hostname 直接マッピング。ip または x-forwarded-forhttp_verb のいずれかが存在する場合は、「NETWORK_HTTP」に設定します。それ以外の場合は、「GENERIC_EVENT」に設定します。「AWS_CLOUDFRONT」にハードコードされています。「AWS CloudFront」にハードコードされています。「AMAZON」にハードコードされています。Google Security Operations へのログエントリの取り込み時間。