AWS Elastic Load Balancing のログを収集する
以下でサポートされています。
Google SecOpsSIEM
このドキュメントでは、Google Security Operations フィードを設定して AWS Elastic Load Balancing のログを収集する方法について説明します。パーサーはログを UDM 形式に変換します。Grok パターンを使用して、CEF 形式と CEF 以外の形式の両方のメッセージからフィールドを抽出し、UDM フィールドにマッピングします。HTTP、TLS、セキュリティ関連のフィールドの特定のロジックなど、さまざまなデータ変換を処理します。また、特定のフィールドの存在や形式に基づいて条件付き処理を行い、UDM を正確に表現します。
始める前に
- Google SecOps インスタンスがあることを確認します。
- AWS への特権アクセス権があることを確認します。
AWS Elastic Load Balancing を構成する
- アクセス ロギングを有効にして、アクセスログを S3 ストレージ バケットに送信する。
- Amazon Simple Queue Service(SQS)を作成し、S3 ストレージ バケットに接続する。
Amazon S3 バケットを構成する
- AWS コンソールにログインします。
- バケットの作成のユーザーガイドに沿って、Amazon S3 バケットを作成します。
- バケットの名前(
elb-logs
など)とリージョンを保存して、後で使用できるようにします。 - IAM ユーザーの作成のユーザーガイドに沿って、ユーザーを作成します。
- 作成したユーザーを選択します。
- [セキュリティ認証情報] タブを選択します。
- [アクセスキー] セクションで [アクセスキーを作成] をクリックします。
- [ユースケース] として [サードパーティ サービス] を選択します。
- [次へ] をクリックします。
- 省略可: 説明タグを追加します。
- [アクセスキーを作成] をクリックします。
- [CSV ファイルをダウンロード] をクリックし、[アクセスキー] と [シークレット アクセスキー] を保存して、後で使用できるようにします。
- [完了] をクリックします。
- [権限] タブを選択します。
- [権限ポリシー] セクションで [権限を追加] をクリックします。
- [権限を追加] を選択します。
- [ポリシーを直接アタッチする] を選択します。
- AmazonS3FullAccess ポリシーを検索して選択します。
- [次へ] をクリックします。
- [権限を追加] をクリックします。
アクセスログを有効にするように AWS Elastic Load Balancer を構成する
- AWS 管理コンソールにログインします。
- [EC2] を検索して選択します。
- ナビゲーション メニューで [ロードバランサ] を選択します。
- ロギングを有効にするロードバランサを選択します。
- [説明] タブで [属性] までスクロールします。
- [属性を編集] をクリックします。
- [有効にする] を選択して、アクセスログを有効にします。
- 前に作成した S3 バケット(例:
elb-logs
)を選択します。 - 省略可: ログの識別を容易にするためにログ接頭辞を設定します(例:
elb/access-logs/
)。 - [保存] をクリックします。
AWS Elastic Load Balancer のログを取り込むように Google SecOps でフィードを構成する
- [SIEM Settings] > [Feeds] に移動します。
- [新しく追加] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: AWS Elastic Load Balancer Logs)。
- [ソースタイプ] として [Amazon S3] を選択します。
- [Log type] として [AWS Elastic Load Balancer] を選択します。
- [次へ] をクリックします。
次の入力パラメータの値を指定します。
- リージョン: Amazon S3 バケットが配置されているリージョン。
- S3 URI: バケット URI。
s3:/BUCKET_NAME
BUCKET_NAME
は、バケットの実際の名前に置き換えます。
- URI is a: ログストリームの構成([単一ファイル] | [ディレクトリ] | [サブディレクトリを含むディレクトリ])に応じて URI TYPE を選択します。
- Source deletion options: 必要に応じて削除オプションを選択します。
- アクセスキー ID: S3 バケットにアクセスできるユーザー アクセスキー。
- シークレット アクセスキー: S3 バケットにアクセスできるユーザーのシークレット キー。
- Asset namespace: アセットの名前空間。
- Ingestion labels: このフィードのイベントに適用されるラベル。
[次へ] をクリックします。
[Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
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 |
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 |
直接マッピングされます。 |
(Parser) | metadata.event_type |
プリンシパルとターゲット マシン ID が存在する場合は「NETWORK_HTTP」、プリンシパル マシン ID のみが存在する場合は「STATUS_UPDATE」、ターゲット IP、ホスト名、宛先 IP が存在しない場合「GENERIC_EVENT」、それ以外の場合は「NETWORK_HTTP」に設定します。 |
(Parser) | metadata.product_name |
[AWS Elastic Load Balancer] に設定します。 |
(Parser) | metadata.vendor_name |
「AMAZON」に設定します。 |
変更点
2024-03-22
- JSON ログの新しいパターンをサポートする新しい Grok パターンを追加しました。
- CEF パターンログのサポートを追加しました。
- 「dst_ip」を「target.ip」にマッピングしました。
- 「dst_port」を「target.port」にマッピングしました。
- 「sip」を「principal.ip」にマッピングしました。
- 「request_processing_time」、「target_processing_time」、「siteid」、「fileId」、「response_processing_time」を「security_result.detection.fields」にマッピングしました。
- 「principal.ip」と「principal.asset.ip」のマッピングを揃えました。
- 「target.ip」と「target.asset.ip」のマッピングを揃えました。
- 「target.hostname」と「target.asset.hostname」のマッピングを揃えました。
- 「cipher」を「network.tls.cipher」にマッピングしました。
- 「version」を「network.tls.version」にマッピングしました。
- 「Customer」を「principal.user.user_display_name」にマッピングしました。
2022-05-27
- 機能強化 - metadata.product_name に保存されている値を「AWS Elastic Load Balancer」に変更しました。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。