Partager via


Ingérer des messages syslog et CEF vers 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, voir Connecteurs Syslog 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, vous devez disposer des ressources configurées et 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 les étapes décrites dans cet article.

Prérequis du redirecteur de journal

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

Remarque

Lors du déploiement de l’AMA sur un groupe de machines virtuelles identiques (VMSS), vous êtes fortement encouragé à utiliser un équilibreur de charge qui prend en charge la méthode tourniquet (round-robin) pour garantir la distribution de charge sur toutes les 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 le protocole TLS parce que, par exemple, votre redirecteur de journal se trouve dans le cloud, vous devez configurer le démon syslog (rsyslog ou syslog-ng) pour qu’il communique sur le protocole TLS. Pour plus d’informations, consultez l’article suivant :

Configurer le connecteur de données

Le processus d’installation 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 journal, exécutez le script « installation » sur le redirecteur de journal pour configurer le démon syslog pour écouter les messages provenant d’autres machines et pour ouvrir les ports locaux nécessaires.

Sélectionnez l’onglet approprié pour obtenir des 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 collection de données (DCR).

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

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

  3. Sélectionnez Ouvrir la page du connecteur dans le volet d’informations.

  4. Dans la zone 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. Sous l’onglet De base :

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

    Capture d’écran montrant les détails de la DCR sous l’onglet Général.

  6. Sélectionnez Suivant : Ressources>.

Définissez les ressources de machine virtuelle

Sous l’onglet Ressources, sélectionnez les machines sur lesquelles vous souhaitez installer l’AMA, dans ce cas, votre machine de redirecteur de journal. Si votre redirecteur de journal n’apparaît pas dans la liste, il ne dispose peut-être pas de l’agent Azure Connected Machine installé.

  1. Utilisez les filtres disponibles ou la zone de recherche pour rechercher votre machine virtuelle de redirecteur de journal. Développez un abonnement dans la liste pour afficher ses groupes de ressources et un groupe de ressources pour afficher ses machines virtuelles.

  2. Sélectionnez la machine virtuelle du redirecteur de journal 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. Passez en revue vos modifications et sélectionnez Suivant : Collecter >.

Sélectionnez les installations et les sévérités

Rappelez-vous que l’utilisation de la même installation pour les messages syslog et CEF peut entraîner une duplication de l’ingestion des données. Pour plus d’informations, consultez Éviter les duplications d’ingestion des données.

  1. Dans l’onglet Collecter, sélectionnez le niveau minimal de journal pour chaque installation. 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. Passez en revue vos sélections, puis sélectionnez Suivant : Vérifier + créer.

Vérifier et créer la règle

Une fois tous les onglets remplis, vérifiez ce que vous avez entré 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 passer en revue 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 lors de la création de votre DCR.

  2. Vérifiez les notifications sur le Portail Azure ou le portail Microsoft Defender pour voir quand la DCR est créée et que l’agent est installé.

  3. Sélectionnez Actualiser dans la page du connecteur pour voir la DCR affichée dans la liste.

Exécuter le script « installation »

Si vous utilisez un redirecteur de journal, configurez le démon syslog pour é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 redirecteur de journal où vous venez d’installer AMA.

  3. Collez la commande que vous avez copiée à la dernière étape pour lancer le script d’installation.
    Le script configure le démon rsyslog ou syslog-ng pour qu’il utilise le protocole requis et redémarre le démon. Le script ouvre le port 514 pour écouter les messages entrants dans 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 qu’il n’est pas défini comme commande par défaut sur l’ordinateur, remplacezpython3 par python dans la commande collée. Consultez Prérequis du redirecteur de journal.

    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 journal :

    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 l’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 journalisation de votre machine Linux ou des appareils de sécurité et des appliances 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 devrez peut-être 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 pas le trafic sur le port 514 ou que vos messages de test ne sont pas ingérés, consultez Résoudre les problèmes liés à Syslog et CEF via des connecteurs AMA pour que Microsoft Sentinel résolve les problèmes.