Amazon AWS S3 REST API プロトコルの構成オプション

Amazon AWS S3 REST API プロトコルは、 Amazon S3 バケットから AWS CloudTrail ログを収集するアクティブなアウトバウンド・プロトコルです。

注: カスタム DSM またはその他のサポートされない統合で使用するために Amazon S3 からログを収集する場合は、データが欠落していないことを確認することが重要です。 S3 API がデータを返す方法のため、絶対パスをリストするときは、すべてのファイルをアルファベット順に増やす必要があります。 絶対パス名には、ISO9660 形式 (すべてのフィールドに先行ゼロを含む、YYYY-MM-DD の日付形式) の、省略なしの日時が組み込まれている必要があります。

以下のファイル・パスについて考えてみます。

<Name>test-bucket</Name><Prefix>MyLogs/</Prefix><Marker>MyLogs/2018-8-9/2018-08-09T23-5925.955097.log.g</Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated></ListBucketResult>

マーカーにおけるファイルの絶対パス名は MyLogs/2018-8-9/2018-08-09T23-59-25.955097.log.gz であり、フォルダー名は 2018-08-09 ではなく、2018-8-9 と表記されています。 この日付形式では、2018 年 9 月 10 日のデータが出現した場合に問題が発生します。 ソートするとき、日付は 2018-8-10 と表示されるため、ファイルは日時順にソートされず、以下のようになります。

2018-10-1

2018-11-1

2018-12-31

2018-8-10

2018-8-9

2018-9-1

2018 年 8 月 9 日のデータが IBM QRadarに到着した後は、日付形式で先行ゼロが使用されていないため、2018 年 9 月 1 日までデータは表示されません。 9 月以降は、2019 年になるまでデータが表示されません。 日付に先行ゼロを使用すれば (ISO 9660)、この問題は発生しません。

先行ゼロを使用すると、ファイルおよびフォルダーは日時順にソートされ、以下のようになります。

2018-08-09

2018-08-10

2018-09-01

2018-10-01

2018-11-01

2018-12-01

2018-12-31
制約事項:

ログ・ソースは 1 つのリージョンからのみデータを取得できるため、リージョンごとに別のログ・ソースを使用します。 ディレクトリー接頭部イベント収集方式を使用してログ・ソースを構成する場合は、 Directory Prefix 値のファイル・パスに領域フォルダー名を含めます。

以下の表は、ディレクトリー接頭部収集方式または SQS イベント収集方式を使用して監査イベントを収集するための共通パラメーター値の説明を示しています。 これらの収集方式では、Amazon AWS S3 REST API プロトコルが使用されます。
表 1. Amazon AWS S3 REST API プロトコルの共通ログ・ソース・パラメーター (ディレクトリー接頭部方式または SQS 方式)
パラメーター 説明
プロトコル構成 Amazon AWS S3 REST API
ログ・ソース ID

ログ・ソースの固有名を入力します。

「ログ・ソース ID」には、任意の有効な値を使用でき、特定のサーバーを参照する必要はありません。 「ログ・ソース ID」は、「ログ・ソース名」と同じ値にすることもできます。 DSM ごとに複数の構成済みログ・ソースがある場合は、それぞれに固有の名前を付けてください。

認証方法
アクセス・キー ID (Access Key ID)/ 秘密鍵 (Secret Key)
どの場所からでも使用できる標準認証。
セキュリティー資格情報の構成について詳しくは、 AWS ユーザー・アカウントのセキュリティー資格情報の構成を参照してください。
EC2 インスタンス IAM ロール (EC2 Instance IAM Role)
ご使用の管理対象ホストが AWS EC2 インスタンスで実行されている場合、このオプションを選択すると、認証用にインスタンスに割り当てられているインスタンス・メタデータの IAM ロールが使用されます。 鍵は必要ありません。 この方法は、AWS EC2 コンテナー内で実行されている管理対象ホストに対してのみ動作します。
アクセス・キー

AWS ユーザー・アカウント用のセキュリティー資格情報を構成したときに生成されたアクセス・キー ID。

「アクセス・キー ID (Access Key ID)/ 秘密鍵 (Secret Key)」または「IAM ロールの指定」を選択した場合は、「アクセス・キー (Access Key)」パラメーターが表示されます。

秘密鍵

AWS ユーザー・アカウント用のセキュリティー資格情報を構成したときに生成された秘密鍵。

「アクセス・キー ID (Access Key ID)/ 秘密鍵 (Secret Key)」または「IAM ロールの指定」を選択した場合は、「秘密鍵 (Secret Key)」パラメーターが表示されます。

