Partager via


Gestion avancée du collecteur de journaux

Cet article explique comment configurer des options avancées pour Defender for Cloud Apps collecteurs de journaux de découverte cloud.

Defender for Cloud Apps cloud discovery continue de se concentrer sur les formats de pare-feu de base. Les modifications apportées aux journaux transférés au niveau du pare-feu peuvent ne pas continuer à fonctionner ou entraîner des problèmes d’analyse. Si vous trouvez des erreurs de ce type, nous vous recommandons de continuer à utiliser le format de pare-feu de base ou d’utiliser des options avec le collecteur de journaux personnalisé. Pour plus d’informations, consultez Utiliser un analyseur de journal personnalisé.

Cet article explique comment modifier la configuration de votre Defender for Cloud Apps Cloud Discovery Docker.

Modifier la configuration FTP du collecteur de journaux

Procédez comme suit dans les sections suivantes pour modifier la configuration de votre Defender for Cloud Apps Cloud Discovery Docker.

Vérifier la version du collecteur de journaux

Pour vérifier la version du collecteur de journaux actuellement installé sur votre système, connectez-vous à l’hôte du collecteur de journaux et exécutez :

cat /var/adallom/versions | grep columbus-

Modifier le mot de passe FTP

Cette procédure explique comment modifier le mot de passe utilisé pour accéder aux fichiers du collecteur de journaux :

  1. Connectez-vous à l’hôte du collecteur de journaux et exécutez :

    docker exec -it <collector name> pure-pw passwd <ftp user>
    
  2. Entrez votre nouveau mot de passe, puis entrez-le à nouveau pour confirmer.

  3. Exécutez la commande suivante pour appliquer la modification :

    docker exec -it <collector name> pure-pw mkdb
    

Vous devriez être en mesure d’afficher le contenu suivant :

  • run_logs
  • ssl_update
  • config.json

Personnaliser les fichiers de certificat

Cette procédure explique comment personnaliser les fichiers de certificat utilisés pour les connexions sécurisées au instance Docker de découverte du cloud.

  1. Ouvrez un client FTP et connectez-vous à l’hôte du collecteur de journaux.

  2. Accédez au ssl_update répertoire et chargez les nouveaux fichiers de certificat, y compris les fichiers suivants :

    Type de récepteur Fichiers requis
    FTP - pure-ftpd.pem : inclut les données de clé et de certificat
    Syslog - ca.pem : certificat de l’autorité de certification utilisé pour signer le certificat du client.
    - server-key.pem et server-cert.pem : certificat et clé du collecteur de journaux

    Les messages Syslog sont envoyés via TLS au collecteur de journaux, ce qui nécessite une authentification TLS mutuelle, y compris l’authentification des certificats client et serveur.

    Les noms de fichiers sont obligatoires. Si l’un des fichiers est manquant, la mise à jour échoue.

  3. Dans une fenêtre de terminal, exécutez :

    docker exec -t <collector name> update_certs
    

    La sortie doit ressembler au code suivant :

    root@DockerPlayground:~# docker exec -t columbus update_certs
    rsyslog: stopped
    rsyslog: started
    ftpd: stopped
    ftpd: started
    root@DockerPlayground:~#
    
  4. Dans une fenêtre de terminal, exécutez :

    docker exec <collector name> chmod -R 700 /etc/ssl/private/
    

Activer le collecteur de journaux derrière un proxy

Si vous exécutez derrière un proxy, le collecteur de journaux peut rencontrer des problèmes lors de l’envoi de données à Defender for Cloud Apps. Par exemple, cela peut se produire parce que le collecteur de journaux n’approuve pas l’autorité de certification racine du proxy et n’est pas en mesure de se connecter à Microsoft Defender for Cloud Apps pour récupérer sa configuration ou charger les journaux reçus.

Les procédures suivantes décrivent comment activer votre collecteur de journaux derrière un proxy.

Conseil

