Collecter les journaux Cloudflare

Compatible avec:

Présentation

Cet analyseur gère différents types de journaux Cloudflare (DNS, HTTP, audit, Zero Trust, CASB). Il normalise d'abord les champs courants, puis applique une logique conditionnelle basée sur des champs spécifiques tels que QueryName (Nom de la requête), Action (Action) et ID (ID) pour extraire et mapper les données pertinentes sur l'UDM. Il effectue également des conversions de types de données, des correspondances grok pour les adresses IP et les hachages, et gère les charges utiles JSON imbriquées.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google SecOps.
  • Assurez-vous de disposer d'un accès privilégié à Google Cloud IAM.
  • Assurez-vous de disposer d'un accès privilégié à Google Cloud Storage.
  • Assurez-vous de disposer d'un accès privilégié à Cloudflare.

Créer un bucket Google Cloud Storage

  1. Se connecter à la console Google Cloud
  2. Accédez à la page Buckets Cloud Storage.

    Accéder à la page "Buckets"

  3. Cliquez sur Créer.

  4. Sur la page Créer un bucket, saisissez les informations concernant votre bucket. Après chacune de ces étapes, cliquez sur Continuer pour passer à l'étape suivante:

    1. Dans la section Premiers pas, procédez comme suit :

      1. Saisissez un nom unique qui répond aux exigences de dénomination des buckets (par exemple, cloudflare-data).
      2. Pour activer l'espace de noms hiérarchique, cliquez sur la flèche d'expansion pour développer la section Optimiser pour les charges de travail orientées fichiers et à forte intensité de données, puis sélectionnez Activer l'espace de noms hiérarchique sur ce bucket.
      1. Pour ajouter une étiquette de bucket, cliquez sur la flèche de développement pour développer la section Étiquettes.
      2. Cliquez sur Ajouter un libellé, puis spécifiez une clé et une valeur pour votre libellé.
    2. Dans la section Choisir l'emplacement de stockage de vos données, procédez comme suit :

      1. Sélectionnez un type d'emplacement.
      2. Utilisez le menu déroulant du type d'emplacement pour sélectionner un emplacement où les données d'objets de votre bucket seront stockées de manière permanente.
        1. Si vous sélectionnez le type d'emplacement birégional, vous pouvez également choisir d'activer la réplication turbo à l'aide de la case à cocher correspondante.
      3. Pour configurer la réplication entre buckets, développez la section Configurer la réplication entre buckets.
    3. Dans la section Choisir une classe de stockage pour vos données, sélectionnez une classe de stockage par défaut pour le bucket, ou bien classe automatique pour une gestion automatique des classes de stockage des données de votre bucket.

    4. Dans la section Choisir comment contrôler l'accès aux objets, sélectionnez non pour appliquer la protection contre l'accès public, puis sélectionnez un modèle de contrôle des accès pour les objets de votre bucket.

    5. Dans la section Choisir comment protéger les données d'objet, procédez comme suit:

      1. Sélectionnez l'une des options sous Protection des données que vous souhaitez définir pour votre bucket.
      2. Pour choisir comment vos données d'objet seront chiffrées, cliquez sur la flèche d'expansion intitulée Chiffrement des données, puis sélectionnez une méthode de chiffrement des données.
  5. Cliquez sur Créer.

Créer un compte de service Google Cloud

  1. Accédez à IAM et administration > Comptes de service.
  2. Créez un compte de service.
  3. Attribuez-lui un nom descriptif (par exemple, cloudflare-logs).
  4. Attribuez au compte de service le rôle Créateur d'objets de stockage sur le bucket GCS que vous avez créé à l'étape précédente.
  5. Créez une clé SSH pour le compte de service.
  6. Téléchargez un fichier de clé JSON pour le compte de service. Conservez ce fichier dans un endroit sécurisé.

Activer l'IAM Cloudflare pour Google Cloud Storage

  1. Accédez à Storage (Stockage) > Browser (Navigateur) > Bucket (Bucket) > Permissions (Autorisations).
  2. Ajoutez le membre logpush@cloudflare-data.iam.gserviceaccount.com avec l'autorisation Administrateur des objets de l'espace de stockage.

Configurer un flux dans Google SecOps pour ingérer les journaux Cloudflare

  1. Accédez à Paramètres du SIEM > Flux.
  2. Cliquez sur Ajouter.
  3. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux Cloudflare).
  4. Sélectionnez Google Cloud Storage comme Type de source.
  5. Sélectionnez Cloudflare comme Type de journal.
  6. Cliquez sur Obtenir un compte de service comme compte de service Chronicle.
  7. Cliquez sur Suivant.
  8. Spécifiez les valeurs des paramètres d'entrée suivants:

    • URI du bucket Storage: URL du bucket Google Cloud Storage au format gs://my-bucket/<value>.
    • Un URI est: sélectionnez Un répertoire qui inclut des sous-répertoires.
    • Options de suppression de la source: sélectionnez l'option de suppression de votre choix.
  9. Cliquez sur Suivant.

  10. Vérifiez la configuration de votre nouveau flux dans l'écran Finaliser, puis cliquez sur Envoyer.