IAM ロールの指定 このオプションを有効にするには、アクセス・キーまたは EC2 インスタンスの IAM ロールを使用して認証を行います。 これにより、アクセス用の IAM ロールを一時的に指定することができます。
ロール ARN の指定 (assume Role ARN) 指定するロールのフル ARN。 先頭は arn: でなければならず、先頭や末尾にスペースや ARN 内のスペースを含めることはできません。

「IAM ロールの指定」を有効にすると、「ロール ARN の指定 (assume Role ARN)」パラメーターが表示されます。

ロール・セッション名を想定 指定するロールのセッション名。 デフォルトは QRadarAWSSessionです。 変更する必要がない場合は、デフォルトのままにしてください。 このパラメーターで使用できる文字は、英数字の大文字と小文字、アンダースコアー、および =,.@- のみです。

「IAM ロールの指定」を有効にすると、「ロール・セッション名の指定 (Assume Role Session Name)」パラメーターが表示されます。

ロール外部 ID を想定 別のアカウントでロールを引き受けなければならない可能性がある ID。 この値は、役割が属するアカウントの管理者から取得します。

この値は、パスフレーズ、GUID、アカウント番号など、任意のストリングにすることができます。

詳しくは、 How to use an external ID when 認可 access to your AWS resources to a third party (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) を参照してください。

「IAM 役割を想定します」を有効にした場合、 「役割外部 ID を想定します」 パラメーターが表示されます。

S3 収集方式
SQS イベント通知
選択した S3 フォルダーで構成されている ObjectCreated 通知を含む SQS キューをポーリングします。 次に、通知で参照されているファイルを S3 バケットからダウンロードして処理します。 単一のキューまたは個別のキューのいずれかを使用して、複数のバケットおよびアカウントをカバーすることができます。 この決定は、構成によって異なります。

詳しくは、 表 3を参照してください。

特定の接頭部を使用
指定されたフォルダー内のログが処理されます。 CloudTrail ログ・ソースの場合、接頭部は単一のアカウントまたは地域専用でなければなりません。 その他のログ・ソースの場合、接頭部は、各ファイル名の先頭に ISO8601 タイム・スタンプを持つファイルを含む単一のディレクトリーを指す必要があります。 各ファイル名のタイム・スタンプにより、プロトコルはこのメソッドを使用して新規イベントを収集します。

詳しくは、 表 2を参照してください。

領域名 SQS キューまたは AWS S3 バケットが含まれているリージョン。

例: us-east-1、eu-west-1、ap-northeast-3

イベント・フォーマット ファイルに含まれるイベントの形式を選択します。
AWS CloudTrail JSON
Amazon Cloud Trail 用の JSON 形式のイベントを含むファイル (.json.gz ファイルのみ)。
LINEBYLINE
1 行に 1 つのレコードを含む未加工のログ・ファイル。 gzip (.gz または .gzip) および zip (.zip) を使用した圧縮がサポートされます。
AWS VPC フロー・ログ
AWS ネイティブ /OCSF VPC フロー・ログを含むファイル (.txt.gz または gz.parquet ファイルのみ)。 このオプションは、 QRadar「ネットワーク・アクティビティー」 タブにフローを送信します。 出力がフロー・データであるため、構成されたログ・ソースには 「最終イベントの表示時刻」 が表示されません。
AWS ネットワーク・ファイアウォール・ログ
AWS ネットワーク・ファイアウォール・アラートまたはフロー・ログを含むファイル。 このオプションは、フロー・ログを 「ネットワーク・アクティビティー」 タブに送信し、アラート・ログをイベントとして QRadar「ログ・アクティビティー」 タブに送信します。 Amazon AWS Network Firewall DSM はログを解析します。
ヒント: ご使用のシステムがフローのライセンス交付を受けていない場合は、 LINEBYLINE プロセッサーを使用して、DSM が AWS Network Firewall ログを解析できるようにしてください。
W3C
Cisco Cloud Web サービス DSM で使用します (.gz ファイルのみ)。
シスコSSE CSV
Cisco Umbrella DSM と共に使用します (.gz ファイルのみ)。
Apache Parquet
Apache Parquet ファイルを JSON イベント (.gz.parquet および .parquet ファイルのみ) に変換するには、このオプションを選択します。
汎用CSV
ヘッダー行を持つCSVデータを含むファイルを、構造化されたキーと値のペアの出力に処理する。 出力はJSONまたは名前と値のペアから選択できます。 gzip (.gz または .gzip) および zip (.zip) を使用した圧縮がサポートされます。
ヘッダー行を含むCSVデータ S3 にエクスポートされたログには、CSVヘッダー行が含まれます。 このオプションはCisco SSEログでは必須ですが、レガシーなCisco Umbrellaのdnsログ、proxylog、iplogではオプションです。
CSV 区切り文字 ソース CSV データの区切り文字。

