すべてのプロダクト
Search
ドキュメントセンター

Cloud Firewall:データのクエリと分析

最終更新日:Aug 30, 2024

収集したログデータをリアルタイムで照会および分析することで、ネットワーク活動を監視し、トラフィック例外を特定できます。 これにより、セキュリティ監視機能とセキュリティイベントの応答効率が向上します。 このトピックでは、クエリ文を使用する方法と、クエリ結果を表示および分析する方法について説明します。

文の説明

検索と分析ステートメント

ログ分析のクエリステートメントは、縦棒 (|) で区切られた検索ステートメントと分析ステートメントで構成されます。

Search statement|Analytic statement
  • 検索文は、Simple Log Serviceに固有の構文を使用します。 検索文は、特定の検索条件を満たすログを照会するために使用され、個別に使用できます。 検索文には、キーワード、数値、数値範囲、スペース、およびアスタリスク (*) を含めることができます。 検索文にスペースまたはアスタリスク (*) のみが含まれている場合、すべてのログが照会されます。

    検索は、インデックス方式に基づいて全文検索とフィールド固有検索に分類されます。 詳細については、「検索構文」をご参照ください。

    フルテキスト検索

    キーワードを入力してログを照会できます。 キーワードを二重引用符 ("") で囲み、キーワードを含むログを照会できます。 複数のキーワードを入力する場合は、スペースまたはで区切ることができます。 これにより、キーワードを含むログを照会できます。

    • 複数のキーワードに基づくログの照会

      www.aliyun.compassを含むログを照会できます。

      www.aliyun.com pass

      または

      www.aliyun.com and pass
    • 条件に基づくログの照会

      www.aliyun.comを含み、passまたはtcpを含むログを照会できます。

      www.aliyun.com and (pass or tcp)
    • プレフィックスに基づくログの照会

      www.aliyun.comを含み、tcp_ で始まるログをクエリできます。

      www.aliyun.com and tcp_*
      説明

      アスタリスク (*) はサフィックスとしてのみ追加できます。 アスタリスク (*) はプレフィックスとして追加できません。 たとえば、*_not_establishはサポートされていません。

    フィールド固有の検索

    フィールドとフィールド値に基づいてログを照会できます。 数値フィールドは、Field name: Value または Field name >= Value 形式で指定できます。 この場合、比較はログを照会するために実行される。 演算子を使用して、フィールドの組み合わせを指定することもできます。 演算子には、and orが含まれます。 フィールド固有の検索と全文検索を併用することもできます。

    インデックスをサポートするログ分析のログフィールドの詳細については、「インデックスをサポートするフィールド」をご参照ください。

    • 複数のフィールドに基づくログの照会

      次の条件を使用して、192.XX. XX.22から192.XX. XX.54へのアクセス要求のログを照会できます。

      src_ip: 192.XX.XX.22 and dst_ip: 192.XX.XX.54
    • フィールドの存在に基づくクエリログ

      • cloud_instance_idフィールドを含むログを照会できます。

        cloud_instance_id: *
      • cloud_instance_idフィールドを含まないログを照会できます。

        not cloud_instance_id: *
  • 分析ステートメントは、検索結果のデータを分析し、Logstore内のすべてのデータを分析するために使用されます。 分析ステートメントは、検索ステートメントと一緒に実行する必要があります。 分析ステートメントを指定しない場合、クエリ結果のみが返され、データ分析は実行されません。 分析ステートメントの構文と機能の詳細については、「ログ分析の概要」をご参照ください。

一般的なクエリ文

このセクションでは、Cloud Firewallログの一般的なクエリ文について説明し、例を示します。

トラフィック統計のクエリ文

  • インバウンドトラフィックのログをインターネット経由で内部資産1.2.*.* に照会し、インバウンドトラフィックの合計量とインバウンドパケットの合計数を計算します。

    log_type:internet_log and direction:"in" and dst_ip:1.2.*.* | select sum(in_packet_bytes) as flow, sum(in_packet_count) as packet
  • NATファイアウォールのトラフィック統計を照会し、送信元IPアドレス、送信先IPアドレス、および送信先ポートに基づいて、アセットの上位10個のインバウンドトラフィック量とアウトバウンドトラフィック量を分析します。

    log_type:nat_firewall_log | select src_ip, dst_ip, dst_port, sum(in_packet_bytes) as in_bytes, sum(out_packet_bytes) as out_bytes, sum(total_packet_bytes) as total_bytes group by src_ip, dst_ip, dst_port order by total_bytes desc limit 10

