Collecter les journaux du pare-feu Azure
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
- Dans la console Azure, recherchez Comptes de stockage.
- Cliquez sur + Créer.
- 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.
- Cliquez sur Examiner et créer.
- Examinez l'aperçu du compte, puis cliquez sur Créer.
- 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.
- Cliquez sur Afficher à côté de key1 ou key2.
- Cliquez sur Copier dans le presse-papiers pour copier la clé.
- Enregistrez la clé dans un endroit sûr pour une utilisation ultérieure.
- Sur la page Présentation du compte de stockage, sélectionnez le sous-menu Points de terminaison dans Paramètres.
- 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
. - Enregistrez l'URL du point de terminaison dans un endroit sûr pour une utilisation ultérieure.
Configurer l'exportation des journaux pour les journaux de pare-feu Azure
- Connectez-vous au portail Azure à l'aide de votre compte privilégié.
- Accédez à Pare-feu, puis sélectionnez le pare-feu requis.
- Sélectionnez Surveillance > Services de diagnostic.
- Cliquez sur + Ajouter un paramètre de diagnostic.
- Attribuez un nom descriptif au paramètre de diagnostic.
- Sélectionnez allLogs.
- Cochez la case Archiver dans un compte de stockage comme destination.
- Spécifiez l'abonnement et le compte de stockage.
- 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 > Ajouter un flux
- Plate-forme de contenu> Packs de contenu> Premiers pas
Configurer le flux de pare-feu Azure
- Cliquez sur le pack Plate-forme Azure.
- Recherchez le type de journal Pare-feu Azure, puis cliquez sur Ajouter un flux.
Indiquez les valeurs des champs suivants :
- Type de source : Microsoft Azure Blob Storage V2.
- 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
)
- Remplacez l'élément suivant :
Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
Âge maximal du fichier : inclut les fichiers modifiés au cours des derniers jours. La valeur par défaut est de 180 jours.
Clé partagée : clé partagée (chaîne aléatoire de 512 bits en encodage Base64) utilisée pour accéder aux ressources Azure.
Options avancées
- Nom du flux : valeur préremplie qui identifie le flux.
- 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.
Cliquez sur Créer un flux.
Pour en savoir plus sur la configuration de plusieurs flux pour différents types de journaux dans cette famille de produits, consultez Configurer des flux par produit.
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.