Oracle Cloud Infrastructureドキュメント

ログ

ログ:指定された時間枠内のログに記録された各イベントの詳細が表示されます。 ログにより、リクエストによってトリガーされるルールおよび対応するメジャーを理解でき、リクエスト処理をブロック・モードに移動する基準として使用できます。 ログは、アクセス制御、保護ルールまたはボット・イベントから取得できます。

ノート

一般データ保護ルール(GDPR)の要件に問題がある場合は、WAFサービスに対してログを無効にできます。 My Oracle Supportを使用して、ログを無効にするサービス・リクエストを提出できます。

コンソールを使用した場合

ログを表示するには

  1. 「ナビゲーション・メニュー」を開きます。 ガバナンスと管理の下で、セキュリティに移動して「WAFポリシー」をクリックします。
  2. ログを表示するWAFポリシーの名前をクリックしてください。WAFポリシーの概要が表示されます。
  3. 「ログ」をクリックします。 WAFポリシーのログが表示されます。
  4. ログを見つけるために、次のフィルタ・オプションを使用できます:
    • 特定の時間範囲のアラート・アクティビティ・データを表示するには、「開始日」「開始時間」「終了日」「終了時間」を入力します。
    • URLのログを表示するには、「リクエストURL」を入力します。
    • クライアントIPアドレスのログを表示するには、「クライアントIPアドレス」ドロップダウン・メニューからアドレスを選択します。
    • 国のログを表示するには、「国名」ドロップダウン・リストから国を選択します。
    • アクションのタイプを検索するには、「アクション」チェック・ボックスを選択します。
    • ログのタイプを調べるには、次のオプションから「ログ・タイプ」チェック・ボックスを選択します:
      • アクセス・ルール
      • CAPTCHAチャレンジ
      • JavaScriptチャレンジ
      • 保護ルール
      • ヒューマン・インタラクション・チャレンジ
      • デバイスのフィンガープリント・チャレンジ
      • 脅威インテリジェンス・フィード
      • アドレス・レート制限
      • アクセス
  5. 表示するアラート・タイプの横にあるプラス記号をクリックします。

APIの使用

APIおよび署名リクエストの使用については、REST APIおよび「セキュリティ資格証明」を参照してください。 SDKの詳細は、「ソフトウェア開発キットとコマンドライン・インタフェース」を参照してください。

ListWafLogs API操作を使用して、ログのアクティビティを表示します。 フィルタを使用してログを検索できます。

次のlogTypeでログをフィルタできます:

  • ACCESS_RULES
  • CAPTCHA_CHALLENGE
  • JAVASCRIPT_CHALLENGE
  • PROTECTION_RULES
  • HUMAN_INTERACTION_CHALLENGE
  • DEVICE_FINGERPRINT_CHALLENGE
  • THREAT_INTELLIGENCE_FEEDS
  • ADDRESS_RATE_LIMITING
  • ACCESS

次のリクエストを行って、logTypeでログをフィルタ処理できます:

GET /20181116/waasPolicies/<unique_ID>/wafLogs?logType=<logType>&timeObservedGreaterThanOrEqualTo=<timestamp>&timeObservedLessThan=<timestamp>&compartmentId=<unique_ID>

例えば:

GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafLogs?logType=PROTECTION_RULES&timeObservedGreaterThanOrEqualTo=2019-10-24T13:00:00+00:00&timeObservedLessThan=2019-10-24T13:47:00+00:00&compartmentId=ocid1.compartment.oc1..

フィルタされたログについて、次のレスポンス出力が返されます:

