安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

  对于远程桌面的使用,我想各位都已经很熟悉了吧?!还是来大致介绍一下吧,在企业里,网络管理员管理服务器的方法之一就是在自己的机器上,以远程桌面的形式登录到服务器上,如DC,完成服务器的管理,众所周知,我们要完成这个操作,需要在服务器上启用“远程桌面”功能,然后客户端利用“远程桌面连接”工具来完成连接。我们今天的网络拓朴如下:安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
一、简单的实现
1.在服务器N1上,右击桌面上的“我的电脑”---属性,选择“远程”,在下面的远程桌面下,打勾。但要注意服务器启用后,便会开启3389这个端口进行侦听,客户端若能访问,必须满足两个条件:
a.该用户加入到Remote Desktop Users组中,并且该用户的密码不能为空。
b.这台服务器的3389端口必须能接受远程用户的访问。即如果本机有防火墙,必须要求防火墙开放3389端口。
对于第一条,你可以通过单击下面的“选择远程用户”来添加,如添加alice域用户。
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

注意:对于DC,你这样添加后,该用户还不能远程来连接这台服务器(默认下,管理员可以),你还必须修改“默认的域控制器的安全设置”。
操作:打开开始菜单--程序--管理工具--默认的域控制器的安全设置,如下图所示,在对应项里如下操作:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

 最后通过gpupdate /force来刷新这台服务器的组策略使之生效。
查看一下,这台服务器的端口侦听情况如下:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
其中上面这条表示这台服务器在3389端口Listening,而下面这条表示当前10.1.1.6这台机器已经连接到了这台服务器的3389端口。

2.客户端使用mstsc /v:n1可以完成连接,要求输入相应的用户名和密码,验证通过登录成功。
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

二、实现安全的远程桌面连接
    通过前面的实例我们已经实现了远程桌面的连接,可以用来管理服务器了,各位试想,他人只要用相应的扫描端口的软件就能知道你的机器开启了那些端口,这样一来,也就知道了你的机器开启的远程桌面功能,再使用相应的方法获取你的管理员的密码,也就可以对你的机器进行远程桌面的连接了,怎么可以实现安全的连接呢?我们从以下两点出发:
(一)将3389的端口改掉,如6689.
(二)对通信过程进行加密,即使你用相应的抓包工具也无济于事。
(三)对远程桌面连接用户及客户机进行特殊的身份验证,即只有通过该身份验证才可以进行连接。

对于后两者,今天我们使用IPSec来实现。有关IPSec的详细介绍各位可以参看<凌激冰>的利用IPSec使用策略和规则提升网络安全性,写的不错!!

怎么来实现呢?好,我们马上操作一把~~~

(一)改端口
简单操作步骤:打开"开始→运行",输入"regedit",打开注册表,进入以下 路径:[HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Terminal Server\ Wds\rdpwd\Tds\tcp],看见PortNamber值了吗?其默认值是3389(改为十进制显示),修改成所希望的端口,例6689。
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

再打开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro1Set\Control\Tenninal Server\WinStations\RDP-Tcp],将PortNumber的值(默认是3389)修改成端口6689
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

关闭注册表编辑器后重启计算机,即可生效。
通过如下命令再次查看:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

会发现在6689侦听,同时有一个客户端已经连接上来了。
客户端连接时可利用命令:mstsc /v:n1:6689 
如果使用mstsc /v:n1,如出现如下提示:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

(二)对通信过程进行加密
(三)对用户或计算机进行身份验证
   这两个我们一起完成!! 
   使用IPSec时各位需要注意,多数情况下我们需要在两边都要做,在我们这个案例中,要求两边所选择的加密方式和身份验证要一致。具体操作如下所示:
1.服务器端配置IPSec:
开始菜单---运行---mmc,然后添加“IP安全策略管理”控制台组件。
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
如上图,单击添加后,如下所示:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
选择本地计算机,单击完成,关于其它对话框,最后如下:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

