Collecter les journaux Azure Firewall

Compatible avec:

Ce document explique comment exporter les journaux Azure Firewall vers Google Security Operations à l'aide d'un compte de stockage Azure. L'analyseur tente d'abord de traiter l'entrée au format JSON, en extrayant les données du champ Records (Enregistrements). Si le champ Enregistrement 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 les différents formats et variations dans les journaux Azure Firewall.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google SecOps.
  • Assurez-vous de disposer d'un locataire Azure actif.
  • Assurez-vous de disposer d'un 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. Consultez la présentation du compte, puis cliquez sur Créer.
  6. Sur la page Vue d'ensemble 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 clé1 ou clé2.
  8. Cliquez sur Copy to clipboard (Copier dans le presse-papiers) pour copier la clé.
  9. Enregistrez la clé dans un emplacement sécurisé pour pouvoir l'utiliser ultérieurement.
  10. Sur la page Aperçu 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 du service Blob (par exemple, https://<storageaccountname>.blob.core.windows.net).
  12. Enregistrez l'URL du point de terminaison dans un endroit sécurisé pour une utilisation ultérieure.

Configurer l'exportation des journaux pour les journaux des 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 un flux dans Google SecOps pour ingérer les journaux Azure Firewall

  1. Accédez à SIEM Settings > Feeds (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 Azure Firewall).
  4. Sélectionnez Microsoft Azure Blob Storage comme Type de source.
  5. Sélectionnez Azure Firewall comme Type de journal.
  6. Cliquez sur Suivant.
  7. Spécifiez les valeurs des paramètres d'entrée suivants:

    • URI Azure: URL du point de terminaison de blob.
      • ENDPOINT_URL/BLOB_NAME
        • Remplacez les éléments suivants :
        • ENDPOINT_URL: URL du point de terminaison de 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.

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

    • Espace de noms des éléments: espace de noms des éléments.

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

  8. Cliquez sur Suivant.

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

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 l'UDM.
operationName metadata.product_event_type Mappe le champ de journal brut operationName sur l'UDM.
properties.Action security_result.action Mappe le champ de journal brut properties.Action à 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 l'UDM.
properties.DestinationPort target.port Mappe le champ de journal brut properties.DestinationPort sur l'UDM.
properties.DnssecOkBit additional.fields.value.bool_value Mappe le champ de journal brut properties.DnssecOkBit sur l'UDM.
properties.EDNS0BufferSize additional.fields.value.number_value Mappe le champ de journal brut properties.EDNS0BufferSize sur l'UDM.
properties.ErrorMessage additional.fields.value.string_value Mappe le champ de journal brut properties.ErrorMessage sur l'UDM.
properties.ErrorNumber additional.fields.value.number_value Mappe le champ de journal brut properties.ErrorNumber sur l'UDM.
properties.Policy security_result.detection_fields.value Mappe le champ de journal brut properties.Policy sur l'UDM.
properties.Protocol network.ip_protocol Mappe le champ de journal brut properties.Protocol sur UDM s'il ne correspond pas à HTTPS ou HTTP.
properties.Protocol network.application_protocol Mappe le champ de journal brut properties.Protocol sur UDM s'il s'agit de 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 l'UDM.
properties.QueryName network.dns.questions.name Mappe le champ de journal brut properties.QueryName sur l'UDM.
properties.QueryType network.dns.questions.type Mappe le champ de journal brut properties.QueryType à 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 l'UDM.
properties.ResponseCode network.dns.response_code Mappe le champ de journal brut properties.ResponseCode à UDM à l'aide d'une table de correspondance pour mapper les codes de réponse DNS.
properties.ResponseFlags additional.fields.value.string_value Mappe le champ de journal brut properties.ResponseFlags sur l'UDM.
properties.ResponseSize network.received_bytes Mappe le champ de journal brut properties.ResponseSize sur l'UDM.
properties.Rule security_result.rule_name Mappe le champ de journal brut properties.Rule sur l'UDM.
properties.RuleCollection security_result.detection_fields.value Mappe le champ de journal brut properties.RuleCollection sur l'UDM.
properties.RuleCollectionGroup security_result.detection_fields.value Mappe le champ de journal brut properties.RuleCollectionGroup sur l'UDM.
properties.SourceIp principal.ip Mappe le champ de journal brut properties.SourceIp sur l'UDM.
properties.SourcePort principal.port Mappe le champ de journal brut properties.SourcePort sur l'UDM.
properties.msg security_result.description Mappe le champ de journal brut properties.msg sur UDM après en avoir extrait d'autres champs.
records.category security_result.rule_type Mappe le champ de journal brut records.category sur l'UDM.
records.operationName metadata.product_event_type Mappe le champ de journal brut records.operationName sur l'UDM.
records.properties.msg Ce champ permet d'extraire plusieurs champs à l'aide de modèles Grok et n'a pas de mappage direct vers UDM.
records.resourceId metadata.product_log_id Mappe le champ de journal brut records.resourceId sur l'UDM.
resourceId metadata.product_log_id Mappe le champ de journal brut resourceId sur l'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.

Modifications

2024-12-26

Correction de bug:

  • Lorsque les journaux contiennent le mot clé Alert, security_result.action est mappé sur ALLOW.

2024-11-13

Amélioration :

  • Mappage de Action sur security_result.detection_fields.
  • Mappage de Signature sur security_result.detection_fields.
  • Mappage de IDS sur security_result.detection_fields.
  • Mappage de Priority sur security_result.priority_details.
  • Mappage de Classification sur security_result.detection_fields.

2024-09-04

Amélioration :

  • Mappage de from_ip sur dns.questions.name pour les événements DNS.

2024-07-02

Amélioration :

  • Prise en charge d'un nouveau format de code temporel.

2024-04-29

Amélioration :

  • Prise en charge d'un nouveau format de journaux ingérés.

2024-02-07

Amélioration :

  • Mappage de ICMP type sur additional.fields.
  • Mappage de Action et properties.Action sur security_result.action_details.

2023-06-01

Amélioration :

  • Les journaux JSON nouvellement ingérés de la catégorie AZFWDnsQuery sont analysés.
  • properties.msg mappé dans les nouveaux journaux JSON de la catégorie AzureFirewallNetworkRule ingérés.

2022-04-29

Correction de bug:

  • Les journaux JSON nouvellement ingérés sont analysés pour augmenter le pourcentage d'analyse global.
  • operationName mappé sur metadata.product_event_type.
  • resourceId mappé sur metadata.product_log_id.

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