AWS/Azure

LogStare CollectorでのAWS WAFログの取得方法とログレポート

この記事は投稿日から2年以上経過しています。

当記事では、LogStare CollectorでのAWS WAFログの取得方法について記載します。
LogStare CollectorによるAWS WAFのログ収集は、AWS WAF, Amazon CloudWatch が利用可能なすべてのリージョンでご利用いただけます。

若手エンジニア志望者を募集!支度金あり

更新履歴

2022/10/18 公開しました。

AWS側の設定

ログ出力設定

  • コンソールよりサービス「WAF & Shield」を起動して、メニューより「Web ACLs」を選択します。Web ACLsを作成したリージョンを選択し、CloudWatch Logsにログ出力したいWeb ACLsの名前を押下します。
  • タブより「Logging and metrics」を押下します。
  • 「Enable」を押下します。
  • ログ出力に関する設定を実施します。詳細は「ログ出力詳細設定」をご確認下さい。設定後、右下の「Save」を押下します。
  • 以上で設定は完了です。CloudWatch Logsにて指定したロググループでログが出力されているかご確認下さい。

ログ出力詳細設定

  • 「Enable logging」画面ではログ出力に関する詳細な条件を設定できます。

Logging destination(ログの出力先)※必須

  • ログの出力先を「CloudWatch Logs log group」「Kinesis Data Firehose stream」「S3 bucket」より選択します。LogStare Collectorで収集する場合、「CloudWatch Logs log group」を選択します。

Redacted fields(特定メッセージの編集)

  • ログメッセージにおいて、特定の項目を編集してログに含めないように設定できます。対象は以下の通りです。
    • HTTP method:この項目を設定することでログメッセージよりHTTPメソッド(httpMethod)を含めないようにできます。
    • Query string:この項目を設定することでログメッセージよりクエリ文字列(args)を含めないようにできます。
    • URI path:この項目を設定することでログメッセージよりURIパス(uri)を含めないようにできます。
    • Single header:この項目では任意のヘッダーをログメッセージに含めないようにできます。
  • 上記設定の場合、以下の様なメッセージがCloudWatch Logsに出力されます。
    {
        "timestamp": 1663839097399,
        "formatVersion": 1,
        "webaclId": "arn:aws:wafv2:ap-northeast-1:xxxxxxxxxxxx:regional/webacl/AWS-WAF-test/edf93802-8c65-4f88-bf11-ec6f1491447e",
        "terminatingRuleId": "Default_Action",
        "terminatingRuleType": "REGULAR",
        "action": "ALLOW",
        "terminatingRuleMatchDetails": [],
        "httpSourceName": "ALB",
        "httpSourceId": "xxxxxxxxxxxx-app/test-alb/9948bd44336ae560",
        "ruleGroupList": [
            {
                "ruleGroupId": "AWS#AWSManagedRulesAmazonIpReputationList",
                "terminatingRule": null,
                "nonTerminatingMatchingRules": [],
                "excludedRules": null,
                "customerConfig": null
            }
        ],
        "rateBasedRuleList": [],
        "nonTerminatingMatchingRules": [],
        "requestHeadersInserted": null,
        "responseCodeSent": null,
        "httpRequest": {
            "clientIp": "xxx.xxx.xxx.xxx",
            "country": "JP",
            "headers": [
                {
                    "name": "Host",
                    "value": "example-logstare-alb-xxxxxxxxx.ap-northeast-1.elb.amazonaws.com"
                },
                {
                    "name": "Connection",
                    "value": "REDACTED"   ###非表示対象###
                },
                {
                    "name": "DNT",
                    "value": "1"
                },
                {
                    "name": "Upgrade-Insecure-Requests",
                    "value": "1"
                },
                {
                    "name": "User-Agent",
                    "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36"
                },
                {
                    "name": "Accept",
                    "value": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
                },
                {
                    "name": "Accept-Encoding",
                    "value": "gzip, deflate"
                },
                {
                    "name": "Accept-Language",
                    "value": "ja,en-US;q=0.9,en;q=0.8"
                }
            ],
            "uri": "REDACTED",   ###非表示対象###
            "args": "REDACTED",   ###非表示対象###
            "httpVersion": "HTTP/1.1",
            "httpMethod": "REDACTED",   ###非表示対象###
            "requestId": "1-632c2b79-17461d7b337aaa120b4d6191"
        }
     }

