Journaux

La fonction Journaux affiche l'activité de journalisation et les détails de chaque événement journalisé au cours d'une période donnée. Les journaux permettent de comprendre quelles règles et contre-mesures sont déclenchées par les demandes et servent de base pour passer le traitement des demandes en mode bloc. Les journaux peuvent provenir d'événements de contrôle d'accès, de règle de protection ou de bot.

Remarque

Si vous êtes préoccupé par les exigences relatives au règlement général sur la protection des données (RGPD), vous pouvez désactiver les journaux pour le service WAF. Vous pouvez utiliser My Oracle Support pour enregistrer une demande de service afin de désactiver les journaux.

Lorsque vous utilisez le service WAF, tenez compte des informations suivantes :

  • La stratégie de conservation de journal pour le service WAF est de sept jours. Toutefois, vous pouvez demander à configurer un bucket S3 et y transmettre un plus grand nombre de journaux. Les journaux du bucket peuvent être conservés aussi longtemps que vous le souhaitez.
  • Seuls les buckets OCI Standard sont pris en charge. Le niveau de stockage Archive n'est pas pris en charge.
  • La transmission de journaux à ELK Stack est uniquement prise en charge pour les buckets OCI et S3. Les journaux bruts sont envoyés vers les buckets. A partir des buckets, vous pouvez les implémenter dans Elasticsearch.

Visualisation des journaux

Décrit les différentes méthodes d'affichage des journaux d'une stratégie en périphérie.

Vous pouvez filtrer les journaux selon les types suivants :

  • Règles d'accès

  • Question de vérification CAPTCHA

  • Question de vérification JavaScript

  • Règles de protection

  • Question de vérification avec interaction humaine

  • Question de vérification avec empreinte d'appareil

  • Flux d'informations sur les menaces

  • Limitation de débit d'adresse

  • Accès

Utilisez l'une des méthodes suivantes pour afficher les journaux d'une stratégie en périphérie.

    1. Ouvrez le menu de navigation et cliquez sur Identité et sécurité. Sous Web Application Firewall, cliquez sur Stratégies.

      Vous pouvez également ouvrir la page Web Application Firewall et cliquer sur Stratégies sous Ressources.

      La page Stratégies WAF apparaît.

    2. Sélectionnez le compartiment dans la liste.

      Toutes les stratégies WAF de ce compartiment sont répertoriées sous forme tabulaire.

    3. (Facultatif) Appliquez les filtres suivants pour limiter le nombre de stratégies WAF affichées :
      • Nom

      • Type de stratégie

      • Statut

    4. Sélectionnez la stratégie en périphérie dont vous voulez afficher les journaux.
      La boîte de dialogue Détails de la stratégie en périphérie apparaît.
    5. Cliquez sur Journaux sous Ressources.

      La liste Journaux s'affiche.

    6. (Facultatif) Renseignez les filtres suivants pour limiter les informations de journal aux valeurs saisies :
      • Date de début

      • Heure de début

      • Date de fin

      • Heure de fin

      • URL de demande

      • Adresse IP client

      • Nom de pays

    7. (Facultatif) Cochez les filtres Action suivants pour limiter les informations de journal aux options sélectionnées :
      • Détecter

      • Bloquer

      • Ignorer

      • Journal

      • Redirigé

    8. (Facultatif) Cochez les filtres Type de journal suivants pour limiter les informations de journal aux options sélectionnées :
      • Règles d'accès

      • Question de vérification CAPTCHA

      • JavaScript défi

      • Règles de protection

      • Questionnaire d'interaction humaine

      • Question de vérification avec empreinte d'appareil

      • Flux d'informations sur les menaces

      • Limitation de débit d'adresse

      • Accès

      Seules les informations de journal contenant les actions sélectionnées sont affichées.

    9. Cliquez sur le signe plus en regard du type d'alerte à afficher.
    Les entrées de journal sont affichées en fonction des options choisies.
  • Cette tâche ne peut pas être effectuée à l'aide de l'interface de ligne de commande.

  • Exécutez l'opération ListWafLogs pour visualiser l'activité de journalisation.

    Vous pouvez filtrer les journaux selon les options logType suivantes :

    • ACCESS_RULES

    • CAPTCHA_CHALLENGE

    • JAVASCRIPT_CHALLENGE

    • PROTECTION_RULES

    • HUMAN_INTERACTION_CHALLENGE

    • DEVICE_FINGERPRINT_CHALLENGE

    • THREAT_INTELLIGENCE_FEEDS

    • ADDRESS_RATE_LIMITING

    • ACCESS

    Les journaux peuvent être filtrés sur une valeur logType via la demande suivante :

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

    Par exemple :

    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..

    La sortie de réponse suivante est renvoyée pour les journaux filtrés :

    [
        {
            "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"
        }
    ]
    

