Tous les produits
Search
Centre de documentation

Web Application Firewall:Recherche de journaux

Dernière mise à jour :Sep 12, 2026

Après avoir activé la collecte de journaux pour un nom de domaine protégé par WAF, utilisez la fonctionnalité de recherche de journaux pour interroger et analyser les données collectées en temps réel. À partir de ces résultats, générez des graphiques, créez des alertes et effectuez d'autres actions.

Prérequis

Interroger et analyser les journaux

  1. Connectez-vous à la console Web Application Firewall (WAF). Dans la barre de menu supérieure, sélectionnez le groupe de ressources et la région de votre instance WAF : Chinese Mainland ou Outside Chinese Mainland.

  2. Dans le volet de navigation de gauche, choisissez Security Operations > Log Service.

  3. Dans la liste déroulante des noms de domaine, sélectionnez le nom de domaine, puis activez l'interrupteur Status.

    La liste déroulante des noms de domaine (① dans l'illustration) contient uniquement les noms de domaine protégés par WAF. Si vous n'avez pas encore ajouté de nom de domaine à WAF, commencez par en ajouter un. Pour plus d'informations, consultez la rubrique Tutoriels.

  4. Sous l'onglet Log Search, utilisez des instructions de recherche et d'analyse pour interroger et analyser les données de journal WAF.

    1. Dans la zone de recherche (① dans l'illustration), saisissez une instruction de recherche.

      Les instructions de recherche utilisent la syntaxe spécifique à Log Service. Pour plus d'informations sur cette syntaxe, consultez la rubrique Syntaxe et fonctions de recherche. Vous pouvez utiliser les champs de journal WAF comme champs de requête dans vos instructions de recherche. Pour obtenir la liste des champs pris en charge, consultez la rubrique Champs de journal WAF.

      Si vous ne maîtrisez pas la syntaxe de recherche, utilisez l'option Advanced Search. Développez l'option Advanced Search située au-dessus de la zone de recherche, définissez les conditions de recherche, puis cliquez sur Search. Une instruction de recherche correspondant à vos conditions est automatiquement générée. Le tableau suivant décrit les conditions de recherche disponibles.

      Condition de recherche

      Description

      IP

      Adresse IP du client.

      Request ID

      ID unique généré par WAF pour une requête client. WAF fournit cet ID lorsqu'il renvoie une page de blocage ou un défi CAPTCHA coulissant. Vous pouvez utiliser cet ID pour résoudre les problèmes.

      Rule ID

      ID de la règle de protection WAF déclenchée par la requête. Vous pouvez trouver les ID de règle sur la page Security Report ou sur la page Systems > Protection Rule Group.

      Status Code Returned from Origin Server

      Code d'état HTTP renvoyé par le serveur d'origine.

      Status Code Returned from WAF

      Code d'état HTTP que WAF renvoie à un client.

      Protection Features

      Type de règle de protection WAF correspondant à la requête. Pour plus d'informations sur les modules de protection WAF et sur la configuration des règles pour chaque module, consultez la rubrique Vue d'ensemble.

    2. Pour analyser statistiquement les résultats de la requête, ajoutez une instruction d'analyse après l'instruction de recherche dans la zone de recherche (① dans l'illustration). Si vous souhaitez uniquement interroger les journaux répondant à des conditions spécifiques, ignorez cette étape.

      Séparez l'instruction d'analyse de l'instruction de recherche par une barre verticale (|). Les instructions d'analyse utilisent la syntaxe SQL-92 standard. Pour plus d'informations sur les instructions d'analyse, consultez la rubrique Vue d'ensemble de l'interrogation et de l'analyse des journaux.

    3. Utilisez le sélecteur de temps (② dans l'illustration) pour spécifier une plage horaire pour l'interrogation des journaux.

    4. Cliquez sur Search & Analyze (③ dans l'illustration).

      Les résultats de l'interrogation et de l'analyse, c'est-à-dire les journaux WAF correspondant à votre requête, s'affichent en bas de la page. Les résultats incluent un histogramme de distribution des journaux, l'onglet Raw Log et l'onglet Graph. Effectuez une analyse rapide, générez des graphiques et créez des alertes à partir des résultats. Pour plus d'informations, consultez les rubriques Gestion des résultats d'interrogation et d'analyse et Création d'une alerte.

    Pour plus d'exemples d'interrogation et d'analyse de journaux, consultez la rubrique Exemples d'interrogation et d'analyse.

Gérer les résultats d'interrogation et d'analyse

Log Service pour WAF affiche les résultats d'interrogation et d'analyse sous forme d'histogramme de journaux, de journaux bruts et de graphiques. Vous pouvez également créer des alertes et exécuter des requêtes rapides.

  • Histogramme de journaux

    L'histogramme de journaux montre la distribution temporelle des journaux interrogés.

    • Survolez une barre verte pour afficher la plage horaire correspondante et le nombre de journaux correspondants.

    • Cliquez sur une barre verte pour afficher une distribution temporelle plus détaillée. L'onglet Raw Log se met également à jour pour afficher les résultats de la plage horaire sélectionnée.

  • Journaux bruts

    Sous l'onglet Raw Log, consultez les résultats détaillés de votre interrogation de journaux.

    • Analyse rapide

      Cliquez sur l'icône 别名 et choisissez d'afficher soit la clé, soit son alias. Vous pouvez configurer des alias lors de la création d'un index. Par exemple, si host est l'alias de host_name, la liste d'analyse rapide affiche host après que vous avez sélectionné Show Field Aliases.

      Remarque

      Si un champ ne possède pas d'alias, sa clé s'affiche dans la liste d'analyse rapide même si vous sélectionnez Show Field Aliases.

      Pour plus d'informations, consultez la rubrique Paramètres de champ.

    • Afficher les détails des journaux

      • Cliquez sur Table pour afficher les journaux sous forme de tableau.

      • Cliquez sur Raw Data pour afficher les journaux bruts.

        • Cliquez sur l'icône 复制 pour copier un journal.

        • Cliquez sur l'icône tag详情 pour afficher les détails des tags.

      • Cliquez sur Wrap pour activer ou désactiver le retour à la ligne automatique pour l'affichage des journaux.

      • Cliquez sur Time pour afficher les journaux par ordre chronologique.

      • Cliquez sur l'icône Download logs pour télécharger les journaux sur votre ordinateur local. Vous pouvez télécharger les journaux directement, via Cloud Shell ou à l'aide d'un outil de ligne de commande. Pour plus d'informations, consultez la rubrique Téléchargement des journaux.

      • Cliquez sur l'icône 设置 pour configurer les options Tag Configurations, Column Settings, JSON Configurations et Event Settings.

  • Graphique

    Sous l'onglet Graph, visualisez les résultats de votre interrogation et de votre analyse. Vous devez saisir une instruction d'analyse SQL-92 dans la zone de recherche pour afficher le graphique correspondant sous cet onglet.

    • Changer le type de graphique : sélectionnez un autre type de graphique pour afficher les résultats de l'analyse. Pour plus d'informations sur les différents types de graphiques, consultez la rubrique Graphiques.

    • Aperçu d'un graphique : après avoir changé le type de graphique, prévisualisez le rendu.

      Cliquez sur Add to New Dashboard pour ajouter le graphique actuel à un tableau de bord. Cliquez sur Download Log pour télécharger les journaux sur votre ordinateur. Choisissez Download, Download with Cloud Shell ou Download with CLI. Pour plus d'informations, consultez la rubrique Téléchargement des journaux.

    • Modifier les configurations du graphique

      Actions

      Description

      Configurations générales

      Configurez les paramètres globaux du graphique. Par exemple, si vous sélectionnez un jeu de couleurs, l'ensemble du graphique utilise ce jeu.

      Configuration des champs

      Configurez des paramètres de visualisation personnalisés pour les résultats d'une seule requête ou d'une seule colonne au sein des résultats. Par exemple, sélectionnez un résultat de requête spécifique, puis appliquez un jeu de couleurs uniquement aux parties correspondantes du graphique.

      Configuration des interactions

      Configurez les interactions pour un seul résultat de requête ou une seule colonne dans un résultat de requête pour une analyse plus approfondie.

  • LogReduce

    Sous l'onglet LogReduce, cliquez sur Enable LogReduce pour regrouper les journaux similaires lors de la collecte des journaux. Pour plus d'informations, consultez la rubrique LogReduce.

Créer une alerte

Créez une alerte basée sur l'instruction de recherche et d'analyse actuelle. Après avoir créé une alerte, Log Service évalue périodiquement les résultats de la requête. Si les résultats remplissent la condition de déclenchement spécifiée, Log Service vous envoie une notification. Cela vous permet de surveiller l'état de votre service en temps réel.

Sur la page d'interrogation et d'analyse, choisissez Save as Alert > New Alert pour créer une alerte basée sur les résultats de la requête. Pour plus d'informations, consultez la rubrique Configuration des alertes.

Exemples d'interrogation et d'analyse

  • Analysez le nombre de requêtes d'attaque bloquées par différents modules de protection WAF à des intervalles de 15 minutes. Les résultats affichent l'heure (time) et le nombre de requêtes bloquées par les modules suivants : le moteur de règles WAF (wafmodule), la liste noire d'adresses IP et les politiques ACL (aclmodule) personnalisées, ainsi que la protection contre les attaques HTTP flood (httpfloodmodule).

    * |
    SELECT
      time_series(__time__, '15m', '%H:%i', '0') as time,
      COUNT_if(final_plugin = 'waf') as "wafmodule",
      COUNT_if(final_plugin = 'acl') as "aclmodule",
      COUNT_if(final_plugin = 'cc') as "httpfloodmodule"
    GROUP by
      time
    ORDER by
      time
  • Analysez la distribution des types de modules de protection (final_plugin) ayant déclenché l'action finale. Les résultats affichent le nombre d'occurrences (times), le nom de domaine demandé (host) et le module de protection final (final_plugin).

    * |
    SELECT
      count(*) as times,
      host,
      final_plugin
    GROUP by
      host,
      final_plugin
    ORDER by
      times desc
  • Analysez les requêtes par seconde (QPS) à des intervalles de 15 minutes. Les résultats affichent l'heure (time) et le QPS.

    * |
    SELECT
      time_series(__time__, '15m', '%H:%i', '0') as time,
      count(*) / 900 as QPS
    GROUP by
      time
    ORDER by
      time
  • Recherchez les noms de domaine les plus fréquemment ciblés par des attaques HTTP flood. Les résultats affichent le nombre de requêtes bloquées (times) et le nom de domaine demandé (host).

    *
    and acl_action :block |
    SELECT
      count(*) as times,
      host
    GROUP by
      host
    ORDER by
      times desc
  • Analysez les détails des journaux de requêtes de site web à des intervalles d'une seconde. Les résultats affichent l'heure (time), le nom de domaine demandé (host), le chemin de la requête (request_path), la méthode de requête (request_method), le code d'état de réponse WAF (status), le code d'état de réponse du serveur d'origine (upstream_status) et la chaîne de requête (querystring).

    * |
    SELECT
      date_format(date_trunc('second', __time__), '%H:%i:%s') as time,
      host,
      request_path,
      request_method,
      status,
      upstream_status,
      querystring
    LIMIT
      10
  • Interrogez les 10 derniers enregistrements de requêtes d'attaque pour un site web (your_domain_name). Les résultats affichent l'heure de la requête (time), l'adresse IP réelle du client (real_client_ip) et le type de client (http_user_agent).

    matched_host: your_domain_name
    and final_action: block |
    SELECT
      time,
      real_client_ip,
      http_user_agent
    ORDER by
      time desc
    LIMIT
      10
  • Analysez le nombre de jours écoulés (days_passed, arrondi à une décimale) depuis qu'une requête d'attaque vers un site web (your_domain_name) a été bloquée par WAF.

    matched_host: your_domain_name
    and final_action: block |
    SELECT
      time,
      round((to_unixtime(now())-__time__) / 86400, 1) as "days_passed",
      real_client_ip,
      http_user_agent
    ORDER by
      time desc
    LIMIT
      10
  • Analysez la tendance quotidienne des requêtes d'attaque vers un site web (your_domain_name).

    matched_host: your_domain_name
    and final_action: block |
    SELECT
      date_trunc('day', __time__) as dt,
      count(1) as PV
    GROUP by
      dt
    ORDER by
      dt

    La fonction date_trunc est utilisée pour regrouper les horodatages par jour. Pour plus d'informations sur cette fonction, consultez la rubrique Fonctions de date et d'heure.

  • Analysez la distribution des pays d'origine (country) des requêtes d'attaque vers un site web (your_domain_name).

    matched_host: your_domain_name
    and final_action: block |
    SELECT
      ip_to_country(
        if(real_client_ip = '-', remote_addr, real_client_ip)
      ) as country,
      count(1) as "Number of attacks"
    GROUP by
      country

    Dans les journaux WAF, le champ real_client_ip représente l'adresse IP réelle du client. Si l'adresse IP réelle du client ne peut pas être obtenue pour des raisons telles que l'accès de l'utilisateur via un serveur proxy ou un champ IP incorrect dans l'en-tête de la requête (auquel cas la valeur de real_client_ip est -), vous pouvez utiliser le champ remote_addr (qui représente l'adresse distante) comme adresse IP réelle du client.

  • Analysez la distribution des provinces d'origine (province) des requêtes d'attaque vers un site web (your_domain_name).

    matched_host: your_domain_name
    and final_action: block |
    SELECT
      ip_to_province(
        if(real_client_ip = '-', remote_addr, real_client_ip)
      ) as province,
      count(1) as "Number of attacks"
    GROUP by
      province

    La fonction ip_to_province récupère les informations de province pour une adresse IP réelle de client. Pour plus d'informations sur cette fonction, consultez la rubrique Fonctions IP.