分类分类
关注+2010-03-29作者:
一、引言
我们设想有一个远程控制方案:一个公司要安置这样一个IISWeb服务器,它被放在300里以外。服务器是宽带网络、有空调装置、电力控制装置三者结合的个服务器中心。这个网络服务中心既稳固又价钱合理,但要求客户必须完全远程控制服务器,这种控制是随时的,而不必要经常跑到控制台对服务器进行操作。通常远程控制存在若干问题,最明显的是客户端机器和主机的通信要通过因特网传送。这样交换数据可能被黑客嗅探;还有一个问题就是远程控制本身漏洞 (例如它开放的端口)也会导致网络攻击。选择远程控制方案最终的目标就是要保证作为网关的你 (仅仅是你)能控制服务器而不会导致其他网络攻击。
远程控制方案安全原则如下:
确保远程控制权限的安全性
远程控制必须能够预防非授权访问。这也就意味着远程管理软件只接受一个小范围IP地址的连接,并需要用户名和口令的控制。通过智能卡相客户验证的引进,远程控制安全性进一步加强。也可以用一些简单、现成的技术来增强,如使用非标准端口来提供服务或者不显示服务旗标的一些安全配置手段。
确保远程交换数据的完整性
在远程控制中要防止数据丢失,我们必须确保远程控制服务器和客户端数据传送的完整性和即时性 (也就是说发送的数据是可靠的且不被重发)。
确保敏感数据传输的机密性
对与远程控制,最重要的一点是保证敏感数据在因特网传输的机密性。这就要防止传输的数据报文不会被黑客嗅擦。这就要使用强健可行的加密算法进行会话加密。这种加密的优点在于:即使攻击者嗅探到了数据。对嗅探的人也没什么用处。
确保事件出志能够安全审计
良好的安全审计能大幅度提高远程控制的整体安全性,并将安全隐患和技术犯罪扼杀于萌芽状态。审计日志的主要作用在于让管理员了解有哪些人访问了系统,使用了哪些服务等等。这就要求服务器对企图通过技术犯罪入侵的黑霉远程控制踪迹有一个足够充分、足够安全的日志记录。
二、Windows 2000 远程控制的3种安全解决方法
尽管远程控制Windows2000有很多种方法。并不是所有的软件都符合上面的远程控制方案安全原则,我们可以通过组合不同的软件来完成我们所需要的远程控制解决方案。
下面的一些例子就是通过对Windows2000自带服务或者第三方软件组合使用来达到安全可靠的远程控制。
方法1.Windows2000终端服务结合Zebedee软件的使用
终端服务是在Windows2000中提供的允许用户在一个远端的Windows9000服务器上执行基于Windows的应用程序的技术。终端服务应该是Windows2000服务器进行远程管理使用最多的办法,这和它的使用便利性以及其属于Windows内置的服务同时带来的其他好处有关,比如可以使用Windows2000服务器自带的认证系统。但是这个终端服务程序本身有一些缺陷:它无法对客户连接IP作出限制的机制;它没有明确提出改变缺省监听端口的办法;它的日志审计功能,也就是说没有日志记录工具。基于本文开头提到的远程控制方案的安全原则,单独使用终端服务并不是很安全的。但我们可以通过通过与Zebedee软件结合,终端服务就可以实现上面的远程管理安全需要。
Zebedee的工作原理如下'Zebedee监听本地指定的应用,将要传输的TCP或UDP数据进行加密、压缩;Zebedee客户端与服务器端之间建立了一个通信隧道;压缩、加密的数据就在这个通道上进行传输;可以令多个TCP或UDP的连接建立在同一个TCP连接之上。
通常使用Zebedee分以下两步:
第一步:配置Zebedee的监听端口
用到如下的命令:
C:\zebedee -s -o server.log
第二步:在客户机上配置监听3389端口并且
使它重定向到你服务器上Zebedee的监听端口
用到如下命令:
C:\>zededee 3389 serverhost:3389
这样,Zebedee就开始启动,它与终端服务的结合使用原理如图1所示。从图1中可以看到,当开启终端服务的客户端进程(目标TCP端口:3389)时,紧接着本地Zebedee客户端同时开始截取数据包;Zebedee将数据加密、压缩后发给Zebedee服务器(这里Zebedee服务缺省端口11965);Zebedee服务器接到后再解压缩、解密传递给服务器的服务(服务端口:TCP:3389)。在这里,服务器上的终端服务好像是与本地的终端服务客户端进行的连接,但实际上所有传递的数据包都经过了一个加密的隧道。此外,Zebedee还可以通过配置文件来实现身份认证、加密、IP地址过滤以及日志的功能。一个配置良好的Zebedee和Windows2000的终端服务相互结合,可以构建一个十分安全的远程管理系统。
从概念上来说,OpenSSH转发数据包和Zebedee相似。我们通常可以配置服务器的监听端口(通常OpenSSH缺省端口是22),然后就可以连接到SSH使用的端口。一个SSH客户端实质上是一个加密的telnet远程访问控制提示符。但SSH也能用用样一个给其它的协议连接进行加密。我们也有下面两个步骤实现在SSH基础上的VNC'
第一步:C:>ssh ?L5901:serverhost:5900serverhost
这将创建一个SSH服务器端口对VNC在本地和服务器数据包之间的转发。
第二步.C:\>vncviewer:1
图2实际上是一个VNC会话通过SSH加
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论