アクセス制御の共通文

  • インターネット経由で内部アセットに対して開始され、アクセス制御ポリシーにヒットするインバウンドトラフィックのログを照会します。

    log_type:internet_log and direction:"in" and not acl_rule_id:00000000-0000-0000-0000-000000000000

    not acl_rule_idフィールドの値のすべての桁が0の場合、アクセス制御ポリシーがヒットします。 そうでない場合、アクセス制御ポリシーはヒットしません。

  • インターネット経由の内部アセットから開始され、アクセス制御ポリシーによってブロックされたアウトバウンドトラフィックのログを照会し、上位10個の宛先IPアドレスと宛先ポートの分布を分析します。

    log_type:internet_log and direction:out and not acl_rule_id:00000000-0000-0000-0000-000000000000 and rule_result:drop | select dst_ip, dst_port, count(*) as cnt group by dst_ip, dst_port order by cnt desc limit 10
  • インターネット経由の内部アセットから開始されたアウトバウンドトラフィックのログを照会し、宛先ポート443、3つ以上のパケット、および未確認のドメイン名を使用します。 パケット数が3より大きい場合、TCPの3ウェイハンドシェイクが完了する。 次に、宛先CIDRブロックとアプリケーション名に基づいて、上位10個の送信元IPアドレス、宛先IPアドレス、およびアプリケーションを分析します。

    log_type:internet_log and direction:out and dst_port:443 and total_packet_count>3 and domain:""| select array_agg(distinct src_ip) as srcip, array_agg(distinct dst_ip) as dstip, slice(split(dst_ip,'.' ,4),1,3) as dstip_c, app_name, COUNT(1) as cnt GROUP by dstip_c,app_name order by cnt desc limit 10

攻撃防止のための一般的な声明

  • インターネット経由で内部アセットに対して開始され、保護ポリシーにヒットするインバウンドトラフィックのログを照会します。

    log_type:internet_log and direction:"in" and not ips_rule_id:00000000-0000-0000-0000-000000000000

    not ips_rule_idフィールドの値のすべての桁が0の場合、保護ポリシーがヒットします。 そうでない場合、保護ポリシーはヒットしません。

  • インターネット経由の内部アセットから開始され、保護ポリシーにヒットするアウトバウンドトラフィックのログを照会します。 次に、IPアドレス、ポート、アプリケーション、ドメイン名、侵入防止システム (IPS) ポリシー、およびポリシーヒット結果に関する情報を取得します。

    log_type:internet_log and direction:out and not ips_rule_id:00000000-0000-0000-0000-000000000000 | select src_ip, dst_ip, dst_port,app_name, domain,ips_rule_id, ips_rule_name, rule_result

手順

  1. Cloud Firewallコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[ログモニタリング] > [ログ分析] を選択します。 [ログ分析] ページで、ログクエリ タブをクリックします。

  3. ログ分析ページのimage右上隅にあるアイコンをクリックします。 [クエリ] タブで、機能を無効にするか、クエリの時間範囲を指定します。 オプションです。 デフォルトでは、ログクエリ タブを開くと、システムは自動的にログクエリを実行し、クエリ結果を表示します。

  4. 検索ボックスにクエリ文を入力します。

    • 検索文は、ログの表示、検索、およびフィルタリングに使用されます。 検索文は単純なクエリのみをサポートします。 検索文を使用して、時間範囲、クエリの種類、キーワードなどの条件を使用して、特定のデータセットを検索できます。 検索文は別に使用できます。 詳細については、「検索構文」をご参照ください。

    • 分析ステートメントは、ログのフィルタリング、変換、計算、および集計に使用されます。 たとえば、分析ステートメントを使用して、特定の期間内の平均値を計算したり、さまざまな期間のデータを比較したりできます。 分析ステートメントは、search statement | analytic statement形式の検索ステートメントと一緒に使用する必要があります。 構文の詳細については、「集計関数」をご参照ください。

  5. クエリまたは分析するデータの時間範囲を指定します。 次のいずれかの方法を使用して、時間範囲を指定できます。 分析ステートメントで時間範囲を指定した場合、その時間範囲はクエリと分析に使用されます。

    重要

    既定では、クエリ文を実行した後、100行のデータのみが返されます。 返されるデータの行数を増やすには、LIMIT句を使用できます。 詳細は、「LIMIT句」をご参照ください。

    • クエリと分析ページの上部で、ドロップダウンリストから時間範囲を選択します。 例: 過去15分

    • 分析ステートメントで、__time__ フィールドを使用して、閉じた時間間隔である時間範囲を指定します。 例: * | SELECT * FROMログWHERE __time __> 1558013658 AND __time __< 1558013660

    • 分析ステートメントで、from_unixtimeまたはto_unixtime関数を使用して、指定された時間の形式を変換します。 例:

      • * | SELECT * FROMログWHERE from_unixtime(__time__) > from_unixtime(1664186624) およびfrom_unixtime(__time__) < now()

      • * | SELECT * FROM log WHERE __time__ > to_unixtime(date_parse('2022-10-19 15:46:05 ', ' % Y-% m-% d % H:% i:% s')) および__time__ < to_unixtime(now())

  6. [検索と分析] をクリックして、クエリと分析結果を表示します。 詳細については、「ログの照会と分析」をご参照ください。