Vous pouvez également modifier les certificats utilisés par le collecteur de journaux pour Syslog ou FTP, ou résoudre les problèmes de connectivité des pare-feu et des proxys au collecteur de journaux. Pour plus d’informations, consultez Modifier la configuration FTP du collecteur de journaux.

Configurer le collecteur de journaux derrière un proxy

Vérifiez que vous avez effectué les étapes nécessaires pour exécuter Docker sur une machine Windows ou Linux et que vous avez correctement téléchargé l’image Docker Defender for Cloud Apps sur votre ordinateur hôte.

Pour plus d’informations, consultez Configurer le chargement automatique des journaux pour les rapports continus.

Valider la création du conteneur du collecteur de journaux Docker

Vérifiez que le conteneur a été créé et qu’il est en cours d’exécution. Dans l’interpréteur de commandes, exécutez :

docker ps

Vous devriez voir quelque chose de similaire à la sortie suivante :

Capture d’écran du conteneur Docker en cours d’exécution.

Copier le certificat d’autorité de certification racine du proxy dans le conteneur

À partir de votre machine virtuelle, copiez le certificat d’autorité de certification dans le conteneur Defender for Cloud Apps. Dans l’exemple suivant, le conteneur est nommé Ubuntu-LogCollector et le certificat d’autorité de certification est nommé Proxy-CA.crt.

La commande suivante copie le certificat dans un dossier du conteneur en cours d’exécution. Exécutez la commande sur l’hôte Ubuntu :

docker cp Proxy-CA.crt Ubuntu-LogCollector:/var/adallom/ftp/discovery

Définir la configuration pour qu’elle fonctionne avec le certificat d’autorité de certification

  1. Accédez au conteneur. Exécutez la commande suivante pour ouvrir bash dans le conteneur du collecteur de journaux :

    docker exec -it Ubuntu-LogCollector /bin/bash
    
  2. À partir d’une fenêtre bash à l’intérieur du conteneur, accédez au dossier Java jre . Pour éviter une erreur de chemin d’accès lié à la version, utilisez la commande suivante :

    cd "$(find /opt/jdk/*/jre -name "bin" -printf '%h' -quit)"
    cd bin
    
  3. Importez le certificat racine que vous avez copié précédemment à partir du dossier de découverte dans le magasin de clés Java et définissez un mot de passe.

    Le mot de passe par défaut est changeit. Pour plus d’informations, consultez Modifier le mot de passe du magasin de clés Java.

    ./keytool --import --noprompt --trustcacerts --alias SelfSignedCert --file /var/adallom/ftp/discovery/Proxy-CA.crt --keystore ../lib/security/cacerts --storepass <password>
    
  4. Vérifiez que le certificat a été importé correctement dans le magasin de clés de l’autorité de certification. Exécutez la commande suivante pour rechercher l’alias que vous avez fourni lors de l’importation (SelfSignedCert) :

    ./keytool --list --keystore ../lib/security/cacerts | grep self
    

Votre certificat d’autorité de certification proxy importé s’affiche.

Restreindre les adresses IP qui envoient des messages syslog au collecteur de journaux sur Linux

Pour sécuriser l’image Docker et vous assurer qu’une seule adresse IP est autorisée à envoyer les messages syslog au collecteur de journaux, créez une règle de table IP sur l’ordinateur hôte pour autoriser le trafic d’entrée et supprimer le trafic provenant de ports spécifiques, tels que TCP/601 ou UDP/514, en fonction du déploiement.

La commande suivante montre un exemple de création d’une règle de table IP qui peut être ajoutée à l’ordinateur hôte. Cette règle de table permet à l’adresse IP « 1.2.3.4 » de se connecter au conteneur du collecteur de journaux sur le port TCP 601 et de supprimer toutes les autres connexions provenant d’autres adresses IP sur le même port.

iptables -I DOCKER-USER \! --src 1.2.3.4 -m tcp -p tcp --dport 601 -j DROP

Définir le collecteur de journaux pour qu’il s’exécute avec la nouvelle configuration