Filter logs(ログのフィルタ)

  • 特定のログのみを出力させるフィルタを設定することができます。複数のフィルタを設定した場合、上位(Filter 1)から判定されます。
    • Filter requirement:Filter conditions(フィルタ条件)において、「Match all of the filter conditions(すべてのフィルタ条件に合致)」「Match at least one of the filter conditions(少なくとも一つの条件に合致」のいずれかの判定基準を設定できます。
    • Filter conditions:フィルタ条件を「Rule action on request(ルールアクション)」「Request has label(ラベル)」より選択できます。
    • Filter behavior:設定したフィルタ条件に合致したログについて、「Keep in logs(ログに含める」「Drop from logs(ログに含めない)」より選択できます。

Default logging behavior(標準のログ出力動作)

  • すべてのFilter logsによる判定が終了した時点で精査されていないログについて、「Keep in logs(ログに含める」「Drop from logs(ログに含めない)」より選択できます。

LogStare Collector側の設定

取得したログについて

ログレポート

AWS WAFのログのレポートをLogStare Reporter または LogStare Quintにて生成することが出来ます。以下に作成例をまとめています。

送信元国別

送信元国別に集計したレポートです。国コードを変換、国別の許可・遮断の件数を算出し、日々の通信傾向を確認する際に利用することが出来ます。

遮断理由となるルール

遮断時のルール名を集計したレポートです。検知傾向を把握するのに役立ちます。

送信元IPアドレス別

送信元IPアドレス別に集計したレポートです。関係のある組織からの誤遮断がないか等を確認できる他、スキャン行為等の目立つIPアドレスについては、将来への攻撃に備えセキュリティグループやAWS Network Firewall等で遮断するための判断に役立ちます。

アクセス先URI別

アクセス先URI(URL)別に集計したレポートです。どういったURI(URL)に対して攻撃されているのかを把握することができます。
アクセス先のURIについて、実際に存在するものである場合、更にクローズアップし、送信元IPアドレスや、ルール名を調査することができます。

 

LogStare Reporterは、Collectorが収集したログデータのレポート作成や、監視データとの相関分析、高度な複合条件によるアラート通知などを行なうSaaS型のログ分析システムです。LogStare Reporter、LogStare Quintについて実際にログレポートを閲覧したり、アラート状況を確認できるデモサイトがございますのでぜひご覧ください。

以上でLogStare CollectorでのAWS WAFログの取得方法とログレポートについての説明は終了です。

若手エンジニア志望者を募集!支度金あり

LogStare Collector 無償版

記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。

当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。

LSC初期設定チュートリアル-初めてLSCを触る方へ-前のページ

Fortinet製品における認証バイパスの脆弱性(CVE-2022-40684)に対するFortiOSでの緩和策について次のページ

ピックアップ記事

  1. Zabbixヒストリデータのレポート生成について
  2. 自社製品をAMIにしてAWSマーケットプレイスへ出品
  3. IoT機器「Raspberry pi」とLogStare Collectorで温…
  4. ログフォワーダー「okurun.jar」について

関連記事

  1. AWS/Azure

    自社WebサーバにAWS WAFを適用しました(4)~AWS WAFとALBの初期設定~

    こんにちは。タイトルの通り、自社WebサーバにAWS WAFを適用…

  2. AWS/Azure

    EC2関連メトリクス一覧

    当記事では、CloudWatch監視にて対応しているEC2関連メトリク…

  3. AWS/Azure

    NetworkELB関連メトリクス一覧

    当記事では、CloudWatch監視にて対応しているNetworkEL…

  4. AWS/Azure

    自社製品をAMIにしてAWSマーケットプレイスへ出品

    はじめにかねてより弊社製品のAWSマーケットプレイス出品を目論んで…

  5. Windows/Linux

    WindowsServerにaws cliバージョン2をインストールする方法について

    当記事では、WindowsServerにaws cliバージョン2をイ…

若手エンジニア志望者を募集!
LogStare Collector 無償版
クラウド活用の「困った」「焦った」事例
月額200円でM356の監査ログの運用レベルUP LogStare M365
AWSのログ分析・モニタリングに 次世代のマネージド・セキュリティ・プラットフォーム LogStare

  1. ログ分析・監視テクニック

    nProbeであらゆる通信をログに記録し可視化する
  2. SNMPを触ってみた

    ログ分析・監視テクニック

    SNMPとは?新入社員が生まれてはじめて触ってみた!
  3. 実践記事

    DNSキャッシュポイズニングやってみた
  4. NW機器

    Nutanix Prism ElementにおけるSNMP監視/REST API…
  5. デフォルト画像イメージ

    FortiGate

    FortiGateのSD-WAN設定について
PAGE TOP