Sicherheit beim Remotedebuggen
In diesem Thema werden verschiedene Techniken zum Erhöhen der Sicherheit während des Remotedebuggings beschrieben.
Steuern des Zugriffs auf die Debugsitzung
Wenn Sie Folgendes durchführen Ferndebugging über den Debugger, oder unter Verwendung eines Prozessserver oder KD-Verbindungsserver, Jeder Computer in Ihrem lokalen Netzwerk kann versuchen, sich mit Ihrer Debugging-Sitzung zu verbinden.
Wenn Sie die Protokolle TCP, COM oder "Named-Pipe" verwenden, können Sie den Debuggingclient auffordern, ein Kennwort bereitzustellen. Dieses Kennwort wird jedoch während der Übertragung nicht verschlüsselt, und daher sind diese Protokolle nicht sicher.
Wenn Ihr Debugserver sicherer sein soll, müssen Sie das Secure Sockets Layer (SSL)- oder Secure Pipe (SPIPE)-Protokoll verwenden.
Verhindern von Verbindungen von nicht autorisierten Benutzern
Wenn Sie Folgendes durchführen Fern-Debugging über remote.exe, können Sie die /u um Verbindungen von nicht autorisierten Benutzern zu verhindern.
Netzwerksegmentisolation
Um Protokollverbindungsangriffe zu vermeiden, sollten Sie das Netzwerksegment isolieren, auf dem der Client und der Server ausgeführt werden. Sie können beispielsweise einen lokalen Netzwerkswitch verwenden, um die beiden Systeme zu verbinden, um sicherzustellen, dass er nicht mit dem Internet oder dem rest des LAN verbunden ist.
Verwenden Sie den sichersten verfügbaren Transport
Verwenden Sie die sicherste und neueste verfügbare Version des Transports. Weitere Informationen zu sicheren Transportprotokollen, die in Windows verfügbar sind, finden Sie unter Protokolle in TLS/SSL (Schannel SSP).
Verwenden Sie den sicheren Modus im Kernelmodus
Wenn Sie das Debugging im Kernel-Modus durchführen, können Sie den Debugger in Sicherer Modus. Dadurch kann verhindert werden, dass sich der Debugger auf den Hostcomputer auswirkt, während dessen Freiheit zum Debuggen des Zielcomputers nicht erheblich verringert wird. Der sichere Modus wird empfohlen, wenn Sie Remoteclients die Teilnahme an Ihrer Debugsitzung gestatten möchten. Für weitere Informationen siehe, Merkmale des sicheren Modus und Aktivieren des sicheren Modus.
Einschränken der Befugnisse des Clients im Benutzermodus
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 (Verbieten von Shellbefehlen) Befehl ausgeben. Es gibt jedoch viele andere Möglichkeiten, wie ein Client ihren Computer stören kann.
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 töten
Wenn Sie einen Prozessserver auf einem Remote-Rechner starten, läuft der Prozessserver unbemerkt im Hintergrund. Wenn Sie das Remotedebugging über diesen Prozessserver ausführen und die Sitzung dann beenden, bleibt der Prozessserver weiterhin in Betrieb. Ein vergessener Prozessserver ist ein potenzielles Ziel für einen Angriff. Sie sollten immer einen nicht benötigten Prozessserver herunterfahren. Verwenden Sie den Task-Manager oder das Kill.exe Tool, um den Prozessserver zu beenden.