Configurer Cloudflare pour envoyer des journaux à Google Cloud Storage

  1. Connectez-vous au tableau de bord Cloudflare.
  2. Sélectionnez le compte ou domaine d'entreprise (également appelé zone) que vous souhaitez utiliser avec Logpush.
  3. Accédez à Données analytiques et journaux > Logpush.
  4. Sélectionnez Créer une tâche Logpush.
  5. Dans Sélectionner une destination, sélectionnez Google Cloud Storage.
  6. Saisissez ou sélectionnez les informations de destination suivantes:

    • Bucket: nom du bucket GCS
    • Path (Chemin d'accès) : emplacement du bucket dans le conteneur de stockage
    • Case à cocher: organiser les journaux dans des sous-dossiers quotidiens (recommandé)
  7. Cliquez sur Continuer.

  8. Validation de la propriété:

    1. Cloudflare enverra un fichier dans votre bucket.
    2. Copiez et collez le jeton :
      1. Connectez-vous à la console Google Cloud > Stockage > Bucket Cloudflare.
      2. Ouvrez le fichier de contestation de propriété.
      3. Copiez le jeton de propriété.
      4. Saisissez le jeton de propriété dans la console Cloudflare.
      5. Cliquez sur Continuer.
    3. Sélectionnez l'ensemble de données à transférer vers le bucket.
  9. Configurez la tâche logpush:

    1. Saisissez le nom de la tâche.
    2. Sous Si les journaux correspondent, vous pouvez sélectionner les événements à inclure et/ou à supprimer de vos journaux.
    1. Envoyer les champs suivants: sélectionnez l'option Transmettre tous les journaux ou choisissez les journaux que vous souhaitez transmettre.
  10. Sélectionnez Envoyer pour finaliser la configuration.

Tableau de mappage UDM

Champ de journal Mappage UDM Logique
AccountID target.resource.id, target.resource.product_object_id ID du compte associé à l'événement.
Action security_result.action Action effectuée en fonction de l'événement. allow ou allowed* génère ALLOW. unknown génère UNKNOWN_ACTION. Les autres valeurs renvoient BLOCK. Pour les journaux d'accès, login est mappé sur USER_LOGIN, logout sur USER_LOGOUT et les autres valeurs sur USER_RESOURCE_ACCESS si une adresse e-mail est présente.
ActionResult security_result.action Si la valeur est true, elle est mappée sur ALLOW. Si la valeur est false, elle est mappée sur BLOCK. Sinon, il est mappé sur UNKNOWN_ACTION.
ActionType security_result.description Description de l'action effectuée.
ActorEmail principal.user.email_addresses Adresse e-mail de l'acteur à l'origine de l'événement.
ActorID principal.user.product_object_id ID de l'acteur à l'origine de l'événement.
ActorIP principal.ip, principal.asset.ip Adresse IP de l'acteur à l'origine de l'événement.
Allowed security_result.action Si la valeur est true, elle est mappée sur ALLOW. Sinon, il est mappé sur BLOCK.
AppDomain target.administrative_domain Domaine de l'application impliquée dans l'événement.
AppUUID target.resource.product_object_id UUID de l'application impliquée dans l'événement.
AssetDisplayName principal.asset.attribute.labels.value où la clé est AssetDisplayName Nom à afficher de l'asset.
AssetExternalID principal.asset_id (avec le préfixe "Cloudflare:") ID externe de l'élément.
AssetLink principal.url Lien associé à l'élément.
AssetMetadata.agreedToTerms principal.user.attribute.labels.value où la clé est agreedToTerms Indique si l'utilisateur a accepté les conditions.
AssetMetadata.changePasswordAtNextLogin principal.user.attribute.labels.value où la clé est changePasswordAtNextLogin Indique si l'utilisateur doit modifier son mot de passe lors de sa prochaine connexion.
AssetMetadata.clientId principal.user.userid ID client à partir des métadonnées de l'élément.
AssetMetadata.customerId principal.user.userid Numéro client à partir des métadonnées de l'élément.
AssetMetadata.familyName principal.user.last_name Nom de famille de l'utilisateur à partir des métadonnées de l'élément.
AssetMetadata.givenName principal.user.first_name Prénom de l'utilisateur à partir des métadonnées de l'élément.
AssetMetadata.includeInGlobalAddressList principal.user.attribute.labels.value où la clé est includeInGlobalAddressList Indique si l'utilisateur est inclus dans la liste d'adresses globale.
AssetMetadata.ipWhitelisted principal.user.attribute.labels.value où la clé est ipWhitelisted Indique si l'adresse IP de l'utilisateur figure sur la liste blanche.
AssetMetadata.isAdmin principal.user.attribute.labels.value où la clé est isAdmin Indique si l'utilisateur est un administrateur.
AssetMetadata.isDelegatedAdmin principal.user.attribute.labels.value où la clé est isDelegatedAdmin Indique si l'utilisateur est un administrateur délégué.
AssetMetadata.isEnforcedIn2Sv principal.user.attribute.labels.value où la clé est isEnforcedIn2Sv Indique si la validation en deux étapes est appliquée pour l'utilisateur.
AssetMetadata.isEnrolledIn2Sv principal.user.attribute.labels.value où la clé est isEnrolledIn2Sv Indique si l'utilisateur est inscrit ou non à la validation en deux étapes.
AssetMetadata.kind (Non mappé) Non mappé sur l'objet IDM.
AssetMetadata.lastLoginTime principal.user.attribute.labels.value où la clé est lastLoginTime Heure de la dernière connexion de l'utilisateur.
AssetMetadata.login principal.user.userid Nom d'utilisateur à partir des métadonnées de l'asset.
AssetMetadata.name.familyName principal.user.last_name Nom de famille à partir des métadonnées de l'asset.
AssetMetadata.name.fullName principal.user.user_display_name Nom complet à partir des métadonnées de l'asset.
AssetMetadata.name.givenName principal.user.first_name Prénom indiqué dans les métadonnées de l'asset.
AssetMetadata.nativeApp security_result.detection_fields.value où la clé est nativeApp Indique si l'application est native.
AssetMetadata.owner.id principal.user.userid ID du propriétaire à partir des métadonnées de l'élément.
AssetMetadata.primaryEmail principal.user.email_addresses Adresse e-mail principale provenant des métadonnées de l'élément.
AssetMetadata.scopes (Non mappé) Non mappé sur l'objet IDM.
AssetMetadata.site_admin principal.user.attribute.labels.value où la clé est site_admin Indique si l'utilisateur est un administrateur du site.
AssetMetadata.suspended principal.user.attribute.labels.value où la clé est suspended Indique si l'utilisateur est suspendu.
AssetMetadata.url principal.url URL des métadonnées de l'élément.
AssetMetadata.userKey principal.user.attribute.labels.value où la clé est userKey Clé utilisateur à partir des métadonnées de l'élément.
BlockedFileHash target.file.md5, target.file.sha1, target.file.sha256 Sommes de contrôle du fichier bloqué. Analyse avec grok pour extraire md5, sha1 ou sha256.
BlockedFileName security_result.about.file.full_path Nom du fichier bloqué.
BlockedFileReason security_result.summary Motif du blocage du fichier.
BlockedFileSize target.file.size Taille du fichier bloqué.
BotScore security_result.detection_fields.value où la clé est BotScore Score de bot attribué à la requête.
BytesReceived network.received_bytes Nombre d'octets reçus.
BytesSent network.sent_bytes Nombre d'octets envoyés.
CacheCacheStatus additional.fields.value.string_value où la clé est CacheCacheStatus État du cache.
CacheResponseBytes additional.fields.value.string_value où la clé est CacheResponseBytes Nombre d'octets dans la réponse mise en cache.
CacheResponseStatus additional.fields.value.string_value où la clé est CacheResponseStatus Code d'état de la réponse mise en cache.
ClientASN (Non mappé) Non mappé sur l'objet IDM.
ClientCountry principal.location.country_or_region Pays du client.
ClientDeviceType additional.fields.value.string_value où la clé est ClientDeviceType Type de l'appareil client.
ClientIP principal.ip, principal.asset.ip Adresse IP du client.
ClientRequestMethod network.http.method Méthode de requête HTTP utilisée par le client.
ClientRequestHost target.hostname, target.asset.hostname Nom d'hôte demandé par le client.
ClientRequestPath (Non mappé) Non mappé sur l'objet IDM.
ClientRequestProtocol network.application_protocol Protocole utilisé dans la requête client (par exemple, HTTP, HTTPS). La version du protocole est supprimée.
ClientRequestReferer network.http.referral_url URL de provenance de la requête client.
ClientRequestURI target.url (associé à ClientRequestHost, le cas échéant) URI demandé par le client.
ClientRequestUserAgent network.http.user_agent User-agent de la requête client. Il est également analysé et mappé sur network.http.parsed_user_agent.
ClientSSLCipher network.tls.cipher Algorithme de chiffrement SSL utilisé par le client.
ClientSSLProtocol network.tls.version Protocole SSL utilisé par le client.
ClientSrcPort principal.port Port source du client.
ClientTCPHandshakeDurationMs additional.fields.value.string_value où la clé est ClientTCPHandshakeDurationMs Durée du handshake TCP client.
ClientTLSHandshakeDurationMs additional.fields.value.string_value où la clé est ClientTLSHandshakeDurationMs Durée du handshake TLS client.
ClientTLSVersion network.tls.version Version TLS utilisée par le client.
ColoID (Non mappé) Non mappé sur l'objet IDM.
Connection target.resource.attribute.labels.value où la clé est Connection Type de connexion (par exemple, SAML)
ConnectionCloseReason additional.fields.value.string_value où la clé est ConnectionCloseReason Motif de la fermeture de la connexion.
ConnectionReuse additional.fields.value.string_value où la clé est ConnectionReuse Indique si la réutilisation de la connexion s'est produite.
Country target.location.country_or_region Pays associé à l'événement.
CreatedAt metadata.event_timestamp Code temporel de création de l'événement.
Datetime metadata.event_timestamp Date et heure de l'événement.
DestinationIP target.ip, target.asset.ip Adresse IP de destination.
DestinationPort target.port Port de destination.
DestinationTunnelID additional.fields.value.string_value où la clé est DestinationTunnelID ID du tunnel de destination.
DeviceID principal.asset_id (avec le préfixe "Cloudflare:") ID de l'appareil.
DeviceName principal.hostname, principal.asset.hostname, principal.asset.attribute.labels.value, où la clé est DeviceName Nom de l'appareil.
DownloadedFileNames security_result.about.labels.value où la clé est DownloadFileNames Noms des fichiers téléchargés.
DstIP target.ip, target.asset.ip Adresse IP de destination.
DstPort target.port Port de destination.
EdgeColoCode additional.fields.value.string_value où la clé est EdgeColoCode Code de l'emplacement de point de terminaison Cloudflare.
EdgeColoID additional.fields.value.string_value où la clé est EdgeColoID ID de l'emplacement de point de terminaison Cloudflare.
EdgeEndTimestamp (Non mappé) Non mappé sur l'objet IDM.
EdgeResponseBytes network.received_bytes Nombre d'octets dans la réponse du point de terminaison.
EdgeResponseContentType target.file.mime_type Type de contenu de la réponse de l'edge.
EdgeResponseStatus network.http.response_code Code d'état de la réponse du point de terminaison.
EdgeServerIP target.ip, target.asset.ip Adresse IP du serveur de bord.
EdgeStartTimestamp metadata.event_timestamp Code temporel du début de la requête au niveau du point de terminaison.
Email principal.user.email_addresses, target.user.email_addresses Adresse e-mail associée à l'événement.
EgressColoName additional.fields.value.string_value où la clé est EgressColoName Nom du centre de données de sortie.
EgressIP principal.ip, principal.asset.ip Adresse IP de sortie. Définit network.direction sur OUTBOUND.
EgressPort principal.port Port de sortie.
EgressRuleID additional.fields.value.string_value où la clé est EgressRuleID ID de la règle de sortie.
EgressRuleName additional.fields.value.string_value où la clé est EgressRuleName Nom de la règle de sortie.
FindingTypeDisplayName security_result.description Nom à afficher du type de résultat.
FindingTypeID security_result.rule_id ID du type de résultat.
FindingTypeSeverity security_result.severity Gravité du type de résultat.
FirewallMatchesActions security_result.action Actions effectuées par les règles de pare-feu. allow, Allow, ALLOW, skip, SKIP, Skip sont mappés sur ALLOW. challengeSolved et jschallengeSolved correspondent à ALLOW_WITH_MODIFICATION. drop et block correspondent à BLOCK. Les autres valeurs sont mappées sur UNKNOWN_ACTION.
FirewallMatchesRuleIDs security_result.rule_id (pour le premier ID), les ID suivants créent des objets security_result. ID des règles de pare-feu correspondantes.
FirewallMatchesSources security_result.rule_name Sources des règles de pare-feu qui correspondent.
HTTPHost target.hostname Hôte HTTP.
HTTPMethod network.http.method Méthode HTTP.
HTTPVersion network.application_protocol Si la valeur contient "HTTP", définit network.application_protocol sur HTTP.
ID metadata.product_log_id ID de l'événement.
IngressColoName additional.fields.value.string_value où la clé est IngressColoName Nom du centre de données d'entrée.
InstanceID principal.resource.product_object_id ID de l'instance.
IntegrationDisplayName additional.fields.value.string_value où la clé est IntegrationDisplayName Nom à afficher de l'intégration.
IntegrationID metadata.product_deployment_id ID de l'intégration.
IntegrationPolicyVendor additional.fields.value.string_value où la clé est IntegrationPolicyVendor Fournisseur de la règle d'intégration.
IPAddress target.ip, target.asset.ip Adresse IP associée à l'événement.
IsIsolated about.labels.value où la clé est IsIsolated, security_result.about.resource.attribute.labels.value où la clé est IsIsolated Indique si l'événement est isolé.
Location principal.location.name Lieu associé à l'événement.
NewValue security_result.about.labels.value où la clé est NewValue Nouvelle valeur après une mise à jour.
Offramp additional.fields.value.string_value où la clé est Offramp Sortie utilisée dans la connexion.
OldValue security_result.about.labels.value où la clé est OldValue Ancienne valeur avant une mise à jour.
OriginIP intermediary.ip, target.ip, target.asset.ip Adresse IP d'origine.
OriginPort target.port Port d'origine.
OriginResponseBytes additional.fields.value.string_value où la clé est OriginResponseBytes Nombre d'octets dans la réponse d'origine.
OriginResponseStatus additional.fields.value.string_value où la clé est OriginResponseStatus Code d'état de la réponse d'origine.
OriginResponseTime additional.fields.value.string_value où la clé est OriginResponseTime Temps de réponse de l'origine.
OriginSSLProtocol (Non mappé) Non mappé sur l'objet IDM.
OriginTLSCertificateIssuer additional.fields.value.string_value où la clé est OriginTLSCertificateIssuer Émetteur du certificat TLS d'origine.
OriginTLSCertificateValidationResult additional.fields.value.string_value où la clé est OriginTLSCertificateValidationResult Résultat de la validation du certificat TLS d'origine.
OriginTLSCipher additional.fields.value.string_value où la clé est OriginTLSCipher Algorithme de chiffrement utilisé dans la connexion TLS d'origine.
OriginTLSHandshakeDurationMs additional.fields.value.string_value où la clé est OriginTLSHandshakeDurationMs Durée du handshake TLS d'origine.
OriginTLSVersion additional.fields.value.string_value où la clé est OriginTLSVersion Version TLS utilisée par l'origine.
OwnerID target.user.product_object_id ID du propriétaire.
Policy security_result.rule_name Règle associée à l'événement.
PolicyID security_result.rule_id ID de la stratégie.
PolicyName security_result.rule_name Nom de la stratégie
Protocol network.application_protocol, network.ip_protocol Protocole utilisé dans la connexion. Si la valeur n'est pas "tls" ou "TLS", elle est convertie en majuscules et mappée sur network.application_protocol. Sinon, il est analysé à l'aide d'un fichier d'inclusion et mappé sur network.ip_protocol.
PurposeJustificationPrompt (Non mappé) Non mappé sur l'objet IDM.
PurposeJustificationResponse (Non mappé) Non mappé sur l'objet IDM.
QueryCategoryIDs security_result.about.labels.value, security_result.about.resource.attribute.labels.value où la clé est QueryCategoryIDs ID des catégories de requêtes.
QueryName network.dns.questions.name Nom de la requête DNS. Définit metadata.event_type sur NETWORK_DNS et network.application_protocol sur DNS.
QueryNameReversed network.dns.questions.name Nom inversé de la requête DNS.
QuerySize network.sent_bytes Taille de la requête.
QueryType network.dns.questions.type Type de la requête DNS. Correspond à des valeurs numériques en fonction des codes de type de requête DNS.
RData network.dns.answers.type, network.dns.answers.data Données d'enregistrement DNS. Chaque élément du tableau RData crée un objet answer.
RayID metadata.product_log_id ID de rayon associé à la requête.
Referer network.http.referral_url URL de provenance.
RequestID metadata.product_log_id ID de la requête.
ResolverDecision security_result.summary Décision prise par le résolveur.
ResourceID target.resource.id, target.resource.product_object_id ID de la ressource.
ResourceType target.resource.resource_subtype Type de la ressource.
RuleEvaluationDurationMs additional.fields.value.string_value où la clé est RuleEvaluationDurationMs Durée de l'évaluation des règles.
SNI network.tls.client.server_name Indication du nom du serveur (SNI) dans le message "hello" du client TLS.
SecurityAction security_result.action Action de sécurité prise. Une valeur vide ou l'absence de SecurityAction est mappée sur ALLOW. challengeSolved ou jschallengeSolved correspond à ALLOW_WITH_MODIFICATION. drop ou block correspond à BLOCK.
SecurityLevel security_result.severity Niveau de sécurité. high correspond à HIGH, med à MEDIUM et low à LOW.
SessionEndTime additional.fields.value.string_value où la clé est SessionEndTime Heure de fin de la session.
SessionID network.session_id ID de la session.
SessionStartTime metadata.event_timestamp Heure de début de la session.
SourceIP principal.ip, principal.asset.ip, src.ip, src.asset.ip Adresse IP source.
SourcePort principal.port, src.port Port source
SrcIP principal.ip, principal.asset.ip Adresse IP source.
SrcPort principal.port Port source
TemporaryAccessDuration network.session_duration.seconds Durée de l'accès temporaire.
Timestamp metadata.event_timestamp Code temporel de l'événement.
Transport network.ip_protocol Protocole de transport. Converti en majuscules et analysé à l'aide d'un fichier d'inclusion.
UploadedFileNames security_result.about.labels.value où la clé est UploadedFileNames Noms des fichiers importés.
URL target.url URL impliquée dans l'événement.
UserAgent network.http.user_agent Chaîne user-agent. Il est également analysé et mappé sur network.http.parsed_user_agent.
UserID principal.user.product_object_id, event.idm.read_only_udm.target.user.product_object_id ID de l'utilisateur.
UserUID target.user.product_object_id UID de l'utilisateur.
VirtualNetworkID principal.resource.product_object_id ID du réseau virtuel.
WAFAction security_result.about.labels.value où la clé est WAFAction Action effectuée par le pare-feu d'application Web (WAF).
WAFAttackScore security_result.about.resource.attribute.labels.value où la clé est WAFAttackScore Score d'attaque attribué par le WAF.
WAFFlags security_result.about.resource.attribute.labels.value où la clé est WAFFlags Options WAF
WAFMatchedVar (Non mappé) Non mappé sur l'objet IDM.
WAFProfile security_result.about.labels.value où la clé est WAFProfile Profil WAF
WAFRCEAttackScore security_result.about.resource.attribute.labels.value où la clé est WAFRCEAttackScore Score d'attaque par exécution de code à distance (RCE) du WAF
WAFRuleID security_result.threat_id, security_result.about.labels.value où la clé est WAFRuleID ID de la règle WAF.
WAFRuleMessage security_result.rule_name, security_result.threat_name Message associé à la règle WAF.
WAFSQLiAttackScore security_result.about.resource.attribute.labels.value où la clé est WAFSQLiAttackScore Score d'attaque par injection SQL du WAF.
WAFXSSAttackScore security_result.about.resource.attribute.labels.value où la clé est WAFXSSAttackScore Score d'attaque par script intersites (XSS) du WAF.
ZoneID additional.fields.value.string_value où la clé est ZoneID ID de zone.
event.idm.read_only_udm.metadata.event_type metadata.event_type Type de l'événement. Défini par l'analyseur en fonction des données du journal. La valeur par défaut est GENERIC_EVENT si elle n'est pas définie ou si un événement NETWORK_DNS n'a pas de principal ni de cible. Il peut s'agir de NETWORK_DNS, NETWORK_CONNECTION, USER_LOGIN, USER_LOGOUT, USER_RESOURCE_ACCESS, USER_RESOURCE_UPDATE_CONTENT ou GENERIC_EVENT.
event.idm.read_only_udm.metadata.log_type metadata.log_type Type de journal, défini sur "CLOUDFLARE".
event.idm.read_only_udm.metadata.product_deployment_id metadata.product_deployment_id ID de déploiement du produit.
event.idm.read_only_udm.metadata.product_log_id metadata.product_log_id ID de journal du produit.
event.idm.read_only_udm.metadata.product_name metadata.product_name Nom du produit. Défini par l'analyseur en fonction des données du journal. Peut être "Cloudflare Gateway DNS", "Cloudflare Gateway HTTP", "Cloudflare Audit" ou "Web Application Firewall".
event.idm.read_only_udm.metadata.vendor_name metadata.vendor_name Nom du fournisseur, défini sur "Cloudflare".
event.idm.read_only_udm.metadata.event_timestamp metadata.event_timestamp Code temporel de l'événement.
event.idm.read_only_udm.network.application_protocol network.application_protocol Protocole d'application utilisé dans la connexion réseau.
event.idm.read_only_udm.network.direction network.direction Sens de la connexion réseau. Définissez ce paramètre sur OUTBOUND lorsque EgressIP et SourceIP sont présents.
event.idm.read_only_udm.network.dns.answers network.dns.answers Réponses DNS.
event.idm.read_only_udm.network.dns.questions network.dns.questions Questions sur le DNS
event.idm.read_only_udm.network.http.method network.http.method Méthode HTTP.
event.idm.read_only_udm.network.http.parsed_user_agent network.http.parsed_user_agent User-agent analysé.
event.idm.read_only_udm.network.http.referral_url network.http.referral_url URL de provenance HTTP.
event.idm.read_only_udm.network.http.response_code network.http.response_code Code de réponse HTTP.
event.idm.read_only_udm.network.http.user_agent network.http.user_agent User-agent HTTP.
event.idm.read_only_udm.network.ip_protocol network.ip_protocol Protocole IP.
event.idm.read_only_udm.network.received_bytes network.received_bytes Nombre d'octets reçus.
event.idm.read_only_udm.network.sent_bytes network.sent_bytes Nombre d'octets envoyés.
event.idm.read_only_udm.network.session_duration.seconds network.session_duration.seconds Durée de la session réseau en secondes.
event.idm.read_only_udm.network.session_id network.session_id ID de session réseau.
event.idm.read_only_udm.network.tls.cipher network.tls.cipher Suite de chiffrement TLS.
event.idm.read_only_udm.network.tls.client.server_name network.tls.client.server_name Nom du serveur client TLS.
event.idm.read_only_udm.network.tls.version network.tls.version Version TLS.
event.idm.read_only_udm.principal.asset.attribute.labels principal.asset.attribute.labels Libellés associés à l'élément principal.
event.idm.read_only_udm.principal.asset.hostname principal.asset.hostname Nom d'hôte de l'élément principal.
event.idm.read_only_udm.principal.asset.ip principal.asset.ip Adresse IP de l'élément principal.
event.idm.read_only_udm.principal.asset_id principal.asset_id ID de l'élément principal.
event.idm.read_only_udm.principal.hostname principal.hostname Nom d'hôte du principal.
event.idm.read_only_udm.principal.ip principal.ip Adresse IP du principal.
event.idm.read_only_udm.principal.location.country_or_region principal.location.country_or_region Pays ou région où se trouve le responsable.
event.idm.read_only_udm.principal.location.name principal.location.name Nom de l'établissement du responsable.
event.idm.read_only_udm.principal.port principal.port Port utilisé par l'entité principale.
event.idm.read_only_udm.principal.resource.product_object_id principal.resource.product_object_id ID de l'objet produit de la ressource du principal.
event.idm.read_only_udm.principal.url principal.url URL associée au principal.
event.idm.read_only_udm.principal.user.attribute.labels principal.user.attribute.labels Libellés associés à l'utilisateur principal.
event.idm.read_only_udm.principal.user.email_addresses principal.user.email_addresses Adresses e-mail de l'utilisateur principal.
event.idm.read_only_udm.principal.user.first_name principal.user.first_name Prénom de l'utilisateur principal.
event.idm.read_only_udm.principal.user.last_name principal.user.last_name Nom de famille de l'utilisateur principal.
event.idm.read_only_udm.principal.user.product_object_id principal.user.product_object_id ID de l'objet produit de l'utilisateur principal.
event.idm.read_only_udm.principal.user.userid principal.user.userid ID utilisateur de l'utilisateur principal.
event.idm.read_only_udm.principal.user.user_display_name principal.user.user_display_name Nom à afficher de l'utilisateur principal.
event.idm.read_only_udm.src.asset.ip src.asset.ip Adresse IP de l'élément source.
event.idm.read_only_udm.src.ip src.ip Adresse IP de la source.
event.idm.read_only_udm.src.port src.port Port de la source.
event.idm.read_only_udm.target.administrative_domain target.administrative_domain Domaine administratif de la cible.
event.idm.read_only_udm.target.asset.hostname target.asset.hostname Nom d'hôte de l'asset cible.
event.idm.read_only_udm.target.asset.ip target.asset.ip Adresse IP de l'élément cible.
event.idm.read_only_udm.target.file.mime_type target.file.mime_type Type MIME du fichier cible.
event.idm.read_only_udm.target.file.md5 target.file.md5 Hachage MD5 du fichier cible.
event.idm.read_only_udm.target.file.sha1 target.file.sha1 Hachage SHA1 du fichier cible.
event.idm.read_only_udm.target.file.sha256 target.file.sha256 Hachage SHA-256 du fichier cible.
event.idm.read_only_udm.target.file.size target.file.size Taille du fichier cible.
event.idm.read_only_udm.target.hostname target.hostname Nom d'hôte de la cible.
event.idm.read_only_udm.target.ip target.ip Adresse IP de la cible.
event.idm.read_only_udm.target.location.country_or_region target.location.country_or_region Pays ou région de l'emplacement de la cible.
event.idm.read_only_udm.target.port target.port Port de la cible.
event.idm.read_only_udm.target.resource.attribute.labels target.resource.attribute.labels Libellés associés à la ressource cible.
event.idm.read_only_udm.target.resource.id target.resource.id ID de la ressource cible.
event.idm.read_only_udm.target.resource.product_object_id target.resource.product_object_id ID de l'objet produit de la ressource cible.
event.idm.read_only_udm.target.resource.resource_subtype target.resource.resource_subtype Sous-type de la ressource cible.
event.idm.read_only_udm.target.url target.url URL de la cible.
event.idm.read_only_udm.target.user.email_addresses target.user.email_addresses Adresses e-mail de l'utilisateur cible.
event.idm.read_only_udm.target.user.product_object_id target.user.product_object_id ID de l'objet produit de l'utilisateur cible.
event.idm.read_only_udm.security_result.about.file.full_path security_result.about.file.full_path Chemin d'accès complet du fichier impliqué dans le résultat de sécurité.
event.idm.read_only_udm.security_result.about.labels security_result.about.labels Libellés associés au résultat de sécurité.
event.idm.read_only_udm.security_result.about.resource.attribute.labels security_result.about.resource.attribute.labels Libellés associés à la ressource dans le résultat de sécurité.
event.idm.read_only_udm.security_result.action security_result.action Action effectuée dans le résultat de sécurité.
event.idm.read_only_udm.security_result.detection_fields security_result.detection_fields Champs de détection dans le résultat de sécurité.
event.idm.read_only_udm.security_result.description security_result.description Description du résultat de sécurité.
event.idm.read_only_udm.security_result.rule_id security_result.rule_id ID de la règle du résultat de sécurité.
event.idm.read_only_udm.security_result.rule_name security_result.rule_name Nom de la règle du résultat de sécurité.
event.idm.read_only_udm.security_result.severity security_result.severity Gravité du résultat de sécurité.
event.idm.read_only_udm.security_result.summary security_result.summary Résumé du résultat de sécurité.
event.idm.read_only_udm.security_result.threat_id security_result.threat_id ID de la menace du résultat de sécurité.
event.idm.read_only_udm.security_result.threat_name security_result.threat_name Nom de la menace du résultat de sécurité.
event.idm.read_only_udm.extensions.auth.type extensions.auth.type Type d'authentification. Définissez la valeur sur MACHINE pour les événements de connexion et de déconnexion.
event.idm.read_only_udm.about about Informations
event.idm.read_only_udm.additional.fields additional.fields Champs supplémentaires.
event.idm.read_only_udm.intermediary intermediary Informations intermédiaires.

Modifications

2024-02-19

  • Correction de bug:
  • En l'absence de données sur le principal et la machine cible, la valeur "metadata.event_type" a été mappée sur "GENERIC_EVENT".
  • Lorsque le champ "Date et heure" est manquant et que le champ "Code temporel" est présent, le champ "Code temporel" est mappé sur "metadata.event_timestamp".
  • Mappage de "ClientIP" sur "principal.ip".
  • Mappage de "RayID" sur "metadata.product_log_id".
  • Mappage de "EdgeResponseStatus" sur "network.http.response_code".
  • Mappage de "ClientRequestMethod" sur "network.http.method".
  • Mappage de "ClientRequestURI" sur "target.uri".
  • Mappage de "ClientRequestHost" sur "target.hostname".

2024-01-31

  • Mappage de "BotScore" sur "security_result.detection_fields".
  • Mise en correspondance des mappages "principal.hostname", "target.hostname", "principal.asset.hostname" et "target.asset.hostname".
  • Mise en correspondance des "principal.ip", "target.ip", "principal.asset.ip" et "target.asset.ip".

2024-01-08

  • Lorsque "Action" contient "allow", définissez "security_result.action" sur "ALLOW".
  • Ajout de la mise en correspondance de "DeviceName" avec "principal.hostname" et "principal.asset.hostname".
  • Ajout du mappage de "SourceIP" sur "principal.ip" pour les journaux DNS.
  • Ajout d'une vérification conditionnelle de valeur nulle avant de mapper "principal" sur "event.idm.read_only_udm.principal".
  • Ajout d'une vérification conditionnelle nulle avant de mapper "target" sur "event.idm.read_only_udm.target".

2023-11-22

  • "WAFRuleID" a été mappé sur "security_result.threat_id".
  • "WAFRuleMessage" a été mappé sur "security_result.threat_name".
  • Mappage de "WAFRCEAttackScore", "WAFSQLiAttackScore", "WAFXSSAttackScore", "WAFAttackScore" et "WAFFlags" sur "security_result.about.resource.attribute.labels".

2023-10-09

  • Lorsque la valeur "SecurityAction" est nulle ou absente, définissez "security_result.action" sur "ALLOW".

2023-09-26

  • Les mappages ont été modifiés pour passer des champs UDM obsolètes à d'autres champs.
  • Ajout d'un mappage de "security_result.about.labels" à "security_result.about.resource.attribute.labels".
  • Ajout d'un mappage de "about.labels" à "security_result.about.resource.attribute.labels".
  • Ajout d'un mappage de "target.resource.id" à "target.resource.product_object_id".

2023-04-25

  • Amélioration du mappage des champs de journal bruts suivants sur les champs UDM:
  • Initialisation de "EdgeStartTimestamp", "ClientIP", "ClientRequestHost", "ClientRequestURI", "ClientRequestMethod", "Datetime", "ActorEmail" et "ActorIP" sur "null".
  • Mappage de "AssetExternalID" sur "principal.asset_id".
  • "AssetDisplayName" a été mappé sur "principal.asset.attribute.labels".
  • Mappage de "AssetLink" sur "principal.url".
  • Mappage de "AssetMetadata.userKey" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.clientId" sur "principal.user.userid".
  • Mappage de "AssetMetadata.anonymous" sur "security_result.detection_fields".
  • Mappage de "AssetMetadata.nativeApp" sur "security_result.detection_fields".
  • Mappage de "DetectedTimestamp" sur "metadata.event_timestamp".
  • Mappage de "FindingTypeDisplayName" sur "security_result.description".
  • Mappage de "FindingTypeID" sur "security_result.rule_id".
  • Mappage de "FindingTypeSeverity" sur "security_result.severity".
  • Mappage de "InstanceID" sur "principal.resource.product_object_id".
  • Mappage de "IntegrationDisplayName" sur "additional.fields".
  • "IntegrationID" a été mappé sur "metadata.product_deployment_id".
  • Mappage de "IntegrationPolicyVendor" sur "additional.fields".
  • Mappage de "AssetMetadata.customerId" sur "principal.user.userid".
  • Mappage de "AssetMetadata.primaryEmail" sur "principal.user.email_addresses".
  • Mappage de "AssetMetadata.agreedToTerms" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.ipWhitelisted" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.lastLoginTime" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.isEnforcedIn2Sv" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.isEnrolledIn2Sv" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.isDelegatedAdmin" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.changePasswordAtNextLogin" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.includeInGlobalAddressList" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.isAdmin" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.suspended" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.url" sur "principal.url".
  • Mappage de "AssetMetadata.site_admin" sur "principal.user.attribute.labels".
  • Mappage de "AssetMetadata.login" sur "principal.user.userid".
  • Mappage de "AssetMetadata.owner.id" sur "principal.user.userid".
  • Mappage de "AssetMetadata.name.fullName" sur "principal.user.user_display_name".
  • Mappage de "AssetMetadata.name.givenName" sur "principal.user.first_name".
  • "AssetMetadata.name.familyName" a été mappé sur "principal.user.last_name".
  • "Autorisé" a été mappé sur "security_result.action".
  • Mappage de "AppDomain" sur "target.administrative_domain".
  • "AppUUID" a été mappé sur "target.resource.product_object_id".
  • "Connection" a été mappé sur "target.resource.attribute.labels".
  • Mappage de "Pays" sur "target.location.country_or_region".
  • Mappage de "CreatedAt" sur "metadata.event_timestamp".
  • Mappage de "IPAddress" sur "target.ip".
  • Mappage de "RayID" sur "metadata.product_log_id".
  • Mappage de "E-mail" sur "principal.user.email_addresses" et "target.user.email_addresses".
  • Mappage de "TemporaryAccessDuration" sur "network.session_duration.seconds".
  • Mappage de "UserUID" sur "target.user.product_object_id".
  • Mappage de "UserAgent" sur "network.http.parsed_user_agent".
  • Mappage de "ClientRequestUserAgent" sur "network.http.parsed_user_agent".
  • "PolicyName" a été mappé sur "security_result.rule_name".
  • Mappage de "SessionID" sur "network.session_id".
  • "Transport" a été mappé sur "network.ip_protocol".
  • Mappage de "SNI" sur "tls.client.server_name".
  • Mappage de "DeviceName" sur "principal.asset.attribute.labels".
  • Mappage de "BytesReceived" sur "network.received_bytes".
  • Mappage de "BytesSent" sur "network.sent_bytes".
  • Mappage de "Protocole" sur "network.ip_protocol".
  • Mappage de "ClientTCPHandshakeDurationMs" sur "additional.fields".
  • Mappage de "ClientTLSCipher" sur "network.tls.cipher".
  • Mappage de "ClientTLSHandshakeDurationMs" sur "additional.fields".
  • Mappage de "ClientTLSVersion" sur "network.tls.version".
  • Mappage de "ConnectionCloseReason" sur "additional.fields".
  • Mappage de "ConnectionReuse" sur "additional.fields".
  • Mappage de "DestinationTunnelID" sur "additional.fields".
  • "EgressIP" a été mappé sur "principal.ip".
  • Mappage de "EgressPort" sur "principal.port".
  • Mappage de "EgressRuleID" sur "additional.fields".
  • "EgressRuleName" a été mappé sur "additional.fields".
  • Mappage de "IngressColoName" sur "additional.fields".
  • "Offramp" a été mappé sur "additional.fields".
  • Mappage de "OriginIP" sur "target.ip".
  • Mappage de "OriginPort" sur "target.port".
  • Mappage de "OriginTLSCertificateIssuer" sur "additional.fields".
  • Mappage de "OriginTLSCertificateValidationResult" sur "additional.fields".
  • Mappage de "OriginTLSCipher" sur "additional.fields".
  • Mappage de "OriginTLSHandshakeDurationMs" sur "additional.fields".
  • Mappage de "OriginTLSVersion" sur "additional.fields".
  • Mappage de "RuleEvaluationDurationMs" sur "additional.fields".
  • Mappage de "SessionEndTime" sur "additional.fields".
  • Mappage de "SessionStartTime" sur "metadata.event_timestamp".
  • Mappage de "SourceIP" sur "src.ip".
  • Mappage de "SourcePort" sur "src.port".
  • "UserID" a été mappé sur "principal.user.product_object_id".
  • "VirtualNetworkID" a été mappé sur "principal.resource.product_object_id".

2023-04-06

  • Amélioration : déclaration des champs "WAFRuleMessage", "WAFAction", "QueryType", "RayID" et "Email" au niveau global.
  • "metadata.event_type" a été mappé sur "NETWORK_UNCATEGORIZED", où les champs "QueryName" et "QueryNameReversed" sont nuls.
  • Ajout de vérifications d'erreur pour les champs suivants: RData[n].type, RData[n].data, EdgeResponseBytes, ClientRequestBytes, EdgeResponseStatus.
  • Ajout de la conversion de chaîne pour les champs "SourcePort" et "DestinationPort".

2022-10-10

  • Amélioration
  • "metadata.product_name" a été mappé sur "Web Application Firewall".
  • "metadata.vendor_name" a été mappé sur "Cloudflare".

2022-05-23

  • Amélioration de la mise en correspondance des éléments de journaux bruts suivants avec des éléments UDM:
  • Mappage de "ClientASN" sur "network.asn".
  • Mappage de "ClientSSLCipher" sur "network.tls.cipher".
  • Mappage de "ClientSSLProtocol" sur "network.tls.version".
  • Mappage de "EdgeResponseContentType" sur "target.file.mime_type".
  • Mappage de "OriginIP" sur "intermediary.ip".
  • Mappage de "FirewallMatchesActions" sur "security_result.action".
  • Mappage de "FirewallMatchesRuleIDs" sur "security_result.rule_id".
  • Mappage de "FirewallMatchesSources" sur "security_result.rule_name".
  • Mappage de "WAFRuleID" et "WAFProfile" sur "security_result.about.labels".
  • Mappage de "CacheCacheStatus", "CacheResponseBytes", "CacheResponseStatus", "ClientDeviceType", "EdgeColoCode", "EdgeColoID", "OriginResponseBytes", "OriginResponseStatus", "OriginResponseTime", "ZoneID" sur "additional.fields".