在这里,我们新建IP安全策略,如下:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
取一个名字,sec mstsc。
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
单击下一步,不选择“激活默认响应规则”,下一步,到一个页面,单击完成,同时打开编辑页面:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
在这里各位可以看到,任何一条IPSec策略,可以包含多条规则,你可以单击添加,添加多条规则。此时单击添加,如下所示:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
在这里我们看到任何一条规则包含三要素:筛选器、筛选器操作、身份验证方法。
我们创建我们自己那条规则,也是我们的第一条规则。当然要依次定义这三个要素,当定义完了,我们的这条规则自然也就创建完了。
第一要素:筛选器 单击“添加”如下:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
再次单击上面的添加,我们来定义将筛选谁到谁(源地址--目的地址)的哪些协议或端口。如下:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
在这里,根据实际情况,我们将筛选:从任意IP的任意端口到这台机器的6689端口。
单击两次确定,回到如下图,并选中我们刚创建好的这个筛选器。
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

接着:
第二要素:筛选器操作(即对于刚才的这个筛选,我们是拒绝/允许/还是加密允许)
单击上图中的“筛选器操作”,如下:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
上图中,单击添加,如下图所示:再次单击添加,选择加密方式后,单击确定。
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

最后如下图所示,你可以单击“常规”,给这个筛选器操作取个名字,如security.注意要选择这个操作。不用图示了吧~~在这里我们做好这个操作。最后单击确定,回到前面在要素的界面,继续我们的第三个要素:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

第三要素:身份验证方法:
这里有三种验证方法:
Kerberos(需要AD支持)
证书(需要CA)
预共享密钥。
我们这里是域环境,所以我们可以选择Kerberos这种方式,如果你不是域环境,可以选择下面两种,至于证书,你需要在企业里搭建CA,预共享密钥比较简单,取个密钥就可以了。
在这里我们选择第一种方式,至于后面两种方式,我会在下次给各位道来~~~~~
具体操作如下:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
其实,默认选的就是Kerberos验证方式,所以关于“身份验证方式”你不用任何操作IPSec已经为你做好。

最后依次检查一下这三个要素,没有任何问题的话,最后单击“确定”如下图所示:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

上面这条规则就是我们刚才所做的,最后单击“确定”,回到下图:
注意:我们必须右击这条策略,选指派,否则这条策略是不生效的!!!
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

这样,我们就做完了服务器端的配置,如果此时你在客户端再次连接服务器,客户端一直在连接,其实在做相应的验证方法检验,发现通过不了,最后弹出连接不上,如下所示:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

2.客户端配置IPSec:
其实操作如法炮制,注意要和服务器选择的加密和身份验证方法一样最后也把它启用,就OK了。
当然在规则的筛选器上你要注意变通一下,如下所示:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)

好了,终于做完了,马上在客户端利用命令mstsc /v:n1:6689连接一下,OK,成功了!!!!!!

三、比较普通的远程桌面和安全的远程桌面的区别:
   我们利用“网络监视器”来前后抓包看一下究竟,如上下两副图的区别:
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
上面这幅图其实就是普通的连接,协议显示的是TCP,并用端口及内容看得很清楚!
安全系列之一:如何利用IPSec保证远程桌面的安全性!(上)
这副图,是利用IPSec之后的连接,各位可以看到,协议显示的是ESP(加密的),内容等都看不到了。

总结:通过我们的这一番实验,各位差不多应该已经学会了怎么使你的远程桌面变得更安全!!

我会在下篇给各位分析,如果不是域环境,如何保证远程桌面的安全,敬请各位关注!









本文转自 jary3000 51CTO博客,原文链接:http://blog.51cto.com/jary3000/124854,如需转载请自行联系原作者
上一篇:《开源容器云OpenShift:构建基于Kubernetes的企业应用云平台》一1.2 开源容器云


下一篇:使用.Net平台构建企业应用系统场(上)