远程调试期间的安全性
本主题介绍在远程调试期间提高安全性的不同技术。
控制对调试会话的访问
如果要通过调试器执行
如果使用 TCP、COM 或命名管道协议,则可以要求调试客户端提供密码。 但是,此密码在传输过程中不会加密,因此这些协议不安全。
如果希望调试服务器更安全,则必须使用安全套接字层(SSL)或安全管道(SPIPE)协议。
禁止未经授权的用户建立连接
如果要通过 remote.exe执行
网段隔离
为了避免协议网络攻击,请考虑隔离客户端和服务器正在运行的网络段。 例如,可以使用本地网络交换机连接这两个系统,确保它未连接到 Internet 或 LAN 的其余部分
使用最安全的传输
使用最安全且最新的可用传输版本。 有关 Windows 中可用的安全传输协议的详细信息,请参阅 TLS/SSL 中的 协议(Schannel SSP)。
在内核模式下使用安全模式
执行内核模式调试时,可以在 安全模式运行调试器。 这有助于防止调试器影响主计算机,但并没有显著减少调试目标计算机的自由。 如果要允许远程客户端加入调试会话,建议使用安全模式。 有关详细信息,请参阅安全模式的功能和激活安全模式。
在用户模式下限制客户端的权力
在用户模式下,安全模式不可用。 可以通过发出 .noshell(禁止 Shell 命令) 命令来阻止入侵客户端发出Microsoft MS-DOS 命令并运行外部程序。 但是,客户端可以通过多种其他方法干扰计算机。
请注意,安全模式和 .noshell 都会阻止调试客户端和调试服务器执行某些操作。 无法对客户端施加限制,但不能在服务器上施加限制。
终止遗忘的进程服务器
在远程计算机上启动进程服务器时,进程服务器以无提示方式运行。 如果通过此进程服务器执行远程调试,然后结束会话,则进程服务器将继续运行。 被遗忘的进程服务器是攻击的潜在目标。 应始终关闭不需要的进程服务器。 使用任务管理器或 Kill.exe 工具 终止进程服务器。