Chinaunix首页 | 论坛 | 博客
  • 博客访问: 621429
  • 博文数量: 692
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 4715
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-17 13:38
文章分类

全部博文(692)

文章存档

2011年(1)

2008年(691)

我的朋友

分类:

2008-10-17 13:59:34


  对于很多的微软系统的管理员来说,都面临着一个以怎样的方式管理远程系统的问题!在Unix系统中,这个答案十分简单:使用SSH ,这是足够和有效的。在SSH方式下,我们不仅能在命令行下管理远程系统,我们也能通过使用隧 道技术(Tunnlling)运行远程X-Window。在传输过程中通过使用强壮的加密算法,以防止传送的数据被未经授权的访问。
  
  令人遗憾的是,如果把远程安全访问应用于微软操作系统就不是一件非常容易的事了。首先,仅仅NT 终端,2000和XP安装有远程管理服务( 终端服务)。第二,一些第三方公司提供给微软远程管理服务的实施方案中,一般都需要很大的成本支出。且随着方案的进一步实施,成本也越来越高。而一些免费的远程管理软件如(vnc)又无法提供加密传输功能,安全性能大打折扣。
  
  这篇文章提出的一种能用来远程管理从Win 95 到 XP几乎所有版本的微软操作系统的方案。这种方案的特点不仅表现在最小费用支出上,而且还具有较高的安全性。
  
  解决方案
  
  一个理想的远程管理方案应该有什么特征?首先,这个解决办法一定是高效的。虽然在Unix 系统情况下,模拟终端命令行模式进行管理还是比较满意的.但是使用这种方式来管理远程服务是远远不够的, 因为Windows 是一个基于图形环境的操作系统,远程管理也应该使用一种图形方式实现。除了高效,远程管理还必须建立在安全的基础上。这个解决办法必须不仅为用户提供鉴定,而且也必须保证被传送的数据的机密性和完整性。
  
  在这篇文章中讨论的远程管理方案中,通过使用以下开放源代码软件,来达到以上要求!
  
  1.VNC-(Virtual Network Computing)提供图形界面方式管理远程系统。在我们的方案里,VNC软件将是这个整个的解决办法的" 核心"。它将提供图形界面来连接远程操作系统。
  
  2.Stunnel –的主要目的是建立能用来以安全的方式传送其他非加密传输的数据的SSL 隧道。 在本文的解决办法中,这个工具将用来加密VNC。在Stunnel下,不仅可以保证被传送的数据的机密性和完整性,也可以利用证书签别VNC客户端和服务器。
  
  3.OpenSSL- OpenSSL 能提供一个加密函数库,它能用来为应用程序提供数据加密功能。通过使用OpenSSL 我们能产生,签署或者撤销基于公共密钥基础结构( PKI) 的证书。在下面提出的这种方案中将用来产生并且签署需要证实VNC 客户端和服务器的证书。
  
  
  下图显示了使用以上软件来提供一个安全的远程管理方案!
   
  此方案实际执行方案如下:
  
  安装软件
  
  实现此安全管理远程microsoft系统的第一步是安装以上软件.
  
  安装VNC
  
  我们可以在这里,然后安装在我们希望能够被远程管理的桌面操作系统,这即是VNC服务端.接下来所做的是需要注册VNC服务,注册方法:依次打开”开始”,”RealVNC”,”VNC server”,”Register VNC Server Service”,然后系统将会要求重启。
  
  重启系统之后,我们必须设置VNC 服务的基本参数。 最重要的事情设置一个有效的口令,以防止VNC 服务被未经授权的访问。下一步关闭" enable jave viewer" 选项 (此选择要求两条单独的SSL 隧道,我们将不使用它),如下图显示:
  
   
  在完成使VNC服务端设置之后,我们应该VNC客户软件(vncviewer.exe) 并且将它放于VNC客户端。
  
  接着应该检查VNC客户端是否能与VNC服务端建立起一个连接,如果双方能够建立起连接,我们便完成了初步的设置。
  
  由于VNC服务端只能够被本地安装的Stunnel软件所访问,所以我们需要往注册表中添加一个键值:
  
  Key:HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3Name:LoopbackOnly
  Type: REG_DWORD
  Value: 1
  
  以上键值的作用是使之能够使用loopback连接,即回送连接,并且限制监听端口5900的连接只能是本地ip(127.0.0.1),这样VNC服务器不会被网络上的机器直接访问,这样大大的提高了安全性.另外如果我们不希望用户关闭VNC服务的话,服务器的注册表应该增加一项:
  
  Key:HKEY_LOCAL_MACHINE\Software\ORL\WinVNC3\Default
  Name: AllowShutdown
  Type: REG_DWORD
  Value: 0
  
  为了使以上设置生效,我们应该重启VNC服务。
  
  
  安装Stunnel
  
  接下来安装Stunnel软件,地址 ,客户端和服务端均需要下载,在本例中放置在C:\Program Files\Stunnel.另外还需要下载2个必须的dll库文件,libeay32.dll, libssl32.dll。
   
  如果希望开机时自动启动Stunnel进程,应该在注册表中添加如下键值:
  
  Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  Name: Stunnel
  Type: REG_SZ
  Value: "C:\Program Files\Stunnel\stunnel-4.04.exe"
  
  安装OpenSSL
  
  大家都知道,在现在大多数版本中,典型安装就已经包括了openssl库,这主要是因为openssl库是安装openSSH所必须的组件.其实还有另外一种版本的openssl,是适合使用于微软操作系统上的,和下的具有相同的功能.在本文所提到的这个方案中,我们需要的就是这种在Windows平台下的openssl。
  
  下面我们来安装和设置openSSL服务:
  
  1. 信任主机(Win 2000,NT,XP)-如果可能,最好不要连接到网上-需要安装openssl软件,openssl.exe可以在Stunnel的官方站点下载,同样,我们还需要下载libeay32.dll 和 libssl32.dll.2个文件,下载文件必须放到C:\Program Files\OpenSSL.文件夹。
  
  2. 另外,还需要下载2个文件,一个配置文件, openssl.conf,可以从http://www.securityfocus.com/data/tools/openssl.conf下载
  ca.bat 脚本文件,用来生成证书,下载地址: http://www.securityfocus.com/data/tools/ca.bat
  这2个文件也必须放置到C:\Program Files\OpenSSL.文件夹,如下图所示:
  
   
  
  
  接下来应该生成证书,用来鉴别VNC的服务器和客户端。
  
  生成密匙和证书
  
  CA认证
  
  这个过程首先应该产生一个私人/公共密钥对,同时产生一个第三方信任的证书.在随后的过程中私人密匙将用来签发VNC服务端和客户端的证书,CA证书将被分配给所有的VNC服务端和客户端.因为CA私人密匙是PKI执行过程中最重要的基础之一,所以密匙应该被赋予一个通行码(pass phrase)。 通行码也可以被称做为口令,是用来保护私匙的密码,用户可以自由选择。不用口令是不能使用私匙的,因此口令和私匙同样重要。需要选取一个安全的口令。
  
  我们通过ca.bat这个批处理文件来产生密匙对和证书:
  
  C:\progra~1\OpenSSL\ca genca
  
  
  
  
  完成以上步骤之后,CA证书将在c:\ca\cacert.pem文件中,私人/公共密匙对在C:\CA\private\CAkey.pem文件中。
  
  
  
【责编:admin】

--------------------next---------------------

阅读(579) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~