Collecter les journaux du pare-feu Azure

Compatible avec :

Ce document explique comment exporter les journaux Azure Firewall vers Google Security Operations à l'aide d'un compte de stockage Azure. Le parseur tente d'abord de traiter l'entrée en tant que JSON, en extrayant les données du champ Records. Si le champ Record est vide, l'analyseur utilise ensuite une série de modèles Grok et d'instructions conditionnelles pour extraire les champs pertinents du message, en gérant différents formats et variations dans les journaux du pare-feu Azure.

Avant de commencer

Assurez-vous de remplir les conditions préalables suivantes :

  • Instance Google SecOps
  • Un locataire Azure actif
  • Accès privilégié à Azure

Configurer un compte de stockage Azure

  1. Dans la console Azure, recherchez Comptes de stockage.
  2. Cliquez sur + Créer.
  3. Spécifiez les valeurs des paramètres d'entrée suivants :
    • Abonnement : sélectionnez l'abonnement.
    • Groupe de ressources : sélectionnez le groupe de ressources.
    • Région : sélectionnez la région.
    • Performances : sélectionnez les performances (standard recommandé).
    • Redondance : sélectionnez la redondance (GRS ou LRS recommandé).
    • Nom du compte de stockage : saisissez un nom pour le nouveau compte de stockage.
  4. Cliquez sur Examiner et créer.
  5. Examinez l'aperçu du compte, puis cliquez sur Créer.
  6. Sur la page Présentation du compte de stockage, sélectionnez le sous-menu Clés d'accès dans Sécurité et mise en réseau.
  7. Cliquez sur Afficher à côté de key1 ou key2.
  8. Cliquez sur Copier dans le presse-papiers pour copier la clé.
  9. Enregistrez la clé dans un endroit sûr pour pouvoir l'utiliser ultérieurement.
  10. Sur la page Présentation du compte de stockage, sélectionnez le sous-menu Points de terminaison dans Paramètres.
  11. Cliquez sur Copier dans le presse-papiers pour copier l'URL du point de terminaison Blob service (Service Blob). Par exemple, https://<storageaccountname>.blob.core.windows.net.
  12. Enregistrez l'URL du point de terminaison dans un endroit sûr pour une utilisation ultérieure.

Configurer l'exportation de journaux pour les journaux de pare-feu Azure

  1. Connectez-vous au portail Azure à l'aide de votre compte privilégié.
  2. Accédez à Pare-feu, puis sélectionnez le pare-feu requis.
  3. Sélectionnez Surveillance > Services de diagnostic.
  4. Cliquez sur + Ajouter un paramètre de diagnostic.
    • Attribuez un nom descriptif au paramètre de diagnostic.
  5. Sélectionnez allLogs.
  6. Cochez la case Archiver dans un compte de stockage comme destination.
    • Spécifiez l'abonnement et le compte de stockage.
  7. Cliquez sur Enregistrer.

Configurer des flux

Il existe deux points d'entrée différents pour configurer les flux dans la plate-forme Google SecOps :

  • Paramètres SIEM> Flux
  • Plate-forme de contenu > Packs de contenu

Configurer des flux à partir de Paramètres SIEM > Flux

Pour configurer plusieurs flux pour différents types de journaux dans cette famille de produits, consultez Configurer des flux par produit.