Event Format パラメータで Generic CSVを選択すると、このパラメータを設定できます。

出力フォーマット 出力をキーと値でどのようにフォーマットするかを選択する。 JSONフォーマットは、ヘッダー名と値のフラットなJSONの出力をサポートする。 例: { "header1" : "value1", "header2" : "value2" }。 Name-Valueフォーマットは、タブで区切られたname=valueのペアを生成する。 例: header1=value1<tab>header2=value2

イベント形式パラメータで W3C または汎用 CSV を選択した場合、このパラメータを設定できます。

空のフィールドの抑制 すべてのフィールドの名前を生成するには、このオプションをfalseに設定します。 このオプションは、出力サイズを小さくするために、値が空とみなされるフィールドを出力から省略する。 これには、空文字列、空白のみを含む値、ハイフン1つ(-)の値などが含まれる。

イベント形式パラメータで W3C または汎用 CSV を選択した場合、このパラメータを設定できます。

フロー宛先ホスト名 VPC フロー・ログまたは AWS ネットワーク・ファイアウォール・フロー・ログが送信されるフロー・プロセッサーのホスト名。

「イベント・フォーマット」 パラメーターで AWS VPC フロー・ログ または AWS ネットワーク・ファイアウォール を選択した場合は、このパラメーターを構成できます。

フロー宛先ポート VPC フロー・ログまたは AWS ネットワーク・ファイアウォール・フロー・ログが送信されるフロー・プロセッサー・ポート。

「イベント・フォーマット」 パラメーターで AWS VPC フロー・ログ または AWS ネットワーク・ファイアウォール を選択した場合は、このパラメーターを構成できます。

ゲートウェイ・ログ・ソースとして使用 (Use as a Gateway Log Source)

収集されたイベントが QRadar トラフィック分析エンジンを通過し、 QRadar が 1 つ以上のログ・ソースを自動的に検出するようにするには、このオプションを選択します。

このオプションを選択すると、オプションでログ・ソース ID パターンを使用して、処理中のイベントのカスタムログ・ソース IDを定義できます。

ログ・ソース ID パターン (Log Source Identifier Pattern)

ゲートウェイ・ログ・ソースとして使用を選択した場合は、処理中のイベントのカスタム・ログ・ソース ID と、該当する場合に自動的に検出されるログ・ソースのカスタム・ログ・ソース ID を定義できます。 ログ・ソース ID パターン を構成しない場合、QRadar は、不明な汎用ログ・ソースとしてイベントを受け取ります。

カスタム・ログ・ソース ID を定義するには、キーと値のペアを使用します。 このキーは ID フォーマット・ストリングであり、生成されたソース値またはオリジン値です。 この値は、現在のペイロードを評価するために使用される、関連付けられた正規表現パターンです。 この値は、キーをさらにカスタマイズするために使用できるキャプチャー・グループもサポートします。

各パターンを新しい行に入力して、複数のキーと値のペアを定義します。 複数のパターンは、リストされている順序で評価されます。 一致が見つかると、カスタム・ログ・ソース ID が表示されます。

次の例では複数のキーと値のペアの機能を示します。
パターン
VPC=\sREJECT\sFAILURE
$1=\s(REJECT)\sOK
VPC-$1-$2=\s(ACCEPT)\s(OK)
イベント
{LogStreamName: LogStreamTest,Timestamp: 0,Message: ACCEPT OK,IngestionTime: 0,EventId: 0}
結果としてのカスタム・ログ・ソース ID
VPC-ACCEPT-OK
予測解析を使用 このパラメーターを有効にすると、アルゴリズムはイベントごとに正規表現を実行せずにイベントからログ・ソース ID パターンを抽出するため、解析速度が向上します。
ヒント: まれに、アルゴリズムが誤った予測を行うことがあります。 予測解析は、高いイベント率を受け取ることが予想され、より高速な解析を必要とするログ・ソース・タイプに対してのみ有効にします。
詳細オプションを表示 このオプションは、イベント・データをカスタマイズする場合に選択します。
ファイル・パターン

このオプションは、「詳細オプションを表示」が「はい」に設定されている場合に有効になります。

プルするファイルに一致するファイル・パターンの正規表現を入力します (例: .*?\.json\.gz)。

ローカル・ディレクトリー (Local Directory)

このオプションは、「詳細オプションを表示」が「はい」に設定されている場合に有効になります。

ターゲット・イベント・コレクターのローカル・ディレクトリー。 このディレクトリーは、AWS S3 REST API プロトコルがイベントの取得を試行する前に存在している必要があります。

S3 エンドポイントの URL (S3 Endpoint URL)

