Partager via


Ingérer des messages Syslog et CEF dans Microsoft Sentinel avec l’agent Azure Monitor

Cet article explique comment utiliser Syslog via AMA et COMMON Event Format (CEF) via des connecteurs AMA pour filtrer et ingérer des messages syslog et CEF à partir de machines Linux, d’appareils réseau et d’appliances de sécurité. Pour en savoir plus sur ces connecteurs de données, consultez Connecteurs Syslog via AMA et Common Event Format (CEF) via AMA pour Microsoft Sentinel.

Remarque

Container Insights prend en charge la collecte automatique d’événements syslog à partir de nœuds Linux dans vos clusters AKS. En savoir plus dans la collection Syslog avec Container Insights.

Prérequis

Avant de commencer, assurez-vous que les ressources ont été configurées et que vous disposez des autorisations appropriées, comme décrit dans cette section.

Prérequis pour Microsoft Sentinel

Installez la solution Microsoft Sentinel appropriée et vérifiez que vous disposez des autorisations nécessaires pour effectuer toutes les étapes décrites dans cet article.

Prérequis pour le redirecteur de journaux

Si vous collectez des messages à partir d’un redirecteur de journaux, les prérequis suivants s’appliquent :

  • Vous devez désigner une machine virtuelle Linux servant de redirectrice de journaux.

  • Si votre redirecteur de journaux n’est pas une machine virtuelle Azure, l’agent Connected Machine Azure Arc doit y être installé.

  • La machine virtuelle du redirecteur de journaux Linux doit avoir la version 2.7 ou 3 de Python installée. Utilisez la commande python --version ou python3 --version pour vérifier. Si vous utilisez Python 3, assurez-vous que cette version est définie comme commande par défaut sur la machine, ou utilisez la commande « python3 » au lieu de « python » dans les scripts.

  • Le redirecteur de journaux doit avoir le démon syslog-ng ou rsyslog activé.

  • Pour connaître l'espace requis pour votre redirecteur de journaux, consultez le Point de référence des performances de l’agent Azure Monitor. Vous pouvez également consulter ce billet de blog, qui inclut des modèles de conception pour une ingestion évolutive.

  • Vos sources de journaux, appareils de sécurité et appliances doivent être configurés de façon à envoyer leurs messages de journal au démon syslog du redirecteur de journaux plutôt qu’à leur démon syslog local.

Remarque

Lors du déploiement de l’AMA sur un Virtual Machine Scale Set (VMSS), nous vous recommandons fortement d'utiliser un équilibreur de charge prenant en charge la méthode en tourniquet (round-robin) pour garantir la répartition de la charge sur l'ensemble des instances déployées.

Prérequis de sécurité pour la machine

Configurez la sécurité de la machine en fonction de la stratégie de sécurité de votre organisation. Par exemple, configurez votre réseau de sorte qu’il s’accorde à la stratégie de sécurité de votre réseau d’entreprise, et modifiez les ports et les protocoles dans le démon pour les adapter à vos besoins. Pour améliorer la configuration de la sécurité de votre ordinateur, sécurisez votre machine virtuelle dans Azure ou passez en revue ces meilleures pratiques pour la sécurité réseau.

Si vos appareils envoient des journaux Syslog et CEF sur TLS, par exemple lorsque votre redirecteur de journaux se trouve dans le cloud, vous devez configurer le démon Syslog (rsyslog ou syslog-ng) pour qu’il communique dans TLS. Pour plus d'informations, consultez les pages suivantes :

Configurer le connecteur de données

Le processus de configuration des connecteurs de données Syslog via AMA ou Common Event Format (CEF) via AMA comprend les étapes suivantes :

  1. Installez l’agent Azure Monitor et créez une règle de collecte de données (DCR) à l’aide de l’une des méthodes suivantes :
  2. Si vous collectez des journaux à partir d’autres machines à l’aide d’un redirecteur de journaux, exécutez le script « installation » sur le redirecteur de journaux pour configurer le démon Syslog afin de pouvoir écouter les messages provenant d’autres machines et ouvrir les ports locaux nécessaires.

Sélectionnez l’onglet approprié pour les instructions.

Créer une règle de collecte de données

