Ingérer des messages syslog et CEF pour Microsoft Sentinel avec l’agent Azure Monitor

Cet article explique comment utiliser Syslog via AMA et Common Event Format (CEF) via les connecteurs AMA pour filtrer et ingérer des messages Syslog et CEF à partir de machines Linux, de périphériques réseau et d’appliances de sécurité. Avant de commencer, assurez-vous d’avoir configuré les autorisations, agents et le référentiel de journal requis, comme décrit dans les Prérequis. Pour en savoir plus sur ces connecteurs de données, consultez Syslog et Common Event Format (CEF) via les connecteurs 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. Pour en savoir plus, consultez Collection Syslog avec Container Insights.

Prérequis

Avant de commencer, passez en revue les conditions préalables suivantes Microsoft Sentinel, le redirecteur de journal et les prérequis de sécurité de l’ordinateur pour vous assurer que les ressources sont configurées et les autorisations appropriées affectées, comme décrit dans les conditions préalables Microsoft Sentinel, les prérequis du redirecteur de journal et les sections prérequis pour la sécurité de l’ordinateur.

Microsoft Sentinel prérequis

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 pour le redirecteur de journaux

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

Remarque

Lors du déploiement de l’AMA sur un groupe de machines virtuelles identiques (VMSS), il est vivement recommandé d’utiliser un équilibreur de charge prenant en charge la méthode Round Robin afin de garantir la répartition de la charge sur l’ensemble des instances déployées.

Conditions préalables à la sécurité de l’ordinateur

Configurez la sécurité de la machine en fonction de la stratégie de sécurité de votre organization. Par exemple, configurez votre réseau pour qu’il s’aligne sur votre stratégie de sécurité réseau d’entreprise et modifiez les ports et les protocoles du démon pour qu’ils s’alignent sur 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 via TLS parce que, par exemple, votre redirecteur de journaux se trouve dans le cloud, vous devez configurer le démon syslog (rsyslog ou syslog-ng) pour communiquer dans TLS. Pour plus d’informations, reportez-vous aux rubriques suivantes :

Configurer le connecteur de données

Le processus d’installation de Syslog via AMA ou CEF (Common Event Format) via les connecteurs de données 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 ordinateurs à l’aide d’un redirecteur de journaux, exécutez le script « installation » sur le redirecteur de journaux pour configurer le démon syslog afin qu’il écoute les messages provenant d’autres ordinateurs et ouvre les ports locaux nécessaires.

Sélectionnez l’onglet approprié pour obtenir des instructions.

Utilisez le portail Azure ou Defender pour créer une règle de collecte de données (DCR) et installer l’agent Azure Monitor sur votre retraiteur de log.

Créer une règle de collecte de données (DCR)

Pour commencer, ouvrez Syslog via AMA ou CEF (Common Event Format) via le connecteur de données 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>Configuration>des connecteurs de données.

  2. Pour syslog, tapez Syslog dans la zone Rechercher . Dans les résultats, sélectionnez le connecteur Syslog via AMA .
    Pour CEF, tapez CEF dans la zone Rechercher . Parmi les résultats, sélectionnez le connecteur Common Event Format (CEF) 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 De base.

  6. Sélectionnez Suivant : Ressources >.

Définir des ressources de machine virtuelle

Sous l’onglet Ressources , sélectionnez les machines sur lesquelles vous souhaitez installer l’AMA. Pour cette procédure, sélectionnez votre ordinateur de redirecteur de journal. 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 apparaît à côté du nom de la VM lorsque vous le survolez.

    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 facilités et niveaux de gravité

N’oubliez pas que l’utilisation de la même fonctionnalité pour les messages syslog et CEF peut entraîner une duplication de l’ingestion des données. Pour plus d’informations, consultez Prévention de la duplication de l’ingestion de données.

  1. Sous l’onglet Collecter , sélectionnez le niveau de journalisation minimal 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 les niveaux de journalisation lors de la configuration de la DCR.

  2. Passez en revue vos sélections et sélectionnez Suivant : Vérifier + créer.

Examiner et créer la règle

Après avoir terminé tous les onglets, passez en revue 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 dans le portail Portail Azure ou 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 afficher la DCR 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 ordinateurs et ouvrez 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-le à partir d’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 de transfert des journaux sur laquelle l'AMA est installé.

  3. Collez la commande d’installation que vous avez copiée à partir de la page du connecteur pour lancer le script d’installation.
    Le script configure le rsyslog démon 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 en cours d’exécution sur l’ordinateur :

    • 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, remplacez python3python par dans la commande collée. Consultez Prérequis du transfert de logs.

    Remarque

    Pour éviter les scénarios de disque complet dans lesquels l’agent ne peut pas fonctionner, nous vous recommandons de définir la syslog-ng configuration 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 la status 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 :

    sudo systemctl status syslog-ng.service
    

Configurer le dispositif de sécurité ou l’appliance

Pour obtenir des instructions sur la configuration de votre appareil de sécurité ou de votre Appliance, 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 provenant 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 écoute sur le port UDP requis et que l’AMA est prêt à recevoir des journaux sur le redirecteur sous Linux, exécutez la commande suivante pour afficher les services à l’écoute actifs et les ports qui leur sont associés :

     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 echo commande avec le commutateur de nouvelle ligne désactivé. L’utilitaire écrit ensuite les données sur le port 514 UDP sur le localhost sans délai d’expiration. Pour exécuter l’utilitaire netcat, vous devrez peut-être installer un autre package.

    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 logger commande . 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 -t indicateurs 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 les transfèrent au port 28330.

  3. Après avoir envoyé des messages de test, interrogez votre espace de travail Log Analytics. Les journaux peuvent mettre jusqu’à 20 minutes avant d’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 des 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.