Le conteneur est maintenant prêt.

Exécutez la commande collector_config à l’aide du jeton d’API que vous avez utilisé lors de la création de votre collecteur de journaux. Par exemple :

Capture d’écran de la boîte de dialogue Créer un collecteur de journaux.

Lorsque vous exécutez la commande, spécifiez votre propre jeton d’API, par exemple collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}

Par exemple :

Capture d’écran d’un exemple de mise à jour de configuration.

Le collecteur de journaux est désormais en mesure de communiquer avec Defender for Cloud Apps. Après avoir envoyé des données à Defender for Cloud Apps, le status du collecteur de journaux passe de Sain à Connecté. Par exemple :

Capture d’écran du status de chargement.

Remarque

Si vous devez mettre à jour la configuration du collecteur de journaux, par exemple pour ajouter ou supprimer une source de données, vous devez normalement supprimer le conteneur et effectuer à nouveau les étapes précédentes.

Pour éviter cela, vous pouvez réexécuter l’outil collector_config avec le nouveau jeton d’API généré dans le portail Defender for Cloud Apps.

Modifier le mot de passe du magasin de clés Java

  1. Arrêtez le serveur Java KeyStore.

  2. Ouvrez un interpréteur de commandes bash à l’intérieur du conteneur et accédez au dossier appdata/conf .

  3. Pour modifier le mot de passe du magasin de clés du serveur, exécutez :

    keytool -storepasswd -new newStorePassword -keystore server.keystore
    -storepass changeit
    

    Le mot de passe du serveur par défaut est changeit.

  4. Pour modifier le mot de passe du certificat, exécutez :

    keytool -keypasswd -alias server -keypass changeit -new newKeyPassword -keystore server.keystore -storepass newStorePassword
    

    L’alias de serveur par défaut est server.

  5. Dans un éditeur de texte, ouvrez le fichier server-install\conf\server\secured-installed.properties . Ajoutez les lignes de code suivantes, puis enregistrez les modifications :

    1. Spécifiez le nouveau mot de passe Java KeyStore pour le serveur : server.keystore.password=newStorePassword
    2. Spécifiez le nouveau mot de passe de certificat pour le serveur : server.key.password=newKeyPassword
  6. Démarrez le serveur.

Déplacer le collecteur de journaux vers une autre partition de données sur Linux

De nombreuses entreprises ont l’obligation de déplacer des données vers une partition distincte. Cette procédure explique comment déplacer votre Defender for Cloud Apps images du collecteur de journaux Docker vers une partition de données sur votre hôte Linux.

Cette procédure décrit le déplacement de données vers une partition appelée magasin de données et suppose que vous avez déjà monté la partition. Par exemple :

Liste des partitions Linux.

L’ajout et la configuration d’une nouvelle partition sur votre hôte Linux ne sont pas dans l’étendue de ce guide.

Pour déplacer votre collecteur de journaux vers une autre partition :

  1. Arrêtez le service Docker. Courir:

    service docker stop
    
  2. Déplacez les données du collecteur de journaux vers la nouvelle partition. Courir:

    mv /var/lib/docker /datastore/docker
    
  3. Supprimez l’ancien répertoire de stockage Docker (/var/lib/docker) et créez un lien symbolique vers le nouveau répertoire (/datastore/docker). Courir:

    rm -rf /var/lib/docker && ln -s /datastore/docker /var/lib/
    
  4. Démarrez le service Docker. Courir:

    service docker start
    
  5. Si vous le souhaitez, vérifiez le status de votre collecteur de journaux. Courir:

    docker ps
    

Inspecter l’utilisation du disque du collecteur de journaux sur Linux