このオプションは、「詳細オプションを表示」が「はい」に設定されている場合に有効になります。

AWS S3 REST API の照会に使用されるエンドポイント URL。

エンドポイント URL がデフォルトと異なる場合は、エンドポイント URL を入力します。 デフォルトは https://s3.amazonaws.comです。

S3 パス形式アクセスの使用 (Use S3 Path-Style Access)

パス形式アクセスを使用することを S3 要求に強制します。

この方法は、AWS によって非推奨になっています。 ただし、他の S3 互換 API を使用する場合に、この方法が必要になることがあります。 例えば、バケット名にピリオド (.)が含まれている場合は、 https://s3.region.amazonaws.com/bucket-name/key-name パス・スタイルが自動的に使用されます。 したがって、このオプションは必須ではありませんが、使用することができます。

プロキシーの使用 (Use Proxy)

QRadar がプロキシーを使用して Amazon Web サービスにアクセスする場合は、 「プロキシーの使用」を有効にします。

プロキシーが認証を必要とする場合、「プロキシー・サーバー」「プロキシー・ポート」「プロキシー・ユーザー名」「プロキシー・パスワード」の各フィールドを構成します。

プロキシーが認証を必要としない場合、「プロキシー IP またはホスト名 (Proxy IP or Hostname)」フィールドを構成します。

繰り返し (Recurrence)

新しいデータの有無を確認するスキャンのためにポーリングが行われる頻度。

SQS イベント収集方式を使用している場合、「SQS イベント通知 (SQS Event Notifications)」には最小値の 10(秒) を指定できます。 SQS キューのポーリングはより頻繁に行われる場合があるため、より小さい値を使用できます。

ディレクトリー接頭部イベント収集方式を使用している場合、「特定の接頭部の使用 (Use a Specific Prefix)」には最小値の 60 (秒) または 1M が指定されます。 AWS S3 バケットに対して listBucket 要求が行われるたびに、そのバケットを所有するアカウントに対して費用が発生するため、「繰り返し (Recurrence)」の値を小さくするほど、費用が増加します。

新しいデータに対してポーリングが行われる頻度を決定する時間間隔を入力します。 時間間隔には時間数 (H)、分数 (M)、または日数 (D) の値を含めることができます。 例えば、2H = 2 時間、15M = 15 分、30 = 30 秒です。

EPS スロットル

QRadar が取り込む 1 秒当たりのイベントの最大数。

データ・ソースが EPS スロットルを超える場合、データ収集は遅延されます。 データは引き続き収集され、データ・ソースが EPS スロットルを超えて停止すると取り込まれます。

デフォルトは 5000 です。

以下の表では、ディレクトリー接頭部収集方式を使用して監査イベントを収集するための固有のパラメーター値について説明します。

表 2. Amazon AWS S3 REST API プロトコルのログ・ソース固有のパラメーター (ディレクトリー接頭部方式を使用)
パラメーター 説明
S3 収集方式 「特定の接頭部を使用」を選択します。
バケット名

ログ・ファイルが格納されている AWS S3 バケットの名前。

ディレクトリー接頭部 (Directory Prefix)

CloudTrail ログの取得元となる AWS S3 バケット上のルート・ディレクトリー・ロケーション (例: AWSLogs/<AccountNumber>/CloudTrail/<RegionName>/)。

バケットのルート・ディレクトリーからファイルをプルするには、 「ディレクトリー接頭部」 ファイル・パスにスラッシュ (/) を使用する必要があります。

注:
  • 「ディレクトリー接頭部 (Directory Prefix)」の値を変更すると、保持されているファイル・マーカーがクリアされます。 次回のプル実行時に、新しい接頭部に一致するすべてのファイルがダウンロードされます。
  • 「ディレクトリー接頭部 (Directory Prefix)」のファイル・パスの先頭をスラッシュ (/) にすることはできません (スラッシュだけを使用してバケットのルートからデータを収集する場合を除く)。
  • 「ディレクトリー接頭部 (Directory Prefix)」のファイル・パスを使用してフォルダーを指定する場合は、ファイル・パスの先頭をスラッシュにすることはできません (代わりに folder1/folder2 などと指定します)。

以下の表では、SQS イベント収集方式を使用して監査イベントを収集するために固有の値を必要とするパラメーターについて説明します。

表 3. SQS メソッドを使用した Amazon AWS S3 REST API プロトコルのログ・ソース固有のパラメーター
パラメーター 説明
S3 収集方式 「SQS イベント通知 (SQS Event Notifications)」を選択します。
SQS キューの URL (SQS Queue URL) S3 から ObjectCreated イベントに関する通知を受信するようにセットアップされた SQS キューの https:// で始まる完全な URL。