[

    {

        "action": "BLOCK",

        "clientAddress": "192.0.2.0",

        "countryCode": "US",

        "countryName": "United States",

        "domain": "example.com",

        "httpHeaders": {

            "Accept": "*/*",

            "Host": "example.com",

            "Referer": "",

            "Request-Id": "2019-10-24T13:46:25Z|fa68cab479|192.0.2.0|uwDPcqR0Qt",

            "User-Agent": "curl/7.54.0",

            "X-Client-Ip": "192.0.2.0",

            "X-Country-Code": "US",

            "X-Forwarded-For": "192.0.2.0, 192.0.2.0"

        },

        "httpMethod": "GET",

        "httpVersion": "HTTP/1.1",

        "incidentKey": "2019-10-24T13:46:25Z|fa68cab479|192.0.2.0|uwDPcqR0Qt",

        "logType": "PROTECTION_RULES",

        "protectionRuleDetections": {

            "950002": {

                "Message": "System Command Access. Matched Data: cmd.exe found within ARGS:abc: cmd.exe",

                "Message details": "Access denied with code 403 (phase 2). Pattern match \"\\\\b(?:(?:n(?:map|et|c)|w(?:guest|sh)|telnet|rcmd|ftp)\\\\.exe\\\\b|cmd(?:(?:32)?\\\\.exe\\\\b|\\\\b\\\\W*?\\\\/c))\" at ARGS:abc."

            }

        },

        "requestUrl": "/?abc=cmd.exe",

        "timestamp": "Thu, 24 Oct 2019 13:46:25 GMT",

        "userAgent": "curl/7.54.0"

    },

    {

        "action": "BLOCK",

        "clientAddress": "192.0.2.0",

        "countryCode": "US",

        "countryName": "United States",

        "domain": "example.com",

        "httpHeaders": {

            "Accept": "*/*",

            "Host": "example.com",

            "Referer": "",

            "Request-Id": "2019-10-24T13:46:25Z|43bd96b710|192.0.2.0|E04WECJbcY",

            "User-Agent": "curl/7.54.0",

            "X-Client-Ip": "192.0.2.0",

            "X-Country-Code": "US",

            "X-Forwarded-For": "192.0.2.0, 192.0.2.0"

        },

        "httpMethod": "GET",

        "httpVersion": "HTTP/1.1",

        "incidentKey": "2019-10-24T13:46:25Z|43bd96b710|192.0.2.0|E04WECJbcY",

        "logType": "PROTECTION_RULES",

        "protectionRuleDetections": {

            "950002": {

                "Message": "System Command Access. Matched Data: cmd.exe found within ARGS:abc: cmd.exe",

                "Message details": "Access denied with code 403 (phase 2). Pattern match \"\\\\b(?:(?:n(?:map|et|c)|w(?:guest|sh)|telnet|rcmd|ftp)\\\\.exe\\\\b|cmd(?:(?:32)?\\\\.exe\\\\b|\\\\b\\\\W*?\\\\/c))\" at ARGS:abc."

            }

        },

        "requestUrl": "/?abc=cmd.exe",

        "timestamp": "Thu, 24 Oct 2019 13:46:25 GMT",

        "userAgent": "curl/7.54.0"

    }

]

次のリクエストを実行して、clientAddressおよび時間範囲でログをフィルタリングできます:

GET /20181116/waasPolicies/<unique_ID>/wafLogs?clientAddresss=<IP address>&timeObservedGreaterThanOrEqualTo=<timestamp>&timeObservedLessThan=<timestamp>&compartmentId=<unique_ID>

例えば:

GET /20181116/waasPolicies/ocid1.waaspolicy.oc1../wafLogs?clientAddresss=192.0.2.0&timeObservedGreaterThanOrEqualTo=2019-10-24T13:26:47+00:00&timeObservedLessThan=2019-10-24T13:26:56+00:00&compartmentId=ocid1.compartment.oc1..

フィルタされたログについて、次のレスポンス出力が返されます:

[

    {

        "clientAddress": "192.0.2.0",

        "countryName": "Unknown",

        "domain": "example.com",

        "fingerprint": "-",

        "httpHeaders": {

            "Accept": "*/*",

            "Host": "example.com",

            "Referer": "",

            "User-Agent": "curl/7.54.0",

            "X-Client-Ip": "192.0.2.01",

            "X-Country-Code": "AU",

            "X-Forwarded-For": "192.0.2.0, 192.0.2.0"

        },

        "httpMethod": "GET",

        "httpVersion": "1.1",

        "incidentKey": "2019-10-24T13:26:55Z|43bd96b710|192.0.2.0|ytQbBpuerK",

        "logType": "ACCESS",

        "originAddress": "130.35.212.39:80",

        "originResponseTime": "0.2500",

        "requestUrl": "/",

        "responseCode": 200,

        "responseSize": 4978,

        "timestamp": "Thu, 24 Oct 2019 13:26:55 GMT",

        "userAgent": "curl/7.54.0"

    },

    {

        "clientAddress": "192.0.2.0",

        "countryName": "Unknown",

        "domain": "example.com",

        "fingerprint": "-",

        "httpHeaders": {

            "Accept": "*/*",

            "Host": "example.com",

            "Referer": "",

            "User-Agent": "curl/7.54.0",

            "X-Client-Ip": "192.0.2.0",

            "X-Country-Code": "AU",

            "X-Forwarded-For": "192.0.2.0, 192.0.2.0"

        },

        "httpMethod": "GET",

        "httpVersion": "1.1",

        "incidentKey": "2019-10-24T13:26:53Z|4d7583f67c|192.0.2.0|KR8qhtyJnG",

        "logType": "ACCESS",

        "originAddress": "198.51.100.0:24",

        "originResponseTime": "0.5070",

        "requestUrl": "/",

        "responseCode": 200,

        "responseSize": 4978,

        "timestamp": "Thu, 24 Oct 2019 13:26:54 GMT",

        "userAgent": "curl/7.54.0"

    }

]