Cette procédure explique comment passer en revue l’utilisation et l’emplacement de votre disque du collecteur de journaux.

  1. Identifiez le chemin d’accès au répertoire dans lequel les données du collecteur de journaux sont stockées. Courir:

    docker inspect <collector_name> | grep WorkDir
    

    Par exemple :

    Capture d’écran montrant comment identifier le répertoire du collecteur de journaux.

  2. Obtenez la taille sur le disque du collecteur de journaux à l’aide du chemin identifié sans le suffixe « /work ». Courir:

    du -sh /var/lib/docker/overlay2/<log_collector_id>/
    

    Capture d’écran montrant comment identifier la taille du collecteur de journaux sur le disque.

    Remarque

    Si vous avez seulement besoin de connaître la taille du disque, vous pouvez utiliser la commande suivante à la place : docker ps -s

Déplacer le collecteur de journaux vers un hôte accessible

Dans les environnements réglementés, l’accès à Docker Hubs où l’image du collecteur de journaux est hébergée peut être bloqué. Cela empêche Defender for Cloud Apps d’importer les données à partir du collecteur de journaux et peut être résolu en déplaçant l’image du collecteur de journaux vers un hôte accessible.

Cette procédure explique comment télécharger l’image du collecteur de journaux à l’aide d’un ordinateur qui a accès à Docker Hub et l’importer sur votre hôte de destination.

L’image téléchargée peut être importée dans votre dépôt privé ou directement sur votre hôte. Cette procédure explique comment télécharger votre image de collecteur de journaux sur votre ordinateur Windows, puis utiliser WinSCP pour déplacer le collecteur de journaux vers votre hôte de destination.

Configuration requise

  1. Vérifiez que Docker est installé sur votre hôte. Par exemple, utilisez l’un des téléchargements suivants :

  2. Après le téléchargement, utilisez le guide d’installation hors connexion de Docker pour installer votre système d’exploitation.

    Démarrez le processus en exportant l’image du collecteur de journaux , puis importez l’image dans votre hôte de destination.

Exporter l’image du collecteur de journaux à partir de votre Docker Hub

Les procédures suivantes décrivent comment exporter l’image du collecteur de journaux à l’aide de Linux ou de Windows.

Exporter l’image sur Linux

  1. Sur un ordinateur Linux qui a accès au Docker Hub, exécutez la commande suivante pour installer Docker et télécharger l’image du collecteur de journaux.

    curl -o /tmp/MCASInstallDocker.sh https://adaprodconsole.blob.core.windows.net/public-files/MCASInstallDocker.sh && chmod +x /tmp/MCASInstallDocker.sh; /tmp/MCASInstallDocker.sh
    
  2. Exportez l’image du collecteur de journaux. Courir:

    docker save --output /tmp/mcasLC.targ mcr.microsoft.com/mcas/logcollector
    chmod +r /tmp/mcasLC.tar
    

    Importante

    Veillez à utiliser le paramètre de sortie pour écrire dans un fichier au lieu de STDOUT.

  3. Téléchargez l’image du collecteur de journaux sur votre ordinateur Windows sous C:\mcasLogCollector\ à l’aide de WinSCP. Par exemple :

    Capture d’écran du téléchargement du collecteur de journaux sur un ordinateur Windows.

Exporter l’image sur Windows

  1. Sur un ordinateur Windows 10 qui a accès au Docker Hub, installez Docker Desktop.

  2. Téléchargez l’image du collecteur de journaux. Courir:

    docker login -u caslogcollector -p C0llector3nthusiast
    docker pull mcr.microsoft.com/mcas/logcollector
    
  3. Exportez l’image du collecteur de journaux. Courir:

    docker save --output C:\mcasLogCollector\mcasLC.targ mcr.microsoft.com/mcas/logcollector
    

    Importante

    Veillez à utiliser le paramètre de sortie pour écrire dans un fichier au lieu de STDOUT.

Importer et charger l’image du collecteur de journaux sur votre hôte de destination

