Gestion avancée du collecteur de journaux

Cet article explique comment configurer des options avancées pour les collecteurs de journaux Cloud Discovery de Defender for Cloud Apps.

Defender for Cloud Apps cloud discovery continue de se concentrer sur les formats de base du pare-feu. Les modifications apportées aux journaux transférés au niveau du pare-feu peuvent ne pas continuer à fonctionner, ou causer des problèmes d'analyse. Si vous constatez 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 journaux personnalisé.

Cet article décrit comment modifier la configuration de votre Docker de découverte de Defender for Cloud Apps.

Modifier la configuration FTP du collecteur de journaux

Suivez ces étapes dans les sections suivantes pour modifier la configuration de votre Docker Defender for Cloud Apps Cloud Discovery.

Vérifier la version du collecteur de journaux

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

cat /var/adallom/versions | grep columbus-

Changer le mot de passe FTP

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

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

    docker exec -it <collector name> pure-pw passwd <ftp user>
    
  2. Saisissez votre nouveau mot de passe, puis saisissez un nouveau mot de passe et confirmez-le.

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

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

Vous devez maintenant être en mesure d’afficher les contenus suivants :

  • run_logs
  • ssl_update
  • config.json

Personnaliser les fichiers de certificats

Cette procédure décrit la manière de personnaliser les fichiers de certificats que vous utilisez pour obtenir des connexions sécurisées à l’instance Docker Cloud Discovery.

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

  2. Naviguez vers l’annuaire ssl_update et chargez les nouveaux fichiers de certificat, y compris les fichiers suivants :

    Type de récepteur Fichiers obligatoires
    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 absent, 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 quand le collecteur de journaux ne fait pas confiance à l’autorité de certification racine du proxy et qu’il ne peut pas 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-feux et des proxys vers le collecteur de journaux. Pour en savoir plus, consultez la section Modifier la configuration FTP du collecteur de journaux.

Configurer le collecteur de journaux derrière un proxy

Assurez-vous d’avoir effectué les étapes nécessaires pour l’exécution de Docker sur un ordinateur Windows ou Linux et que vous avez téléchargé l’image Docker de Defender for Cloud Apps sur l’ordinateur hôte.

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

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

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

docker ps

Vous devez obtenir un graphique 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 sur le conteneur

À partir de votre machine virtuelle, copiez le certificat d’autorité de certification sur 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 liée à 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 discovery 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 Changer le mot de passe Java KeyStore.

    ./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 confiance. Exécutez la commande suivante pour rechercher l’alias que vous avez fourni pendant l’importation (SelfSignedCert) :

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

Votre certificat d’autorité de certification de proxy importé doit s’afficher. Par exemple :

Capture d'écran de l'interface keytool.

Restreindre les adresses IP envoyant des messages syslog au collecteur de journaux sous Linux.

Pour sécuriser l’image Docker et vérifier 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, selon le 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

Configurer 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, comme 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, l’état du collecteur de journaux passe de Sain à Connecté. Par exemple :

Capture d'écran de l'état du téléchargement.

Remarque

Si vous devez mettre à jour la configuration du collecteur de journaux, pour ajouter ou supprimer une source de données, par exemple, vous devez normalement supprimer le conteneur et effectuer de 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.

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

  1. Arrêtez le serveur du magasins de clés Java.

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

  3. Pour modifier le mot de passe keyStore 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 changer le mot de passe du certificat, exécutez :

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

    L’alias du 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 du magasin de clés Java pour le serveur : server.keystore.password=newStorePassword
    2. Spécifiez le nouveau mot de passe du 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 sociétés ont la nécessité de déplacer des données vers une partition distincte. Cette procédure explique comment déplacer vos images de collecteur de journaux Docker Defender for Cloud Apps 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. Run :

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

    mv /var/lib/docker /datastore/docker
    
  3. Supprimez l’ancien annuaire de stockage Docker (/var/lib/docker) et créez un lien symbolique vers le nouvel annuaire (/datastore/docker). Run :

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

    service docker start
    
  5. Si vous le souhaitez, vérifiez l’état de votre collecteur de journaux. Run :

    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. Run :

    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 ». Run :

    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 devez uniquement connaître la taille sur le disque, vous pouvez utiliser la commande suivante à la place : docker ps -s

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

Dans les environnements réglementés, l’accès aux 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 de résoudre mon déplacement de 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 dans votre hôte de destination.

L’image téléchargée peut être importée dans votre référentiel 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.

Prérequis

  1. Assurez-vous 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 Docker pour installer votre système d’exploitation.

    Démarrez le processus en exportant l’image du collecteur de journaux, puis importez l’image sur 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, en utilisant Linux ou Windows.

Exporter l’image sur Linux

  1. Sur un ordinateur Linux ayant accès au hub Docker, 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. Run :

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

    Important

    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 à 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 à Docker Hub, installez Docker Desktop.

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

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

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

    Important

    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 téléchargement du collecteur de journaux vers 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. Run :

    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 déroulée correctement. Run :

    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 continuer à créer votre collecteur de journaux à l’aide de l’image à partir 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 ont besoin de définir des ports personnalisés pour les services Syslog et FTP.

Lorsque vous ajoutez une source de données, les collecteurs de journaux Defender for Cloud Apps utilise des numéros de port spécifiques pour écouter les journaux de trafic 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, suivez les étapes suivantes :

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

  2. Sous Cloud Discovery, choisissez Chargement automatique de journaux. Ensuite, sélectionnez l’onglet Collecteur de journaux.

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

    Copiez la commande d'exécution de l'assistant du collecteur de journaux.

    Si elle est utilisée comme fourni, 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 du 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 de la manière suivante :

    (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 quelconque 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 à partir de vos appliances et ne sont pas bloqués par des pare-feux.
  • 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 Applications Cloud, sélectionnez Cloud Discovery>Actions>Créer un rapport d'instantané de découverte du cloud.

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

        3. Sélectionnez Afficher et vérifier, 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>l’annulation.

      3. Run :

        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 de journal sont présentes dans le fichier messages et peu de temps après son chargement sur le portail Defender for Cloud Apps.

    • Inspectez les fichiers pertinents au sein du conteneur Docker de Defender for Cloud Apps :

      1. Se connecter au conteneur. Run :

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

        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 jusqu’à ce qu’il atteigne une taille de 40 Ko. Par exemple :

  3. Examinez les journaux qui ont été téléchargés vers Defender for Cloud Apps dans le répertoire /var/adallom/discoverylogsbackup. Par exemple :

    Examinez les fichiers journaux télé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 avec l’exemple de format de journal fourni dans l’Assistant Création d’un collecteur de journaux Defender for Cloud Apps.

É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 à l’appliance, utilisez les commandes suivantes pour écrire la sortie du fichier de messages, située 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 l’annuaire /var/adallom/discoverylogsbackup.

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 certificats.

É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, veuillez ouvrir un ticket de support.