Résoudre les problèmes courants
Ce document fournit un ensemble de conseils et de procédures pour vous aider à diagnostiquer et à résoudre les problèmes courants rencontrés lors du déploiement et de l'utilisation de l'agent distant Google Security Operations.
Problème de non-concordance des clés
Ce problème se produit lorsque les clés privées de Google Security Operations et de l'agent distant ne correspondent pas. Pour résoudre ce problème, assurez-vous que la clé des ressources de l'agent correspond à la clé du agent_db Siemplify.
Échec du connecteur distant
Si un connecteur distant échoue, procédez comme suit :
- Vérifiez qu'une instance d'intégration est bien installée sur l'agent.
- Vérifiez les journaux agentiques au niveau de l'erreur pour trouver d'éventuels échecs dans le processus de connexion.
- Testez la même configuration de connecteur localement et vérifiez s'il y a des erreurs.
Échec de l'installation : OS hôte non compatible ou incompatibilités de fin de vie
Si les nouvelles installations ou les mises à niveau automatiques échouent en raison d'erreurs de suivi glibc et de blocages d'appels système, procédez comme suit :
- Vérifiez que l'environnement hôte n'exécute pas un ancien système d'exploitation, qui pourrait ne pas disposer de hooks d'appel système modernes.
- Réhébergez l'environnement de l'agent sur une distribution Linux d'entreprise avec la dernière version officielle.
-
Assurez-vous que l'hôte est une plate-forme compatible : Debian 12 (base officielle), RHEL 8.7 :
Vérifiez
/etc/os-release: exécutez la commande suivante et recherchezNAME=etVERSION_ID=:cat /etc/os-release- Pour Debian 12 : recherchez
NAME="Debian GNU/Linux"etVERSION_ID="12". - Pour RHEL 8.7 : recherchez
NAME="Red Hat Enterprise Linux"etVERSION_ID="8.7".
- Pour Debian 12 : recherchez
La configuration du conteneur extrait la couche opérationnelle précédente au lieu de la "dernière" compilation
Si l'exécution des commandes de configuration du conteneur extrait par inadvertance une couche opérationnelle précédente au lieu de la nouvelle version logicielle, exécutez les commandes suivantes pour extraire explicitement la dernière image :
Pour Docker :
docker pull us-docker.pkg.dev/siem-ar-public/images/agent:latestPour Podman :
podman pull us-docker.pkg.dev/siem-ar-public/images/agent:latest
Pour vous assurer que le déploiement s'exécute sur la version logicielle la plus récente, extrayez toujours la dernière image avant d'exécuter la commande d'exécution de l'agent.
Échec du déploiement de l'agent Docker
Si le déploiement Docker échoue, procédez comme suit :
- Supprimez le conteneur Docker :
Exécutez la commande suivante pour lister les conteneurs en cours d'exécution :
docker psExécutez la commande suivante pour supprimer les conteneurs défaillants :
docker rm -f container_id_or_name
- Supprimez les images :
Exécutez la commande suivante pour lister les images :
docker imagesExécutez la commande suivante pour supprimer l'image :
docker rmi image_id_or_name
- Supprimez les volumes :
Exécutez la commande suivante pour lister les volumes :
docker volume lsExécutez la commande suivante pour supprimer les volumes :
docker volume rm volume_name
- Redéployez l'agent. Pour en savoir plus, consultez Créer un agent à l'aide de Docker.
Agent bloqué à l'état "En attente de l'agent"
Si l'agent a bien été déployé, mais que l'état reste "En attente de l'agent", suivez ces étapes pour résoudre le problème :
- Vérifier la connectivité de l'hôte : testez la connectivité Internet de la machine hôte de l'agent (par exemple,
curl www.google.comouping 8.8.8.8). En cas d'échec, le problème est lié à la connexion Internet de l'hôte. Vérifier la connectivité du conteneur : si le test de l'hôte réussit, entrez dans le shell du conteneur à l'aide de
docker exec -it container_ID bashet vérifiez à nouveau la connectivité. Si le conteneur n'est pas connecté, redémarrez le service Docker sur la machine hôte (service docker restart).Exécutez la commande suivante :
docker exec -itbash - Vérifiez à nouveau la connectivité comme vous l'avez fait précédemment.
- Si vous n'avez pas de connectivité, exécutez la commande suivante pour redémarrer le service Docker à partir de la machine hôte (et non du conteneur) :
service docker restart Exécutez la commande suivante pour redémarrer le conteneur :
docker start
Rechercher les erreurs dans les journaux de conteneur
Si l'étape précédente n'a pas résolu le problème et que l'état de l'agent est toujours "En attente de l'agent" après l'actualisation de la page Agent distant dans Google SecOps, reconnectez-vous au conteneur et récupérez les journaux.
- Recherchez les journaux dans le répertoire
/var/log/SiemplifyAgent/. - Recherchez d'éventuelles erreurs dans les fichiers journaux pour identifier la cause du problème.
- Recherchez les journaux dans le répertoire
Problèmes de réseau DNS
Si le conteneur rencontre des échecs de résolution DNS ou des problèmes de connectivité réseau, ajoutez --network host à la commande docker run. Le mode réseau hôte permet au conteneur de partager directement la pile réseau et la configuration DNS de la machine hôte.
Échec du chargement de l'image Docker (le transfert IP4 est désactivé)
Si une erreur s'affiche dans la CLI lorsque vous essayez de charger une image Docker (système) ou un agent Google SecOps, il est possible que le transfert IP4 soit désactivé. Pour l'activer et redémarrer votre agent, procédez comme suit :
Ajoutez la ligne suivante au fichier
/etc/sysctl.conf:net.ipv4.ip_forward=1Notez que vous devrez utiliser un éditeur de fichiers (comme nano, par exemple :yum install nano -yExécutez la commande suivante pour redémarrer le service réseau :
systemctl restart networkExécutez la commande suivante pour redémarrer le service Docker :
sudo systemctl restart dockerExécutez la commande suivante pour vérifier si le conteneur est en cours d'exécution :
docker psSi le conteneur n'est pas en cours d'exécution, exécutez la commande suivante pour lister tous les conteneurs (y compris ceux qui sont arrêtés) :
docker ps -aSi le conteneur est listé, mais arrêté, exécutez la commande suivante pour le démarrer :
docker start container_id_or_name- Si l'agent ou le système ne s'exécute toujours pas après le redémarrage de Docker et du conteneur :
Exécutez la commande suivante pour arrêter le conteneur :
docker stop container_id_or_nameExécutez la commande suivante pour supprimer le conteneur :
docker rm container_id_or_nameExécutez la commande suivante pour supprimer l'image :
docker rmi image_name- Chargez à nouveau l'image.
Erreur après l'arrêt ou le redémarrage de l'agent
Exécutez la commande suivante pour forcer le démarrage de l'agent d'installation :
systemctl start supervisord
Exécutez la commande suivante pour forcer le démarrage de l'agent Docker :
docker start
Échec des tâches de l'agent distant sur les environnements renforcés
Lorsque vous déployez un agent distant sur un hôte Linux renforcé tel que RHEL 8, les tâches de l'agent (y compris l'enregistrement ou la mise à niveau d'une intégration, ou l'exécution de connecteurs et d'actions) peuvent échouer ou expirer dans l'interface utilisateur, tandis que l'état de l'agent reste Actif. Ce problème se produit lorsque l'application de la sécurité de l'OS hôte (par exemple, SELinux en mode Enforcing, AppArmor ou un logiciel de sécurité des points de terminaison) bloque les commandes de l'OS exécutées par l'agent dans le conteneur.
Pour résoudre ce problème, l'agent distant doit être exempté des règles d'application de la sécurité de l'hôte qui bloquent ses commandes d'OS. Pour diagnostiquer et résoudre le problème, procédez comme suit :
Vérifiez si SELinux est en mode
Enforcingsur la machine hôte :getenforce sestatusPour vérifier si
/var/log/audit/audit.logcontient des commandes récemment bloquées ou des opérations refusées sans renvoyer l'intégralité du fichier journal, exécutez la commande suivante :sudo grep -i "denied" /var/log/audit/audit.log | tail -n 50Vous pouvez également inspecter les journaux de sécurité de votre point de terminaison sur l'hôte pour détecter les opérations bloquées liées aux processus du conteneur de l'agent.
Excluez l'agent distant de la stratégie de sécurité de blocage sur l'hôte :
- Pour les déploiements conteneurisés (Docker ou Podman), excluez l'intégralité du conteneur de l'agent distant lors de son premier démarrage en ajoutant
--security-opt label=disable(pour SELinux) ou--security-opt apparmor=unconfined(pour AppArmor) à votre commandedocker runoupodman run. - Configurez des règles de stratégie SELinux personnalisées, des profils AppArmor ou des exemptions de sécurité des points de terminaison de l'hôte pour les répertoires de l'agent distant (
/opt/SiemplifyAgent,/home/siemplify_agent/agent_sourceet/var/log/SiemplifyAgent) et les exécutables (/usr/local/bin/python3.11,/usr/local/bin/pip3et/usr/bin/supervisord) afin que les commandes de l'OS ne soient pas bloquées.
- Pour les déploiements conteneurisés (Docker ou Podman), excluez l'intégralité du conteneur de l'agent distant lors de son premier démarrage en ajoutant
Si vous ne pouvez pas configurer d'exemption SELinux ciblée, définissez SELinux en mode
Permissivede manière persistante lors des redémarrages en définissantSELINUX=permissivedans/etc/selinux/configsur l'hôte.S'il n'est pas possible de modifier
/etc/selinux/configou si vous devez appliquer la modification immédiatement sans redémarrer, exécutez la commande suivante pour passer temporairement SELinux en modePermissive:sudo setenforce 0
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.