Cette procédure décrit comment transférer l’image exportée vers votre hôte de destination.

  1. Chargez l’image du collecteur de journaux sur votre hôte de destination sous /tmp/. Par exemple :

    Capture d’écran du chargement du collecteur de journaux sur l’hôte de destination.

  2. Sur l’hôte de destination, importez l’image du collecteur de journaux dans le référentiel d’images Docker. Courir:

    docker load --input /tmp/mcasLC.tar
    

    Par exemple :

    Capture d’écran de l’importation de l’image du collecteur de journaux dans le référentiel Docker.

  3. Si vous le souhaitez, vérifiez que l’importation s’est terminée correctement. Courir:

    docker image ls
    

    Par exemple :

    Capture d’écran de la vérification de la réussite de l’importation du collecteur de journaux.

    Vous pouvez maintenant créer votre collecteur de journaux à l’aide de l’image de l’hôte de destination.

Définir des ports personnalisés pour les récepteurs Syslog et FTP pour les collecteurs de journaux sur Linux

Certaines organisations doivent définir des ports personnalisés pour les services Syslog et FTP.

Lorsque vous ajoutez une source de données, Defender for Cloud Apps collecteurs de journaux utilisent des numéros de port spécifiques pour écouter les journaux de trafic à partir d’une ou plusieurs sources de données.

Le tableau suivant répertorie les ports d’écoute par défaut pour les récepteurs :

Type de récepteur Ports
Syslog * UDP/514 - UDP/51x
* TCP/601 - TCP/60x
FTP * TCP/21

Pour définir des ports personnalisés, procédez comme suit :

  1. Dans le portail Microsoft Defender, sélectionnez Paramètres. Choisissez ensuite Cloud Apps.

  2. Sous Cloud Discovery, sélectionnez Chargement automatique des journaux. Sélectionnez ensuite l’onglet Collecteurs de journaux .

  3. Sous l’onglet Collecteurs de journaux , ajoutez ou modifiez un collecteur de journaux et, après avoir mis à jour les sources de données, copiez la commande run à partir de la boîte de dialogue. Par exemple :

    Copier la commande d’exécution à partir de l’Assistant Collecteur de journaux.

    Si elle est utilisée comme fournie, la commande fournie par l’Assistant configure le collecteur de journaux pour utiliser les ports 514/udp et 515/udp. Par exemple :

    (echo <credentials>) | docker run --name LogCollector1 -p 514:514/udp -p 515:515/udp -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.0.0.100'" -e "PROXY=" -e "SYSLOG=true" -e "CONSOLE=machine.us2.portal.cloudappsecurity.com" -e "COLLECTOR=LogCollector1" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
    

    Par exemple :

    Capture d’écran de la commande exécutée à partir de l’Assistant Collecteur de journaux.

  4. Avant d’utiliser la commande sur votre ordinateur hôte, modifiez la commande pour utiliser vos ports personnalisés. Par exemple, pour configurer le collecteur de journaux pour utiliser les ports UDP 414 et 415, modifiez la commande comme suit :

    (echo <credentials>) | docker run --name LogCollector1 -p 414:514/udp -p 415:515/udp -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='10.0.0.100'" -e "PROXY=" -e "SYSLOG=true" -e "CONSOLE=machine.us2.portal.cloudappsecurity.com" -e "COLLECTOR=LogCollector1" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
    

    Par exemple :

    Capture d’écran d’une commande d’exécution personnalisée.

    Remarque

    Seul le mappage Docker est modifié. Les ports attribués en interne ne sont pas modifiés, ce qui vous permet de choisir un port d’écoute sur l’hôte.

Valider le trafic et le format de journal reçus par le collecteur de journaux sur Linux

Parfois, vous devrez peut-être examiner des problèmes tels que les suivants :

  • Les collecteurs de journaux reçoivent des données : vérifiez que les collecteurs de journaux reçoivent des messages Syslog de vos appliances et qu’ils ne sont pas bloqués par des pare-feu.
  • Les données reçues sont au format de journal correct : validez le format de journal pour vous aider à résoudre les erreurs d’analyse en comparant le format de journal attendu par Defender for Cloud Apps et celui envoyé par votre Appliance.

