基于远程桌面配合边界策略的穿透

作为网络管理员,经常需要通过远程桌面连接运行着各类业务的Windows服务器或网管PC,Windows白带的远程桌面无疑是各种远控工具之中的首选,它来源干系统,获取方便,而且能自如地进行远程与本地的文件交互,在Windows远程维护工具排行榜中名列前茅。除此之外,还有诸如PCAnywhere、VNC等耳熟能详的远程控制工具,但如果网管员需要在园区网络以外进行远程连接,我们又该怎么办呢?下面以笔者近年来使用过的穿透办法为例,探讨在相对安全的情况下可采用的穿透途径。

首先介绍一下笔者的应用环境,园区网络拥有两条出口,固区内所有的计算机均使用教育网实IP,DMZ中服务器所有发起和进入的连接都走教育网,包括网管PC在内的其他计算机均通过边界路由使用策略路由规则,一部分园医对外访问通过伪装走电信出口,其余仍以实IP走教育网出口。除位于DMZ区域服务器开放少数对外服务端口,边界路由均拦截由外向内发起的所有连接,即不可直接请求其他计算机任何端口。

基于远程桌面配合边界策略的穿透

远程桌面是基于RDP协议图形界面、多通道的远程管理协议,最初随同终端服务出现在Windows NT 4.0上,在通信时使用TCP的3389监听数据。随着Windows2000/XP/Server 2003的更新发展,逐步具备了打印机转向、24位颜色、声音转向、文件系统转向、通讯端口转向等强大便捷的功能。园区网络或内部网络的安全策略通常会关闭对外联系的3389端口,以规避早些年终端服务出现的各种安全问题和缺陷,但不使用图形桌面的远程控制,叉难以较好控制和管理Windows,因此需要对“3389”做‘点变通。

策略一,既然服务器位于DMZ允许开放少数相对安全的通讯端口,那么将3389改为其他服务的默认端口或不常见高端端口,继而实现对服务器远程控制的内网穿透。修改远程桌面的通信端口,在注册表编辑器中找到Hkey_local_machineSvstemCurreritcontrolsetControlTerminal serverWdsRdpwdTdsTcp,将其下的Portnumber值从3389修改为任意的高端端口,如13579.修改时注意选择十进制数字。然后在边界路由上放开相应IP及端口号从而实现非默认端口内网穿透。此举可以简单地避免直接对3389这个高危端口的扫描和嗅探。

策略二,直接修改服务器注册表难免不够严谨,直接从园区外控制服务器毕竟安全性也是有限的,改进的办法是增加网管PC作为跳板——即在园区外直接访问园区内的一台网管PC,再从网管PC上嵌套登录需要维护的目标服务器。网管PC不在DMZ区域,享有两条出口,放开其在教育网上的端口意义不大,由于其从电信出口访问是采用的IP伪装,因此可在防火墙上定义端口转发规则,即在IP3上将任意一高端端口号映射到被控主机IPl的3389端口。

以上两种策略都是基于端口号的变换,相比之下,策略一实现的远控外部网络必须回到教育网,而公众网通常与教育网互联较慢,受网速影响,远控的效率和体验也较差。策略二灵活利用了电信出口,使园区外与园区内之间享有较高速的网络连接,并且即使有“好奇者”扫描到了相应开放的端口,也不能准确把握对应的计算机和路由,具有一定的迷惑性,能够确保安全性。但这两种策略都需要得到出口安全策略在端口上的支持,若能定期修改这些变化后映射的端口号,也能在一定程度上迷惑“好奇者”,减少端口暴露的机会,有意或无意的网络扫描也难以找到目标,减轻端口开放后的安全威胁。