Pour commencer, ouvrez le connecteur de données Syslog via AMA ou Common Event Format (CEF) via AMA dans Microsoft Sentinel et créez une règle de collecte de données (DCR).

  1. Pour Microsoft Sentinel dans le portail Azure, sous Configuration, sélectionnez Connecteurs de données.
    Pour Microsoft Sentinel dans le portail Defender, sélectionnez Microsoft Sentinel>PortalConfiguration>Connecteurs de données.

  2. Pour Syslog, tapez Syslog dans la zone de Recherche. Dans les résultats, sélectionnez le connecteur Syslog via AMA.
    Pour CEF, tapez CEF dans la zone de Recherche. Dans les résultats, sélectionnez le connecteur CEF (Common Event Format) via AMA.

  3. Dans le volet des résultats détaillés, sélectionnez Ouvrir la page du connecteur.

  4. Dans la section Configuration, sélectionnez +Créer une règle de collecte de données.

    Capture d’écran montrant la page du connecteur Syslog via AMA.

    Capture d’écran montrant la page du connecteur CEF via AMA.

  5. Dans l’onglet Informations de base :

    • Tapez un nom de DCR.
    • Sélectionnez votre abonnement.
    • Sélectionnez le groupe de ressources dans lequel vous souhaitez placer votre DCR.

    Capture d’écran montrant les détails de la DCR dans l’onglet Informations de base.

  6. Sélectionnez Suivant : Ressources >.

Définir les ressources de machines virtuelles

Dans l’onglet Ressources, sélectionnez les machines sur lesquelles vous souhaitez installer l’AMA (dans ce cas, votre machine redirectrice de journaux). Si votre redirecteur de journaux n’apparaît pas dans la liste, c'est probablement parce que l’agent Azure Connected Machine n'y est pas installé.

  1. Utilisez les filtres disponibles ou la zone de recherche pour trouver votre machine virtuelle redirectrice de journaux. Développez un abonnement dans la liste pour voir ses groupes de ressources, puis un groupe de ressources pour voir ses machines virtuelles.

  2. Sélectionnez la machine virtuelle redirectrice de journaux sur laquelle vous souhaitez installer l’AMA. La case à cocher s’affiche en regard du nom de la machine virtuelle lorsque vous pointez dessus.

    Capture d’écran montrant comment sélectionner des ressources lors de la configuration de la DCR.

  3. Vérifiez vos modifications et sélectionnez Suivant : Collecter >.

Sélectionnez les facilités et niveaux de gravité

Notez que l’emploi d'une même facilité pour les messages Syslog et CEF peut entraîner des doublons lors de l’ingestion des données. Pour plus d’informations, consultez Prévention des doublons lors de l’ingestion des données.

  1. Dans l’onglet Collecter, sélectionnez le niveau de journal minimal pour chaque facilité. Quand vous sélectionnez un niveau de journal, Microsoft Sentinel collecte les journaux pour le niveau sélectionné et les autres niveaux avec une gravité supérieure. Par exemple, si vous sélectionnez LOG_ERR, Microsoft Sentinel collecte les journaux pour les niveaux LOG_ERR, LOG_CRIT, LOG_ALERT et LOG_EMERG.

    Capture d’écran montrant comment sélectionner des niveaux de journal lors de la configuration de la DCR.

  2. Vérifiez vos sélections et sélectionnez Suivant : Réviser + créer.

Réviser et créer la règle.

Une fois tous les onglets remplis, vérifiez les informations que vous avez saisies et créez la règle de collecte de données.

  1. Sous l’onglet Vérifier et créer, sélectionnez Créer.

    Capture d’écran montrant comment vérifier la configuration de la DCR et la créer.

    Le connecteur installe l’agent Azure Monitor sur les machines que vous avez sélectionnées au moment de la création de votre DCR.

  2. Consultez les notifications sur le portail Azure ou le portail Microsoft Defender pour vérifier quand la DCR est créée et quand l’agent est installé.

  3. Sélectionnez Actualiser dans la page du connecteur pour voir la DCR s'afficher dans la liste.

Exécuter le script « installation »