Procédez comme suit pour vérifier que le trafic est reçu par les collecteurs de journaux :

  1. Connectez-vous à votre serveur hébergeant le conteneur Docker.

  2. Vérifiez que le collecteur de journaux reçoit des messages Syslog à l’aide de l’une des méthodes suivantes :

    • Utilisez tcpdump ou une commande similaire pour analyser le trafic réseau sur le port 514 :

      tcpdump -Als0 port 514
      

      Si tout est correctement configuré, vous devez voir le trafic réseau de vos appliances. Par exemple :

      Capture d’écran de l’analyse du trafic réseau via tcpdump.

    • Utilisez netcat ou une commande similaire pour analyser le trafic réseau sur l’ordinateur hôte :

      1. Installez netcat et wget.

      2. Téléchargez un exemple de fichier journal à partir de Microsoft Defender XDR. Si nécessaire, décompressez le fichier journal.

        1. Dans Microsoft Defender XDR, sous Cloud Apps, sélectionnezActions>Cloud Discovery>Créer un rapport de instantané Cloud Discovery.

        2. Sélectionnez la source de données à partir de laquelle vous souhaitez charger les fichiers journaux.

        3. Sélectionnez Afficher et vérifiez , puis cliquez avec le bouton droit sur Télécharger l’exemple de journal et copiez le lien de l’adresse URL.

        4. Sélectionnez Fermer>Annuler.

      3. Courir:

        wget <URL_address_to_sample_log>
        
      4. Exécutez netcat pour diffuser en continu les données vers le collecteur de journaux.

        cat <path_to_downloaded_sample_log>.log | nc -w 0 localhost <datasource_port>
        

      Si le collecteur est correctement configuré, les données du journal sont présentes dans le fichier de messages et peu de temps après, elles sont chargées sur le portail Defender for Cloud Apps.

    • Inspectez les fichiers pertinents dans le conteneur Docker Defender for Cloud Apps :

      1. Connectez-vous au conteneur. Courir:

        docker exec -it <Container Name> bash
        
      2. Déterminez si les messages Syslog sont écrits dans le fichier de messages. Courir:

        cat /var/adallom/syslog/<your_log_collector_port>/messages
        

      Si tout est correctement configuré, vous devez voir le trafic réseau de vos appliances. Par exemple :

      Capture d’écran de l’analyse du trafic à l’aide de la commande cat.

      Remarque

      Ce fichier continuera d’être écrit dans jusqu’à ce qu’il atteigne une taille de 40 Ko. Par exemple :

  3. Passez en revue les journaux qui ont été chargés sur Defender for Cloud Apps dans le /var/adallom/discoverylogsbackup répertoire. Par exemple :

    Passez en revue les fichiers journaux chargés.

  4. Validez le format de journal reçu par le collecteur de journaux en comparant les messages stockés dans /var/adallom/discoverylogsbackup à l’exemple de format de journal fourni dans le Defender for Cloud Apps Assistant Création d’un collecteur de journaux.

Écrire la sortie du fichier de messages dans un fichier local

Si vous souhaitez utiliser votre propre exemple de journal, mais que vous n’avez pas accès au Appliance, utilisez les commandes suivantes pour écrire la sortie du fichier de messages, situé dans le répertoire syslog du collecteur de journaux, dans un fichier local sur l’hôte :

docker exec CustomerLogCollectorName tail -f -q /var/adallom/syslog/<datasource_port>/messages > /tmp/log.log

Comparez le fichier de sortie (/tmp/log.log) aux messages stockés dans le /var/adallom/discoverylogsbackup répertoire.

Mettre à jour la version du collecteur de journaux

Lors de la mise à jour de votre collecteur de journaux :

  • Avant d’installer la nouvelle version, veillez à arrêter votre collecteur de journaux et à supprimer l’image actuelle.
  • Après avoir installé la nouvelle version, mettez à jour vos fichiers de certificat.

Étapes suivantes

Si vous rencontrez des problèmes, nous sommes là pour vous aider. Pour obtenir de l’aide ou du support pour votre problème de produit, ouvrez un ticket de support.