クエリと分析結果の表示

ヒストグラムや [生ログ] タブなどのモジュールに表示されるデータに基づいて、クエリと分析の結果を表示できます。

説明
  • 分析ステートメントでLIMIT句を指定しない場合、100行のデータが返されます。 さらにデータを取得する場合は、LIMIT句を指定します。

  • 次のセクションでは、[ヒストグラム] タブと [生ログ] タブに表示されるデータを表示する方法について説明します。 他のモジュールの詳細については、「ログの照会と分析」をご参照ください。

ヒストグラム

ヒストグラムは、照会されたログの分布を経時的に表示します。

image

  • 緑色の長方形の上にポインターを移動すると、長方形によって表される期間と、その期間内に返されたログの数を表示できます。

  • 緑色の四角形をダブルクリックすると、細かいレベルでログの分布を表示できます。 [Rawログ] タブで、指定された期間内に返されたログを表示することもできます。

Rawログタブ

[生ログ] タブには、ログのクエリと分析結果が表示されます。

image

セクション

説明

1

ログの表示形式と, ログの並び順を切り替えます。

2

アイコンをクリックしimageて、ログをコンピュータにダウンロードするか、ログのダウンロードレコードを表示します。 詳細については、「ログのエクスポート」をご参照ください。

3

  • imageアイコンをクリックし、[JSON設定] をクリックして、JSONデータの表示タイプとJSON拡張のレベルを設定します。

  • imageアイコンをクリックし、[イベント設定] を選択します。 これにより、生ログのドリルダウンイベントを設定できます。 これにより、生ログを効率的に視覚化および管理できます。 詳細は、「イベントの設定」をご参照ください。

4

ログ表示フィールド、インデックスログ、およびシステムフィールドを表示します。

  • [インデックスフィールド] セクションで、フィールドの横にあるimageアイコンをクリックして、フィールドを [表示フィールド] セクションに追加します。 このようにして、フィールドは右側のログに表示されます。

  • [表示フィールド] セクションで、フィールドの横にあるimageアイコンをクリックして、[表示フィールド] セクションからフィールドを削除します。 これにより、フィールドは右側のログに表示されなくなります。

    説明

    [フィールドの表示] セクションにフィールドが追加されていない場合、デフォルトのフィールドが右側のログに表示されます。

  • フィールドの横にあるimageアイコンをクリックして、[基本分布][統計指標] などのフィールドに関する情報を表示します。 詳細については、「クイック分析」をご参照ください。

5

  • [表示フィールド] を指定した後、imageアイコンをクリックして、お気に入りにビューを追加します。 その後、便利な方法でビューを変更できます。

  • imageアイコンをクリックし、[タグ設定] をクリックして、フィールドをシステムタグとして追加します。 システムタグは右側のログの上に表示されます。 例: image

  • imageアイコンをクリックしてエイリアスをオンにします。 エイリアスをオンにすると、フィールドの名前がエイリアスに置き換えられます。 フィールドにエイリアスが指定されていない場合、フィールドの名前が表示されます。 フィールドのエイリアスを指定する方法の詳細については、「インデックスの作成」をご参照ください。

6

ログの詳細を表示します。 ログフィールドの詳細については、「ログフィールド」をご参照ください。

  • アイコンをクリックして、imageログの内容をコピーします。

  • imageアイコンをクリックしてSimple Log Service副操縦士を呼び出し、情報を要約し、ログの内容に基づいてエラー情報を照会します。

  • アイコンをクリックして、imageタグの詳細を表示します。

次に何をすべきか