跟其他远程控制技术类似,远程协助和远程桌面同样要在使用前考虑好安全问题。对于最高级别的安全要求,根本不建议在实际应用中使用远程控制技术,不过要明白这种技术也能给用户带来便利。本章会就使用远程控制技术时保证安全性的方法进行说明。
远程协助
远程协助(RA,Remote Assistance)技术允许用户(邀请者)通过网络邀请其他人(受邀者)通过完了过解决自己遇到的实际问题。使用这种方法受邀者可以查看邀请者的计算机屏幕并且互交流信息,同时,如果邀请者允许,受邀者还可以通过网络操作邀请者的计算机直接解决问题。邀请者可以决定受邀者的权限到底是仅屏幕查看还是具有控制权。要使用远程协助,双方都需要使用Windows XP操作系统。
远程协助可以由邀请者发起,这叫请求远程协助;同时也可以由受邀者为邀请者提供远程协助,这叫提供远程协助。HelpAssistant账户就是给远程协助操作准备的,这个账户是在安装系统过程中创建的,并被随意分配一个复杂的密码,随后被禁用。当远程协助邀请打开时,用户的电脑上会创建一个“邀请者”的票证,同时3389端口也会打开,并允许到终端服务的访问,这时HelpAssistant账户会被自动启用。启用后受邀者可以使用这个账户和创建的票证访问邀请者的计算机。如果所有的票证都被关闭或者过期,HelpAssistant账户会被再次自动被禁用,3389端口也会同时关闭。
注意:远程桌面功能也使用了终端服务,因此如果远程桌面功能被启用后,3389端口可能会一直打开。
请求方式的远程协助
用户可以通过电子邮件或者Windows Messenger请求远程协助,或者把远程协助的请求保存为一个文件。目前还没办法限制初学者邀请人,任何人只要能物理上连接到初学者的计算机就可以接受他的邀请。当一个远程协助请求被答应后,初学者就可以看到专家的用户名。然而,唯一能确定连接来的用户是正确用户的方法是使用密码。初学者在创建一个协助请求时可以选择用密码保护这个协助,密码并不包含在请求文件中,而且受邀者必须输入正确的密码才能建立连接,密码可以由初学者通过其他方法发给受邀者。不过,密码复杂性、密码策略还有账户锁定策略等规则都不对这个密码和账户生效。
通过Windows Messenger发送的邀请是通过明文的方式以XML格式发送的,通过email形式发送或者保存的邀请文件是以MsRcIncident格式的文件发送的,这也是一种明文的XML格式。因此任何人只要能接触到这些数据就都能读出其中的内容,例如机器的IP地址、所使用的端口号以及邀请者是否设置了密码保护。
基于这些原因,对于安全要求比较严格的网络中,不建议使用远程协助。
提供方式远程协助
提供远程协助通常被认为是对邀请者提供远程协助更加安全的做法。提供远程协助仅适用于位于同一个域中或者被信任的域中的两台计算机之间,并且通过设置允许用户提供远程协助。当使用这个功能时,专家不能在没有声明的情况下连接到用户的计算机,或者在没有从用户处获得权限的情况下控制计算机。同时用户也有允许或者拒绝对方连接的能力。
要使用这种方式的远程协助,安全配置模板的用户权限部分必须做如下修改:
用户权限 |
建议设置 |
允许通过终端服务登录 决定哪些用户或者用户组具有作为终端服务客户端登录的能力,远程桌面用户需要这个权限。如果同时还使用了远程协助功能,应只有使用该功能的管理员具有这个权限。注意:如果要使用提供方式的远程协助,则不用往该设置中添加任何用户或者用户组。 |
<无人> |
拒绝通过终端服务登录决定哪些用户或者用户组被禁止作为终端服务客户端登录,这个权限是为远程桌面用户使用的。 |
<无人> |
除此之外,为了允许用户使用提供方式的远程协助,还需要设置以下几个组策略:
在MMC的组策略组件中打开GPO或者通过容器的属性-组策略选项卡访问GPO的链接
如果是通过组策略选项卡访问,高亮选择目标GPO然后点击编辑以访问组策略组件
定位到计算机配置\管理模板\系统\远程协助节点
双击右侧面版的请求远程协助
点击已启用按钮,以允许用户请求远程协助
从下拉菜单中选择“只允许帮助者查看此计算机”选项
设置最长票证时间(值)为0以及最长票证时间(单位)为分钟
应用设置,关闭对话框
注意:为了使用提供方式的远程协助,其用请求远程协助策略是必要的,然而,设置最长票证时间为0可以防止用户使用请求远程协助功能。
双击右侧面版的提供远程协助功能
如果你打算允许专家在这台计算机上提供远程协助,点击启用按钮
在下拉菜单中选择“仅允许帮助者查看此计算机”
警告:建议你永远不要允许用户给与其他人远程控制计算机的权限,尽管用户可以看到对方的操作以及随时可以收回控制权,因为要破坏一个系统治需要几秒钟就够了。
点击帮助者:显示…按钮并且把所有被允许对这台计算机提供远程协助的用户全部添加近来,例如有管理员,以及桌面帮助人员等。建议限制本功能仅对确实需要的用户开放。用户可以以以下的格式显示:
<域名>\<用户名>或<域名>\<组名>
远程桌面连接
远程桌面(RD,Remote Desktop)是用在Windows XP Professional上的另一种优先功能的终端服务,它允许用户从远程连接到本机,并且像直接使用那样使用本机的各种资源。Windows XP Professional系统中默认情况下远程桌面功能是被禁用的。
远程桌面连接是使用远程桌面客户端软件进行的,XP系统中已经默认安装了该软件,并且Microsoft Windows 2000、NT、Windows 98和Windows 95的客户端软件也已经包含在了Windows XP中。远程桌面还有一个基于ActiveX的客户端,叫做RWDC(Remote Desktop Web Connection),可以被安装到IIS服务器上。使用RDWC,任何计算机都可以通过使用支持ActiveX的浏览器连接到适当的网页,下载ActiveX客户端,然后打开远程桌面连接。当向XP Professional系统安装IIS时,RWDC会被默认安装。
当远程桌面被启用后,3389端口被打开以接受终端服务的访问。所有的管理员(本机的和域中的)以及在“远程桌面用户”中被列出的用户和用户组都可以远程访问该计算机。当连接被启用后,被连接的计算机将会被自动锁定,如果目标计算机上已经有用户登录,远程的用户将会看到一个选项,可以把目标计算机上本地登录的用户注销,然后从远程登录上去,但这需要远程用户已经被成功验证,并且需要具有管理员权限。 远程桌面使用标准的Windows验证机制,因此密码策略和账户锁定策略也可以被应用到远程桌面,所有用于远程桌面的账户都必须设置有密码。
注意:建议在使用远程桌面的过程中锁定默认的administrator账户并禁止该账户从远程登录,不过本地登录是不受此限制的。
要使用远程桌面功能,安全模板中的用户权限部分必须做如下改变:
用户权限 |
建议设置 |
允许通过终端服务登录 决定哪些用户或者用户组具有通过终端服务客户端登录的权限,远程桌面用户需要该权限,如果同时使用了远程协助功能,应只有使用此功能的管理员具有该权限。 |
Administrators、Remote Desktop Users |
拒绝通过终端服务登录决定哪些用户或者用户组没有通过终端服务客户端登录的权限,该权限是为远程桌面用户准备的。 |
<无人> |
要允许计算机接受远程桌面连接,可以采取以下操作:
在我的电脑上点击鼠标右键,并选择属性以打开系统属性对话框
在对话框中打开远程选项卡
选中允许用户远程连接到这台计算机复选框
点击选择远程用户…按钮打开远程桌面用户对话框
本局本地策略的定义添加相应的用户或者用户组
注意:该操作会把被选中的用户和用户组添加到本地Remote Desktop Users用户组中,可以通过本地计算机管理工具直接对加入该组的用户和用户组进行编辑。
组策略-管理模板
Terminal Services
除了上面指出的一些设置之外,还建议对终端服务进行如下设置,并同样作为GPO的一部分或者通过本地计算机配置应用到计算机上。
这些对终端服务的建议设置都位于GPO的计算机配置\管理模板\Windows组件\终端服务节点下,并可以通过MMC的组策略组件访问。终端服务设置同样可以在用户设置节点下找到,不过那里的设置会被计算机配置下的设置覆盖。
表16 终端服务策略选项
网络配置建议
远程协助和远程桌面都使用了终端服务使得用户可以远程访问本地计算机,在Windows XP系统中使用这些功能时,终端服务使用了3389端口。强烈建议通过设置仅允许本地局域网使用远程连接功能,并且在对外防火墙或者路由器上封掉3389端口。在该端口上所有的入站和出站连接都必须被阻止以禁止非法访问。如果仅阻止了入站连接,远程协助功能还是有可能通过Windows Messenger与局域网外部使用,因此双向的通讯都要被阻止。
如果需要从本地局域网那个外使用远程协助或远程桌面连接,建议在防火墙或者路由器上设置过滤,以确保只有特定的IP地址可以当问到局域网内的系统。其他所有地址到3389端口的访问都应当被禁止。如果需要更高安全级别的保护,可以安装一个VPN服务器,并使用非常强的验证方式使得少数用户可以拨入到VPN服务器。当然仅允许特定的IP地址可以连接到VPN服务器也是个好方法。