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 pouvoir l'utiliser ultérieurement.
- 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 de 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
- 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 :
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Add New Feed (Ajouter un flux).
- Sur la page suivante, cliquez sur Configurer un seul flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux Azure Firewall).
- Sélectionnez Microsoft Azure Blob Storage comme Type de source.
- Sélectionnez Pare-feu Azure comme Type de journal.
- Cliquez sur Suivant.
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
)
- Remplacez l'élément suivant :
- 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.
- URI Azure : URL du point de terminaison du blob.
Cliquez sur Suivant.
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>
)
- Remplacez l'élément suivant :
- 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.