Si vous utilisez un redirecteur de journaux, configurez le démon Syslog afin de pouvoir écouter les messages provenant d’autres machines et ouvrir les ports locaux nécessaires.

  1. Dans la page du connecteur, copiez la ligne de commande qui s’affiche sous Exécuter la commande suivante pour installer et appliquer le collecteur CEF :.

    Capture d’écran de la ligne de commande sur la page du connecteur.

    Ou copiez-la ici :

    sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python Forwarder_AMA_installer.py
    
  2. Connectez-vous à la machine redirectrice de journaux où vous venez d’installer l'AMA.

  3. Collez la commande que vous avez copiée à la dernière étape pour lancer le script « installation ».
    Le script configure le démon rsyslog ou syslog-ng pour qu’il utilise le protocole requis, puis le redémarre. Le script ouvre le port 514 pour écouter les messages entrants utilisant les protocoles UDP et TCP. Pour modifier ce paramètre, reportez-vous au fichier de configuration du démon Syslog en fonction du type de démon qui s’exécute sur la machine :

    • Rsyslog : /etc/rsyslog.conf
    • Syslog-ng : /etc/syslog-ng/syslog-ng.conf

    Si vous utilisez Python 3 et que cette version n'est pas définie comme commande par défaut sur la machine, remplacez python3 par python dans la commande collée. Consultez Prérequis pour le redirecteur de journaux.

    Remarque

    Pour éviter les scénarios de disque complet dans lesquels l’agent ne peut pas fonctionner, nous vous recommandons de définir la configuration syslog-ng ou rsyslog pour ne pas stocker les journaux inutiles. Un scénario de disque complet interrompt le fonctionnement de l’AMA installé. Pour plus d’informations, consultez RSyslog ou Syslog-ng.

  4. Vérifiez l’état du service.

    Vérifiez l’état du service AMA sur votre redirecteur de journaux :

    sudo systemctl status azuremonitoragent.service
    

    Vérifiez l’état du service rsyslog :

    sudo systemctl status rsyslog.service
    

    Pour les environnements syslog-ng, vérifiez les points suivants :

    sudo systemctl status syslog-ng.service
    

Configurer l’appareil ou appliance de sécurité

Pour obtenir des instructions sur la configuration de votre appareil ou appliance de sécurité, consultez l’un des articles suivants :

Pour plus d’informations sur votre appliance ou appareil, contactez le fournisseur de solutions.

Tester le connecteur

Vérifiez que les messages de journal de votre machine Linux ou des appareils et appliances de sécurité sont ingérés dans Microsoft Sentinel.

  1. Pour vérifier que le démon syslog s’exécute sur le port UDP et que l’AMA écoute, exécutez cette commande :

     netstat -lnptv
    

    Le démon rsyslog ou syslog-ng devrait être à l’écoute sur le port 514.

  2. Pour capturer les messages envoyés à partir d’un enregistreur d’événements ou d’un appareil connecté, exécutez cette commande en arrière-plan :

    sudo tcpdump -i any port 514 or 28330 -A -vv &
    
  3. Une fois la validation terminée, arrêtez tcpdump. Tapez fg, puis sélectionnez Ctrl+C.

Envoyer des messages de test

Pour envoyer des messages de démonstration, effectuez l’une des étapes suivantes :

  1. Utilisez l’utilitaire nc netcat. Dans cet exemple, l’utilitaire lit les données publiées via la commande echo avec le commutateur de nouvelle ligne désactivé. L’utilitaire écrit ensuite les données dans le port 514 UDP sur l’hôte local sans délai d’expiration. Pour exécuter l’utilitaire netcat, vous aurez peut-être besoin d'installer un package supplémentaire.

    echo -n "<164>CEF:0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|1|rt=$common=event-formatted-receive_time" | nc -u -w0 localhost 514
    
  2. Utilisez la commande logger. Cet exemple écrit le message dans l’installation local 4, au niveau de gravité Warning, sur le port 514, sur l’hôte local, au format RFC CEF. Les indicateurs -t et --rfc3164 sont utilisés pour se conformer au format RFC attendu.

    logger -p local4.warn -P 514 -n 127.0.0.1 --rfc3164 -t CEF "0|Mock-test|MOCK|common=event-format-test|end|TRAFFIC|rt=$common=event-formatted-receive_time"
    

    Testez l’ingestion Cisco ASA à l’aide de la commande suivante :

    echo -n "<164>%ASA-7-106010: Deny inbound TCP src inet:1.1.1.1 dst inet:2.2.2.2" | nc -u -w0 localhost 514
    

    Après avoir exécuté ces commandes, les messages arrivent sur le port 514 et sont transférés vers le port 28330.

  3. Après avoir envoyé des messages de test, interrogez votre espace de travail Log Analytics. Les journaux peuvent prendre jusqu’à 20 minutes pour apparaître dans votre espace de travail.

Pour les journaux CEF :

CommonSecurityLog
| where TimeGenerated > ago(1d)
| where DeviceProduct == "MOCK"

Pour les journaux Cisco ASA :

CommonSecurityLog
| where TimeGenerated > ago(1d)
| where DeviceVendor == "Cisco"
| where DeviceProduct == "ASA"

Résolution de problèmes supplémentaires

Si vous ne voyez aucun trafic sur le port 514 ou que vos messages de test ne sont pas ingérés, consultez Résolution des problèmes liés aux connecteurs Syslog via AMA et CEF via AMA pour Microsoft Sentinel.