Sicherheit beim Remotedebuggen
Es gibt zwei Möglichkeiten, die Sicherheit während des Remotedebuggens zu erhöhen: durch einschränken, wer eine Verbindung mit Ihrer Sitzung herstellen kann, und durch Einschränken der Befugnisse einer Person, die eine Verbindung herstellt.
Steuern des Zugriffs auf die Debugsitzung
Wenn Sie das Remotedebuggen über den Debugger ausführen oder einen Prozessserver oder KD-Verbindungsserver verwenden, kann jeder Computer in Ihrem lokalen Netzwerk versuchen, sich an Ihre Debugsitzung anzufügen.
Wenn Sie die Protokolle TCP, 1394, COM oder Named Pipe verwenden, können Sie verlangen, dass der Debugclient ein Kennwort angibt. Dieses Kennwort wird jedoch während der Übertragung nicht verschlüsselt, und daher sind diese Protokolle nicht sicher.
Wenn Ihr Debugserver sicher sein soll, müssen Sie SSL (Secure Sockets Layer) oder SPIPE-Protokoll (Secure Pipe) verwenden.
Wenn Sie Remotedebuggen über remote.exedurchführen, können Sie den Parameter /u verwenden, um Verbindungen von nicht autorisierten Benutzern zu verhindern.
Einschränken der Befugnisse des Clients
Wenn Sie eine Debugsitzung im Kernelmodus einrichten, können Sie die Möglichkeit des Debuggers einschränken, den Hostcomputer zu beeinträchtigen, indem Sie den sicheren Modus verwenden.
Im Benutzermodus ist der sichere Modus nicht verfügbar. Sie können verhindern, dass ein aufdringlicher Client Microsoft MS-DOS-Befehle ausgibt und externe Programme ausführt, indem Sie den Befehl NOSHELL (Shellbefehle verbieten) ausgeben. Es gibt jedoch viele andere Möglichkeiten für einen Client, ihren Computer zu beeinträchtigen.
Beachten Sie, dass sowohl der sichere Modus als auch noshell verhindern, dass sowohl der Debugclient als auch der Debugserver bestimmte Aktionen ausführen. Es gibt keine Möglichkeit, eine Einschränkung auf dem Client, aber nicht auf dem Server zu platzieren.
Vergessene Prozessserver
Wenn Sie einen Prozessserver auf einem Remotecomputer starten, wird der Prozessserver unbeaufsichtigt ausgeführt.
Wenn Sie das Remotedebuggen über diesen Prozessserver ausführen und dann die Sitzung beenden, wird der Prozessserver weiterhin ausgeführt.
Ein vergessener Prozessserver ist ein potenzielles Angriffsziel. Sie sollten immer einen nicht benötigten Prozessserver herunterfahren. Verwenden Sie das Kill.exe-Hilfsprogramm oder den Task-Manager, um den Prozessserver zu beenden.