AWS/Azure

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

当記事では、LogStare CollectorでのAWS WAFログの取得方法について記載します。

更新履歴

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にて生成することが出来ます。以下に作成例をまとめています。

送信元国別

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

遮断理由となるルール

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

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

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

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

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

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

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

ピックアップ記事

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

関連記事

  1. AWS/Azure

    CloudWatchAgent(Linux)_関連メトリクス一覧

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

  2. AWS/Azure

    Lambda関連メトリクス一覧

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

  3. AWS/Azure

    RDS関連メトリクス一覧

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

  4. AWS/Azure

    EC2関連メトリクス一覧

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

  5. AWS/Azure

    CloudFront関連メトリクス一覧

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

  6. Windows/Linux

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

    当記事では、Linux系OSにaws cliをインストールする方法につ…

Microsoft365もっと活用セミナー

ナレッジステアはセキュアヴェイルグループが運営しています

ネットワーク管理者向けセキュリティセミナー

無料で使えるシステム監視・ログ管理ソフト

  1. NW機器

    Nutanix Prism ElementにおけるSNMP監視/REST API…
  2. NW機器

    SonicWall UTMにSyslog送信設定を追加する方法について
  3. ログ分析・監視テクニック

    nProbeであらゆる通信をログに記録し可視化する
  4. NW機器

    PaloAltoのIPsec IKEv1 Phase1におけるトラブルシューティ…
  5. SNMPを触ってみた

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

    SNMPとは?新入社員が生まれてはじめて触ってみた!
PAGE TOP