一引言
我们设想有一个远程控制方案:一个公司要安置这样一个IISWeb服务器它被放在里以外服务器是宽带网络有空调装置电力控制装置三者结合的个服务器中心这个网络服务中心既稳固又价钱合理但要求客户必须完全远程控制服务器这种控制是随时的而不必要经常跑到控制台对服务器进行操作通常远程控制存在若干问题最明显的是客户端机器和主机的通信要通过因特网传送这样交换数据可能被黑客嗅探还有一个问题就是远程控制本身漏洞 (例如它开放的端口)也会导致网络攻击选择远程控制方案最终的目标就是要保证作为网关的你 (仅仅是你)能控制服务器而不会导致其他网络攻击
远程控制方案安全原则如下:
确保远程控制权限的安全性
远程控制必须能够预防非授权访问这也就意味着远程管理软件只接受一个小范围IP地址的连接并需要用户名和口令的控制通过智能卡相客户验证的引进远程控制安全性进一步加强也可以用一些简单现成的技术来增强如使用非标准端口来提供服务或者不显示服务旗标的一些安全配置手段
确保远程交换数据的完整性
在远程控制中要防止数据丢失我们必须确保远程控制服务器和客户端数据传送的完整性和即时性 (也就是说发送的数据是可靠的且不被重发)
确保敏感数据传输的机密性
对与远程控制最重要的一点是保证敏感数据在因特网传输的机密性这就要防止传输的数据报文不会被黑客嗅擦这就要使用强健可行的加密算法进行会话加密这种加密的优点在于:即使攻击者嗅探到了数据对嗅探的人也没什么用处
确保事件出志能够安全审计
良好的安全审计能大幅度提高远程控制的整体安全性并将安全隐患和技术犯罪扼杀于萌芽状态审计日志的主要作用在于让管理员了解有哪些人访问了系统使用了哪些服务等等这就要求服务器对企图通过技术犯罪入侵的黑霉远程控制蹤迹有一个足够充分足够安全的日志记录
二Windows 远程控制的种安全解决方法
尽管远程控制Windows有很多种方法并不是所有的软件都符合上面的远程控制方案安全原则我们可以通过组合不同的软件来完成我们所需要的远程控制解决方案
下面的一些例子就是通过对Windows自带服务或者第三方软件组合使用来达到安全可靠的远程控制
方法Windows终端服务结合Zebedee软件的使用
终端服务是在Windows中提供的允许用户在一个远端的Windows服务器上执行基于Windows的应用程序的技术终端服务应该是Windows服务器进行远程管理使用最多的办法这和它的使用便利性以及其属于Windows内置的服务同时带来的其他好处有关比如可以使用Windows服务器自带的认证系统但是这个终端服务程序本身有一些缺陷:它无法对客户连接IP作出限制的机制它没有明确提出改变缺省监听端口的办法它的日志审计功能也就是说没有日志记录工具基于本文开头提到的远程控制方案的安全原则单独使用终端服务并不是很安全的但我们可以通过通过与Zebedee软件结合终端服务就可以实现上面的远程管理安全需要
Zebedee的工作原理如下Zebedee监听本地指定的应用将要传输的TCP或UDP数据进行加密压缩Zebedee客户端与服务器端之间建立了一个通信隧道压缩加密的数据就在这个通道上进行传输可以令多个TCP或UDP的连接建立在同一个TCP连接之上
通常使用Zebedee分以下两步:
第一步:配置Zebedee的监听端口
用到如下的命令:
C:\zebedee s o serverlog
第二步:在客户机上配置监听端口并且
使它重定向到你服务器上Zebedee的监听端口
用到如下命令:
C:\>zededee serverhost:
这样Zebedee就开始启动它与终端服务的结合使用原理如图所示从图中可以看到当开启终端服务的客户端进程(目标TCP端口:)时紧接着本地Zebedee客户端同时开始截取数据包Zebedee将数据加密压缩后发给Zebedee服务器(这里Zebedee服务缺省端口)Zebedee服务器接到后再解压缩解密传递给服务器的服务(服务端口:TCP:)在这里服务器上的终端服务好像是与本地的终端服务客户端进行的连接但实际上所有传递的数据包都经过了一个加密的隧道此外Zebedee还可以通过配置文件来实现身份认证加密IP地址过滤以及日志的功能一个配置良好的Zebedee和Windows的终端服务相互结合可以构建一个十分安全的远程管理系统
educitycn/img_///jpg >鑒于一般终端服务不提供文件传输的功能所以需要考虑其他的办法我们可以使用FTP服务器但是FTP服务器通常被认为是不安全的它也可以通过Zebedee的加密隧道增强其安全性方法是直接在终端服务上传输数据这中做法比较麻烦但Zebedee帮助文件已做了详细的说明这里推荐两个第三方的解决方案一个是Analogx的TSDropCopy(tents/download/system/)另一个是WTSFTP()
总的来说Windows终端服务是一个最方便和最快捷的方法但就其本身的安全性来说我们通过Zebedee与终端服务的结合可以说是实现了一个方便快捷安全的解决方案
方法在SSH上的VNC
VNC是一个类似于终端服务的远程管理软件和终端不同的地方有以下几点:
*VNC是和当前正在登录的用户共用同一个会话你可以相当前登录的用户同时操作
*VNC客户端适用于不同的平台包括WindowsCE和Java
*VNC能够限制IP访问
在客户端和服务端没有经过加密
对于VNC的这些差别我们意识到使用VNC的好处但如果单独使用的话仍然有一些安全隐患最大的问题是VNC的数据传输没有经过加密我们可以配合使用SSH加密来弥补这一缺陷通常使用OpenSSH()OpenSSH是一个理论上类似与Zebedee的软件但是它更广泛的被应用于SMTPHTTPFTPPOP和Telnet传输数据包加密和Zebedee一样它是通过端口通信隧道不同的是SSH已经成为广大用户公认并且广泛使用的加密协议
从概念上来说OpenSSH转发数据包和Zebedee相似我们通常可以配置服务器的监听端口(通常OpenSSH缺省端口是)然后就可以连接到SSH使用的端口一个SSH客户端实质上是一个加密的telnet远程访问控制提示符但SSH也能用用样一个给其它的协议连接进行加密我们也有下面两个步骤实现在SSH基础上的VNC
第一步:C:>ssh ?L:serverhost:serverhost
这将创建一个SSH服务器端口对VNC在本地和服务器数据包之间的转发
第二步C:\>vncviewer:
图实际上是一个VNC会话通过SSH加密通道进行传送(这种传送通俗说来是在VNC服务器和客户段之间进行)
educitycn/img_///jpg >假如你使用多客户平台你能够使用在SSH基础上的VNC远程控制因为VNC和SSH都支持大多数常用的操作系统
方法:VPN技术应用在 Windows 远程控制
我们可以通过windowsServe自带管理工具远程交互管理比如客户机可以通过映射服务器的驱动器当然也可以使用其他的网络服务达到远程控制Windows Server远程管理是通过打开连接服务器的端口通过这个端口对交换数据进行转发但是在客户和服务器之间的数据没有经过加密这就会导致一些网络恶意嗅探但是我们可以使用另外一些加密隧道技术网络隧道技术指的是利用一种网络协议来传输另一种网络协议它主要利用网络隧道协议来实现这种功能在这种情况下有一个好的解决方案VPN技术在Windows远程控制它就是利用LTP隧道协议来对交换数据进行传输这样安全性就大大加强
VPN技术在Windows远程控制的应用有如下优点:
*VPN致力于为网络提供整体的安全性是性能价格比比较高的安全方式
*VPN的管理性能提高得很快就单一厂商的环境管理工作站可以直接提供多单元的支持
*VPN使用LTP加密通道是虚拟专用拨号网络协议
*VPN能够限制IP访问
*VPN可以网络连接中透明地配置而不需要修改网络或客户端的配置
下面我们要做的工作就是配置一个远程客户端与一个VPNServer之间的连接
VPN服务器的配置
首先打开 路由和远程访问右击要配置的服务器>配置并启用路由和远程访问根据说明我们能够创建一个 虚拟专用网络(VPN)服务器
注意:VPNServer监听的是l端口如果不期望别人看到这个开放的端口我们可以对客户的连接IP地址进行限制
客户端的配置
右键点击 网上邻居选择 属性从弹出的窗口中点击 新建连接根据提示我们完成相关的设置并且连接到服务器上
完成服务器和客户端的配置之后我们能看见一个VPN连接图标双击该图标根据提示填入用户名和密码就能连接到服务器这时就有一个新的网络连接这种网络连接跟我们使用网络适配器和光缆直接连接到服务效果是一样的不同的地方就是它是通过加密通道进行传输交换数据的
对于任何网络连接我们要考虑到这样一个因素:你所用的网络协议是否带有包过滤技术注意你的连接有可能被黑客利用入侵到你的电脑从而威胁到你的服务器进而人侵你的内部网络这些风险我们