Sécurité pendant le débogage à distance
Il existe deux façons d’accroître la sécurité pendant le débogage à distance : en limitant qui peut se connecter à votre session et en limitant les pouvoirs d’une personne qui se connecte.
Contrôle de l’accès à la session de débogage
Si vous effectuez un débogage à distance via le débogueur, ou à l’aide d’un serveur de processus ou d’un serveur de connexion KD, n’importe quel ordinateur de votre réseau local peut tenter de s’attacher à votre session de débogage.
Si vous utilisez les protocoles TCP, 1394, COM ou canal nommé, vous pouvez exiger que le client de débogage fournisse un mot de passe. Toutefois, ce mot de passe n’est pas chiffré pendant la transmission et, par conséquent, ces protocoles ne sont pas sécurisés.
Si vous souhaitez que votre serveur de débogage soit sécurisé, vous devez utiliser le protocole SSL (Secure Sockets Layer) ou SPIPE (Secure Pipe).
Si vous effectuez un débogage à distance via remote.exe, vous pouvez utiliser le paramètre /u pour interdire les connexions d’utilisateurs non autorisés.
Restriction des pouvoirs du client
Si vous configurez une session de débogage en mode noyau, vous pouvez restreindre la capacité du débogueur à interférer avec l’ordinateur hôte à l’aide du mode sécurisé.
En mode utilisateur, le mode sécurisé n’est pas disponible. Vous pouvez empêcher un client intrus d’émettre des commandes Microsoft MS-DOS et d’exécuter des programmes externes en émettant la commande .noshell (Interdire les commandes shell). Toutefois, il existe de nombreuses autres façons pour un client d’interférer avec votre ordinateur.
Notez que le mode sécurisé et .noshell empêchent le client de débogage et le serveur de débogage d’effectuer certaines actions. Il n’existe aucun moyen d’placer une restriction sur le client, mais pas sur le serveur.
Serveurs de processus oubliés
Lorsque vous démarrez un serveur de processus sur un ordinateur distant, le serveur de processus s’exécute en mode silencieux.
Si vous effectuez un débogage à distance via ce serveur de processus, puis que vous terminez la session, le serveur de processus continue de s’exécuter.
Un serveur de processus oublié est une cible potentielle pour une attaque. Vous devez toujours arrêter un serveur de processus inutile. Utilisez l’utilitaire Kill.exe ou le Gestionnaire des tâches pour arrêter le serveur de processus.