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 :
Connectez-vous à l’hôte du collecteur de journaux et exécutez-le.
docker exec -it <collector name> pure-pw passwd <ftp user>
Saisissez votre nouveau mot de passe, puis saisissez un nouveau mot de passe et confirmez-le.
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.
Ouvrez un client FTP et connectez-vous à l’hôte du collecteur de journaux.
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.
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:~#
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 :
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
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
À 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
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>
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 proxy importé s’affiche.
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 :
Lorsque vous exécutez la commande, spécifiez votre propre jeton d’API, comme par exemple collector_config abcd1234abcd1234abcd1234abcd1234 ${CONSOLE} ${COLLECTOR}
Par exemple :
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 :
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
Arrêtez le serveur du magasins de clés Java.
Ouvrez un bash à l’intérieur du conteneur et accédez au dossier appdata/conf.
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
.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.
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 :
- Spécifiez le nouveau mot de passe du magasin de clés Java pour le serveur :
server.keystore.password=newStorePassword
- Spécifiez le nouveau mot de passe du certificat pour le serveur :
server.key.password=newKeyPassword
- Spécifiez le nouveau mot de passe du magasin de clés Java pour le serveur :
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 :
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 :
Arrêtez le service Docker. Run :
service docker stop
Déplacez les données du collecteur de journaux vers la nouvelle partition. Run :
mv /var/lib/docker /datastore/docker
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/
Démarrez le service Docker. Run :
service docker start
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.
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 :
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>/
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
Assurez-vous que Docker est installé sur votre hôte : Par exemple, utilisez l’un des téléchargements suivants :
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
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
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.
Téléchargez l’image du collecteur de journaux sur votre ordinateur Windows à
C:\mcasLogCollector\
l’aide de WinSCP. Par exemple :
Exporter l’image sur Windows
Sur un ordinateur Windows 10 qui a accès à Docker Hub, installez Docker Desktop.
Téléchargez l’image du collecteur de journaux. Run :
docker login -u caslogcollector -p C0llector3nthusiast docker pull mcr.microsoft.com/mcas/logcollector
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.
Chargez l’image du collecteur de journaux sur votre hôte de destination sous
/tmp/
. Par exemple :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 :
Si vous le souhaitez, vérifiez que l'importation s'est déroulée correctement. Run :
docker image ls
Par exemple :
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 :
Dans le portail Microsoft Defender, sélectionnez Paramètres. Choisissez ensuite Logiciels cloud.
Sous Cloud Discovery, choisissez Chargement automatique de journaux. Ensuite, sélectionnez l’onglet Collecteur de journaux.
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 :
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 :
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 :
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 :
Connectez-vous à votre serveur hébergeant le conteneur Docker.
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 :
Utilisez netcat ou une commande similaire pour analyser le trafic réseau sur l’ordinateur hôte :
Installez netcat et wget.
Téléchargez un exemple de fichier journal à partir de Microsoft Defender XDR. Si nécessaire, décompressez le fichier journal.
Dans Microsoft Defender XDR, sous Applications Cloud, sélectionnez Cloud Discovery>Actions>Créer un rapport d'instantané de découverte du cloud.
Sélectionnez la source de données à partir de laquelle vous voulez charger les fichiers journaux.
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.
Sélectionnez Fermer>l’annulation.
Run :
wget <URL_address_to_sample_log>
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 :
Se connecter au conteneur. Run :
docker exec -it <Container Name> bash
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 :
Remarque
Ce fichier continuera d’être écrit jusqu’à ce qu’il atteigne une taille de 40 Ko. Par exemple :
Examinez les journaux qui ont été téléchargés vers Defender for Cloud Apps dans le répertoire
/var/adallom/discoverylogsbackup
. Par exemple :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.