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 :
Connectez-vous à l’hôte du collecteur de journaux et exécutez :
docker exec -it <collector name> pure-pw passwd <ftp user>
Entrez votre nouveau mot de passe, puis entrez-le à nouveau pour confirmer.
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.
Ouvrez un client FTP et connectez-vous à l’hôte du collecteur de journaux.
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.
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 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 :
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
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 d’accès lié à 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 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>
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 :
Lorsque vous exécutez la commande, spécifiez votre propre jeton d’API, 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, le status du collecteur de journaux passe de Sain à Connecté. Par exemple :
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
Arrêtez le serveur Java KeyStore.
Ouvrez un interpréteur de commandes bash à l’intérieur du conteneur et accédez au dossier appdata/conf .
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
.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.
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 Java KeyStore pour le serveur :
server.keystore.password=newStorePassword
- Spécifiez le nouveau mot de passe de certificat pour le serveur :
server.key.password=newKeyPassword
- Spécifiez le nouveau mot de passe Java KeyStore pour le serveur :
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 :
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. Courir:
service docker stop
Déplacez les données du collecteur de journaux vers la nouvelle partition. Courir:
mv /var/lib/docker /datastore/docker
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/
Démarrez le service Docker. Courir:
service docker start
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.
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 :
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>/
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
Vérifiez 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 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
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
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.
Téléchargez l’image du collecteur de journaux sur votre ordinateur Windows sous
C:\mcasLogCollector\
à l’aide de WinSCP. Par exemple :
Exporter l’image sur Windows
Sur un ordinateur Windows 10 qui a accès au Docker Hub, installez Docker Desktop.
Téléchargez l’image du collecteur de journaux. Courir:
docker login -u caslogcollector -p C0llector3nthusiast docker pull mcr.microsoft.com/mcas/logcollector
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.
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. Courir:
docker load --input /tmp/mcasLC.tar
Par exemple :
Si vous le souhaitez, vérifiez que l’importation s’est terminée correctement. Courir:
docker image ls
Par exemple :
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 :
Dans le portail Microsoft Defender, sélectionnez Paramètres. Choisissez ensuite Cloud Apps.
Sous Cloud Discovery, sélectionnez Chargement automatique des journaux. Sélectionnez ensuite l’onglet Collecteurs de journaux .
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 :
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 :
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 :
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 :
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 Cloud Apps, sélectionnezActions>Cloud Discovery>Créer un rapport de instantané Cloud Discovery.
Sélectionnez la source de données à partir de laquelle vous souhaitez charger les fichiers journaux.
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.
Sélectionnez Fermer>Annuler.
Courir:
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 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 :
Connectez-vous au conteneur. Courir:
docker exec -it <Container Name> bash
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 :
Remarque
Ce fichier continuera d’être écrit dans jusqu’à ce qu’il atteigne une taille de 40 Ko. Par exemple :
Passez en revue les journaux qui ont été chargés sur Defender for Cloud Apps dans le
/var/adallom/discoverylogsbackup
répertoire. Par exemple :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.