Pour configurer un seul flux :

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur Add New Feed (Ajouter un flux).
  3. Sur la page suivante, cliquez sur Configurer un seul flux.
  4. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux Azure Firewall).
  5. Sélectionnez Microsoft Azure Blob Storage comme Type de source.
  6. Sélectionnez Pare-feu Azure comme Type de journal.
  7. Cliquez sur Suivant.
  8. Spécifiez les valeurs des paramètres d'entrée suivants :

    • URI Azure : URL du point de terminaison du blob.
      • ENDPOINT_URL/BLOB_NAME
        • Remplacez l'élément suivant :
          • ENDPOINT_URL : URL du point de terminaison du blob (https://<storageaccountname>.blob.core.windows.net)
          • BLOB_NAME : nom du blob (par exemple, <logname>-logs)
    • L'URI est : sélectionnez le TYPE d'URI en fonction de la configuration du flux de journaux (Fichier unique | Répertoire | Répertoire incluant des sous-répertoires).
    • Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.

    • Clé partagée : clé d'accès à Azure Blob Storage.

    • Espace de noms de l'élément : espace de noms de l'élément.

    • Libellés d'ingestion : libellé à appliquer aux événements de ce flux.

  9. Cliquez sur Suivant.

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

Configurer des flux depuis le Hub de contenu

Indiquez les valeurs des champs suivants :

  • URI Azure : URL du point de terminaison du blob.
    • ENDPOINT_URL/BLOB_NAME
      • Remplacez l'élément suivant :
        • ENDPOINT_URL : URL du point de terminaison du blob (https://<storageaccountname>.blob.core.windows.net)
        • BLOB_NAME : nom du blob (par exemple, insights-logs-<logname>)
  • L'URI est : sélectionnez le TYPE d'URI en fonction de la configuration du flux de journaux (Fichier unique | Répertoire | Répertoire incluant des sous-répertoires).
  • Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
  • Clé partagée : clé d'accès à Azure Blob Storage.

Options avancées

  • Nom du flux : valeur préremplie qui identifie le flux.
  • Type de source : méthode utilisée pour collecter les journaux dans Google SecOps.
  • Espace de noms de l'élément : espace de noms associé au flux.
  • Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.

Mappage UDM

Champ du journal Mappage UDM Logique
@timestamp metadata.event_timestamp Convertit le champ de journal brut @timestamp au format UDM.
category security_result.rule_type Mappe le champ de journal brut category sur UDM.
operationName metadata.product_event_type Mappe le champ de journal brut operationName sur UDM.
properties.Action security_result.action Mappe le champ de journal brut properties.Action sur UDM, en convertissant ALLOW en ALLOW, DENY en BLOCK et toute autre valeur en UNKNOWN_ACTION.
properties.DestinationIp target.ip Mappe le champ de journal brut properties.DestinationIp sur UDM.
properties.DestinationPort target.port Mappe le champ de journal brut properties.DestinationPort sur UDM.
properties.DnssecOkBit additional.fields.value.bool_value Mappe le champ de journal brut properties.DnssecOkBit sur UDM.
properties.EDNS0BufferSize additional.fields.value.number_value Mappe le champ de journal brut properties.EDNS0BufferSize sur UDM.
properties.ErrorMessage additional.fields.value.string_value Mappe le champ de journal brut properties.ErrorMessage sur UDM.
properties.ErrorNumber additional.fields.value.number_value Mappe le champ de journal brut properties.ErrorNumber sur UDM.
properties.Policy security_result.detection_fields.value Mappe le champ de journal brut properties.Policy sur UDM.
properties.Protocol network.ip_protocol Mappe le champ de journal brut properties.Protocol sur UDM s'il n'est pas HTTPS ni HTTP.
properties.Protocol network.application_protocol Mappe le champ de journal brut properties.Protocol sur UDM s'il est HTTPS ou HTTP.
properties.QueryClass network.dns.questions.class Mappe le champ de journal brut properties.QueryClass sur UDM à l'aide d'une table de recherche pour mapper les classes de requêtes DNS.
properties.QueryId network.dns.id Mappe le champ de journal brut properties.QueryId sur UDM.
properties.QueryName network.dns.questions.name Mappe le champ de journal brut properties.QueryName sur UDM.
properties.QueryType network.dns.questions.type Mappe le champ de journal brut properties.QueryType sur UDM à l'aide d'une table de recherche pour mapper les types d'enregistrements DNS.
properties.RequestSize network.sent_bytes Mappe le champ de journal brut properties.RequestSize sur UDM.
properties.ResponseCode network.dns.response_code Mappe le champ de journal brut properties.ResponseCode sur UDM à l'aide d'une table de conversion pour mapper les codes de réponse DNS.
properties.ResponseFlags additional.fields.value.string_value Mappe le champ de journal brut properties.ResponseFlags sur UDM.
properties.ResponseSize network.received_bytes Mappe le champ de journal brut properties.ResponseSize sur UDM.
properties.Rule security_result.rule_name Mappe le champ de journal brut properties.Rule sur UDM.
properties.RuleCollection security_result.detection_fields.value Mappe le champ de journal brut properties.RuleCollection sur UDM.
properties.RuleCollectionGroup security_result.detection_fields.value Mappe le champ de journal brut properties.RuleCollectionGroup sur UDM.
properties.SourceIp principal.ip Mappe le champ de journal brut properties.SourceIp sur UDM.
properties.SourcePort principal.port Mappe le champ de journal brut properties.SourcePort sur UDM.
properties.msg security_result.description Mappe le champ de journal brut properties.msg sur UDM après avoir extrait d'autres champs.
records.category security_result.rule_type Mappe le champ de journal brut records.category sur UDM.
records.operationName metadata.product_event_type Mappe le champ de journal brut records.operationName sur UDM.
records.properties.msg Ce champ est utilisé pour extraire plusieurs champs à l'aide de modèles Grok et n'a pas de mappage direct vers l'UDM.
records.resourceId metadata.product_log_id Mappe le champ de journal brut records.resourceId sur UDM.
resourceId metadata.product_log_id Mappe le champ de journal brut resourceId sur UDM.
temps metadata.event_timestamp Convertit le champ de journal brut time au format UDM.
metadata.vendor_name Ce champ est renseigné par l'analyseur avec la valeur Microsoft Inc..
metadata.product_name Ce champ est renseigné par l'analyseur avec la valeur Azure Firewall Application Rule.
metadata.log_type Ce champ est renseigné par l'analyseur avec la valeur AZURE_FIREWALL.
additional.fields.key Ce champ est renseigné par l'analyseur avec la clé du champ supplémentaire.
security_result.detection_fields.key Ce champ est renseigné par l'analyseur avec la clé du champ de détection.
network.application_protocol Ce champ est renseigné par l'analyseur avec la valeur DNS pour les journaux DNS.
metadata.event_type Ce champ est renseigné par l'analyseur en fonction du message de journal. Il peut s'agir de NETWORK_CONNECTION, GENERIC_EVENT, STATUS_UPDATE ou NETWORK_DNS.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.