Transmission de journaux WAF vers Object Storage

Explique comment transmettre des journaux WAF vers un bucket de stockage d'objet pour un stockage et un accès à plus long terme.

Cette tâche nécessite la création d'un bucket de stockage d'objet ou l'utilisation d'un bucket existant. Familiarisez-vous avec les buckets de stockage d'objet, notamment leur création et leur gestion, avant de passer à la transmission de données de journal WAF. Reportez-vous à Buckets Object Storage.

Le délai de conservation des journaux WAF est limité. Pour les conserver indéfiniment, vous pouvez transmettre les données de journal WAF vers un bucket de stockage d'objet de votre location. Commencez par créer et configurer le bucket de stockage d'objet, puis soumettez à Oracle une demande d'assistance avec les informations requises pour que les journaux WAF soient transmis vers le bucket.

  1. Accédez au service Object Storage et créez un bucket avec des droits d'accès manage-object-family.

    Seuls les buckets de stockage d'objet Standard sont pris en charge. Le niveau de stockage Archive n'est pas pris en charge. Choisissez des clés gérées par Oracle ou par l'utilisateur. Les clés gérées par l'utilisateur doivent se trouver dans KMS. Pour plus d'informations, reportez-vous à Buckets Object Storage.

  2. Définissez la visibilité du bucket sur Public.
  3. Créez ou configurez un utilisateur avec une clé secrète client.

    WAF a besoin d'une clé et d'une clé secrète pour s'authentifier auprès du bucket OCI en vue de l'écriture. La clé est associée à un utilisateur. Cet utilisateur doit disposer de droits d'accès en écriture sur le bucket des journaux WAF. Enregistrez la clé et la clé secrète d'accès de l'utilisateur et stockez-les dans un emplacement d'enregistrement.

  4. Ajoutez un utilisateur à un groupe et créez une stratégie d'identité afin d'accorder au groupe des droits d'accès lui permettant d'écrire dans le bucket.

    Par exemple, si le bucket se trouve dans le compartiment MSSpoc et que le nom de groupe est wafBucketLogGroup, l'instruction d'identité doit être la suivante :

    allow group wafBucketLogGroup to manage object-family in compartment MSSpoc

    La stratégie est créée dans le compartiment MSSpoc.

  5. Créez dans le bucket un fichier qui inclut les informations d'identification suivantes :
    • Application Web (nom de domaine de la stratégie WAF) :

    • SecretKey:

    • AccessKey:

    • Valeur bucket_region Object Storage :

    • Valeur bucket_name Object Storage :

    • espace de noms :

    • URL endpoint : https://espacedenoms.compat.objectstorage.région.oraclecloud.com

    • Préfixe de téléchargement (format de fichier des journaux. La valeur par défaut est %{[webapp_domain]}_/%{+YYYY}/%{+MM}/%{+dd}) :

    Remarque

    Tous les journaux de l'application Web (autres domaines compris) sont placés dans un dossier unique nommé en fonction du domaine principal. Vous ne pouvez pas définir la transmission de journaux uniquement pour le domaine principal ou pour le domaine supplémentaire.

  6. Créez une demande pré-authentifiée pour un objet spécifique comme suit :
    1. Ouvrez le menu de navigation et cliquez sur Stockage. Sous Object Storage et Archive Storage, cliquez sur Buckets.
    2. Choisissez le compartiment où se trouve le bucket.
    3. Cliquez sur le nom du bucket.
    4. Cliquez sur Objets sous Ressources pour afficher la liste des objets.
    5. Sélectionnez le fichier contenant les informations d'identification de bucket, puis cliquez sur Demandes pré-authentifiées sous Ressources.
    6. Cliquez sur Créer une demande pré-authentifiée.
  7. Créez une demande d'assistance Oracle (My Oracle Support) pour que les journaux WAF soient transmis vers le bucket de stockage d'objet. La demande d'assistance doit comporter l'URL de la demande pré-authentifiée avec le fichier créé contenant les informations d'identification de bucket.

    Seuls les buckets OCI Standard sont pris en charge. Le niveau de stockage Archive n'est pas pris en charge.