如何保障Server 2008服务器的远程桌面安全
- 2024-04-02 05:09:53
- 来源:未知
- 在手机上看
扫一扫立即进入手机端
远程桌面是管理员对Windows系统实施远程管理和维护的首先工具,当然也是攻击者窥视和企图接管的对象。因此,一个有经验的系统管理员在客户端或者服务器上开启远程桌面后定会进行一定的安全部署。对于Windows Server 2008来说,远程桌面是终端服务的一个功能,Windows Server 2008的安全特性和相关细节,为用户进行远程桌面管理以及提升其安全性提供了更多选项。本文将和大家一道挖掘Windows Server 2008远程桌面管理中的相关技术细节。
1、启用远程桌面时应注意的细节
在Windows Server 2008中开启远程桌面的操作是非常简单的,但不同于此前的系统它提供了更多的安全选项,这些选项是我们应用注意的。另外,因为Windows Server 2008的安全特性,大家在开启远程桌面前或者开启之后还应用注意有关事项。
(1).慎重选择限制远程连接系统的版本
依次点击“控制面板“→“系统和维护“→“系统“进入系统管理页面,单击左窗格中的“远程设置“链接打开“系统属性“对话框,点击“远程“选项卡来到启用远程桌面窗口。对于启用远程桌面大家可谓轻车熟路,但该页面中启用Windows Server 2008远程桌面的两个选项希望引起大家的注意。首先是“允许运行任意版本远程桌面的计算机连接(较不安全)“选项,如果选择该项那么任意版本的Windows都可以通过远程桌面连接到该主机,毫无疑问,这是不安全的。在此,管理员应该做考量是否限制远程连接的系统版本以提升远程桌面的安全,一般情况下管理员应该以自己平时使用的系统版本为依据进行选择。另外一个选项是“只允许运行带网络身份验证的远程桌面的计算机连接(更安全)“,如果选择该项,那么将只允许安装了Windows Vista、Windows Server 2008、Windows 7的计算机进行远程连接。如果条件允许,笔者当然建议大家选择该项,毕竟安全第一嘛。
(2).账户和防火墙相关的注意事项
在Windows Server 2008上开启远程桌面时还需注意,所有远程连接必须使用带有密码的账户创建,如果系统中的某个本地账户没有密码,那么就无法使用该账户进行远程连接。这是一些个人用户经常遇到的问题,明明开启了远程桌面但就是无法通过账户登录。
另外,考虑到Windows Server 2008的防火墙非常强大一般用户会选择时系统防火墙,此时如果开启远程桌面的话,系统防火墙会自动创建一个例外,允许远程桌面协议(RDP)连接穿透防火墙。默认情况下,该协议使用TCP 3389端口,同时在注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber键值中记录了该端口号。出于安全考虑,希望大家将该端口号更改为一个陌生的端口,更改的方法就是修改该注册表键值的值。如果计算机系统使用了其他第三方防火墙,则不行要在该防火墙中打开该端口,以允许建立传入的远程桌面协议(RDP)连接。在此提醒的是,允许连接的端口是你更改后的端口而不是此前的TCP 3389端口。
2、对远程登录用户可采用的授权方法
默认情况下,Administrators组中的所有成员都可以远程登录,同时Windows Server 2008 Active Directory中的Remote Desktop Users组的成员也可以进行远程管理。处于安全考虑,我们必须更改默认授权而实施对特定的用户或者组授权。
(1).在远程桌面控制台中授权
在Windows Server 2008的“系统属性“对话框中,单击“远程“选项卡进入远程桌面设置窗口。在开启远程桌面后,单击其中的“选择用户“按钮,随后打开“远程桌面用户“对话框,同时所有Remote Desktop Users组的成员都会被列在这里。要添加新的用户或者组到该列表,单击“添加“按钮打开“选择用户或组“对话框。在该对话框中输入所选或默认域中用户或组的名称,然后单击“检查名称“。如果找到了多个匹配项目,则需要选择要使用的名称,然后单击“确定“。当然也可以单击“查找范围“按钮,选择其他位置通过查找功能添加相应的用户。如果还希望添加其他用户或者组,注意在它们直接输入分号(;)作为间隔。再次,笔者的建议是:删除对于组的授权,而只授予特定的用户远程连接权限。这样就会增加攻击者猜解用户账户的难度,从而提升了远程桌面的安全。作为一个安全技巧,大家可以取消administrator账户的远程连接权限,而赋予其他对于攻击者来说比较陌生的账户的远程连接权限。
(2).通过组策略限制远程登录
在组策略中,Administrators和Remote Desktop Users组的成员默认具有“允许通过终端服务登录“的用户权限。如果修改过组策略,可能需要复查,以确保这个用户权限依然被分配给这些组。一般来说,可以针对具体的计算机复查设置,但也可以通过站点、域已经组织单元策略进行复查。打开相应的组策略对象,然后依次展开“计算机配置“→“Windows 设置“→“安全设置“→“本地策略“→“用权限指派“,双击“通过终端服务允许登录“策略,查看要使用的用户和组是否在列。
如果希望限制用户对服务器进行远程登录,可以打开相应的组策略对象,展开“计算机配置“→“Windows 设置“→“安全设置“→“本地策略“→“用权限指派“ 节点,双击“通过终端服务拒绝登录“策略。在该策略的属性对话框中,选择“拒绝这些策略设置“,然后单击“添加用户或组“,在添加用户或组对话框中,单击“浏览“,并使用选择用户、计算机或组对话框输入希望拒绝通过终端服务进行本地登录的用户或组的名称,然后单击“确定“即可。另外,也可以在终端服务配置工具中修改组的默认权限。例如,可以将对终端访问对象具有完全控制权限的Administrators组删除。
3、在组策略中配置远程桌面管理
远程桌面管理是终端服务的一部分,当然也可使用组策略配置远程桌面。其实,微软也建议首先使用组策略作为终端服务和远程桌面管理功能的首选工具。在实战中,我们可以针对特定的计算机配置本地策略,或在域中的组织单元(OU)上设置。我们可以使用组策略对象编辑器进行修改,定位到“计算机配置“→“管理模板“→“Windows 组件“→“终端服务“节点以及“用户配置“→“管理模板“→“Windows 组件“→“终端服务“节点下进行设置。该节点下有6个配置项目,大家可以根据需要进行配置。一般来说,远程桌面管理都用于对企业内部的服务器进行管理,但终端服务服务器通常都会使用独立的OU被隔离在特定的组中。因此如果打算在企业内部使用终端服务服务器,则应该考虑为终端服务服务器创建独立的OU,这样就可以通过远程桌面单独管理终端服务服务器。
4、远程桌面连接客户端设置技巧
Windows Server 2008使用的远程桌面连接客户端(mstsc)是最新的第6版本,这个版本的连接客户端相比以前的版本有了较大的改进,增加了许多有趣而实用的功能。下面和大家共享几个使用mstsc进程远程桌面连接中的相关技巧。
(1).自定义显示分辨率
Windows Server 2008中的mstsc支持高达1680×1920或1920×1200或更高的分辨率。除了可以在mstsc的图形界面中设置分辨率外,当然最快捷的是直接通过命令设置。比如我们运行“mstsc /w:1920 /h:1200“即将客户端的分辨率设置为1920×1200,其中/h、/w是参数分别表示屏幕的高和宽。如果大家将某次桌面连接配置保存为RDP文件,我们可以打开该文件然后修改其中的desktopwidth和desktopheigh后面数值以改变屏幕大小。例如desktopwidth:i:1920或desktopheigh:i:1200。
(2).在远程桌面中使用多显示器
Windows Server 2008中的mstsc支持多显示器,这样就能够显示远程会话的所有内容。需要说明的是:要使用多显示器,那么这些显示器必须水平对齐,并使用同样的分辨率。要使用远程桌面的多显示器跨越功能,需要在mstsc中添加/span参数,例如“mstsc /span“。当然,我们也可以通过修改RDP文件中的特定数值实现显示器跨越,比如“Span:i:1“
(3).调整传输数据的优先级
Windows Server 2008中的mstsc在显示远程系统的数据方面是有一定的优先级的。我们希望的优先级是:显示器、键盘和鼠标的相关数据比其他类型的数据,比如打印机或文件传输更优先处理。默认情况下,显示器和输入数据将占可以带宽的70%,而其他通信只占可以带宽的30%。在某些特殊情况下,我们需要调整这个默认的优先级以符合我们的特殊需求。要修改这个优先级就需要在Windows Server 2008的注册表中进行修改,其注册表项是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servers\TermDD。需要条的子键是(如果没有这些键值可以自己创建,这些键值都是32位的Dword值):
FlowControlDisable 将其值设置为“1“就会禁止显示数据的优先级,反之,所有不同的数据就请求都会被同等对待,其他是注册表值就会被忽略。
FlowControlDisplayBandWidth 该键值设置相对带宽优先级的比例,其默认值是70,最大允许的数值是255。
FlowControlChannelBandWidth 该键值设置其他数据比如打印机、文件传输等占用的可以带宽比例,其默认值是30,最大可以设置为255。
FlowControlChargePostCompression 该键值决定是否要根据演示前和压缩后的数据大小