メインコンテンツまでスキップ
Sumo Logic Japanese

AWS WAF のログの収集

AWS アプリケーション ファイアウォール (WAF) アプリケーションのログの取集を設定します

このページでは、AWS WAF アプリケーションのログを収集する方法について説明します。

S3 への AWS WAF ログのストリーミングの設定

このステップでは、Kinesis Data Firehose を使用してログ データを S3 バケットに送信するように AWS WAF を設定します。次のステップでは、バケットからログを収集するように Sumo を設定します。

  1. AWS ヘルプで説明されているように、Kinesis ストリームへの WAF ログ記録を有効にします。
  2. AWS ヘルプの「Amazon Kinesis Data Firehose データ配信」で説明されているように、Kinesis ストリームのターゲットとして AWS S3 バケットを設定します。

AWS WAF ログを受信するための Sumo コレクタとソースの設定

  1. ホスト型コレクタを設定します。
  2. ホスト型コレクタに AWS S3 ソースを追加します。
    1. Name (名前)。新しいソースに表示する名前を入力します。
    2. Description (説明)。説明 (省略可能) を入力します。
    3. S3 Region (S3 リージョン)。S3 バケットの Amazon リージョンを選択します。
    4. Bucket Name (バケット名)。S3 バケットの名前を正確に入力します。
    5. Path Expression (パス式)。収集する S3 オブジェクトに一致する文字列を入力します。この文字列では、ワイルドカードを 1 つ使用できます。(先頭にスラッシュを付けないでください。「Amazon のパス式」参照。)S3 バケット名はパスに含まれません。パス式を設定するときはバケット名を含めないでください。
    6. Source Category (ソース カテゴリ)。ソース カテゴリを入力します。たとえば、AWS/WAF とします。
    7. Access Method (アクセス方法): 適切な AWS アクセス制御メカニズムを選択します。
    8. Scan Interval (スキャン間隔): デフォルトの [Automatic (自動)] を使用するか、プルダウンからスキャン間隔を選択します。 
    9. Enable Timestamp Parsing (タイムスタンプ パースの有効化)。チェックボックスをオンにします。
    10. Time Zone (タイムゾーン)[Ignore time zone from log file and instead use ((ログ ファイルのタイム ゾーンを無視して、次を使用します):)] をクリックして、タイム ゾーンのリストから [UTC] を選択します。
    11. Timestamp Format (タイムスタンプ フォーマット)[Automatically detect the format (フォーマットを自動検出)] をクリックします。
    12. Enable Multiline Processing (複数行の処理の有効化)。チェックボックスをクリックして、[Infer Boundaries (境界の推測)] を選択します。
    13. [Save (保存)] をクリックします。

ログ メッセージのサンプル

{"webaclId":"360cb717-5a9f-4f2f-ac64-09ab912af591","terminatingRuleId":"1809ecc9-81fd-4dff-99e7-a27421213155","terminatingRuleType":"REGULAR","action":"BLOCK","httpSourceName":"CF","httpSourceId":"i-123","ruleGroupList":[],"rateBasedRuleList":[],"matchingNonTerminatingRules":[],"httpRequest":{"clientIp":"125.5.11.56","country":"US","headers":[{"name":"Host","value":"127.0.0.1:1989"},{"name":"User-Agent","value":"curl/7.53.1"},{"name":"Accept","value":"*/*"}],"uri":"/Lists/b/ref=sva_videos_2?ie=UTF   ","args":"name=10; DROP TABLE members","httpVersion":"HTTP/1.1","httpMethod":"GET","requestId":"distribution_id"},"formatVersion":1,"timestamp":1535493873231}

クエリのサンプル 

クライアントの IP 脅威情報

_sourceCategory=AWS/WAF {{client_ip}}
| parse "\"httpMethod\":\"*\"," as httpMethod,"\"httpVersion\":\"*\"," as httpVersion,"\"uri\":\"*\"," as uri, "{\"clientIp\":\"*\",\"country\":\"*\"" as clientIp,country, "\"action\":\"*\"" as action, "\"matchingNonTerminatingRules\":[*]" as matchingNonTerminatingRules, "\"rateBasedRuleList\":[*]" as rateBasedRuleList, "\"ruleGroupList\":[*]" as ruleGroupList, "\"httpSourceId\":\"*\"" as httpSourceId, "\"httpSourceName\":\"*\"" as httpSourceName, "\"terminatingRuleType\":\"*\"" as terminatingRuleType, "\"terminatingRuleId\":\"*\"" as terminatingRuleId, "\"webaclId\":\"*\"" as webaclId nodrop
| lookup type, actor, raw, threatlevel as malicious_confidence from sumo://threat/cs on threat=clientip

  • この記事は役に立ちましたか?