发新话题
打印

[转载]WIN2008终端服务安全问题

[转载]WIN2008终端服务安全问题

信息来源:邪恶八进制信息安全团队(www.eviloctal.com
在Windows Server 2008的终端服务(Terminal Services)中最大的亮点就是整体安全性的提高,作为管理员和用户最常使用的远程访问服务器之一,这种安全性的提高也并不让人意外,并且非常受到大家的欢迎。在本文中我们将讨论怎样做才能确保你的终端服务器(Terminal Server)环境更加安全。

  使用双重因素验证

  当我们在考虑网络安全时,我们有必要进行双重因素验证。

  目前主要有集中不同形式的双重因素验证方式,不过最常用的是终端服务所支持的智能卡(Smart Card)。在使用智能卡时,用户不仅需要提供有效的登录凭证,而且他们必须能够提供智能卡连接到他们用于作为远程终端的设备。

  为了获取智能卡验证,你必须创建一个能够运用到终端服务器的组策略对象(Group Policy Object)。在组策略对象中,浏览Computer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesSecurity Options,并启用Interactive Logon: Require Smart Card设置。此外,你将需要启用智能卡重新定位到终端服务器,可以通过在用户工作组上的远程桌面连接客户端的本地资源选项中,勾选智能卡选项。

  为所有客户端执行网络级别的身份验证

  在过去,在服务器上部署终端服务验证是通过连接服务器上的会话(session)然后在Windows Server登录屏幕中输入登录凭证。这听起来似乎非常麻烦,但是从安全的角度来看,能够启动session登录屏幕可能会暴露关于网络的信息(域名,计算机名称等)或者可能让服务器受到拒绝服务攻击,这种攻击主要来自拥有服务器公用IP地址的人。

  网络级身份验证(NLA)是远程桌面连接客户端(Remote Desktop Connection Client)6.0版本中新加的功能,该功能可以在向用户显示Windows Server登录界面之前允许用户输入他们的登录凭证。Windows Server 2008使我们能够利用这项功能并要求所有连接客户端使用该功能。

  要想使用NLA,你必须使用Windows 2008 Server,并且你的连接客户端必须能够支持CredSSP(Windows XP SP3、Windows Vista、 Windows 7)以及运行Remote Desktop Connection 6.0或者更高版本的远程桌面连接。你同样也可以配置终端服务器,要求其客户端在几个不同位置使用NLA:

  在最初的终端服务角色安装过程中,当终端服务器屏幕显示出指定验证方法时,选择Allow connections only from computers running Remote Desktop with Network Level Authentication(仅允许运行网络级身份验证的远程桌面的计算机发送的连接)选项。

  在终端服务配置MMC管理单元中,右键单击你的客户端使用的终端服务器连接,然后选择属性,选择Allow connections only from computers running Remote Desktop with Network Level Authentication选项

  创建一个组策略对象,查看Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal ServicesTerminal ServerSecurity位置,启用Require user authentication for remote connections by using Network Level Authentication(要求使用网络级别的身份验证进行远程连接的用户验证)设置。

  内容导航

  更改默认RDP端口

  默认情况下,终端服务器使用的是端口3389来进行RDP通信。而通常情况下,世界上的所有黑客都知道终端服务器使用的是端口3389进行RDP通信。在这种情况下,提高终端服务器环境安全以及抵御黑客攻击的最快方法就是更改这种默认端口分配设置。

  要想更改终端服务器的默认RDP端口设置,打开注册表,浏览:HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp,找到PortNumber密钥并将十六进位值00000D3D(相当于端口3389)取代为其他适当的十六进位值。

  另外,你也可以更改终端服务器使用的端口号码(基于每次连接),同样使用注册表,浏览HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWinStationsconnection name,再次找到PortNumber密钥然后将十六进位取代为你想要的适当的值。

  请记住,当对服务器的这些设置进行更改时,所有的连接客户端必须确保使用标记到服务器IP地址上的新端口扩展来连接到终端服务。举例来说,使用内部IP地址(192.168.0.1)连接到终端服务器,而现在使用的是非标准端口8888的话,将要求用户输入192.168.0.1:8888到远程桌面连接客户端。

  内容导航

  使用Easy Print和限制重新定向的打印机

  从本地连接到客户端工作组的设备中进行打印,一直都是Windows Server2008之前版本中的终端设备的缺点,为了做到这一点,你必须确保在客户端和服务器安全了版本完全相同的打印机驱动程序,而且即使如此,也不一定总是能正常打印。从安全的角度来看,我们从来都不想在我们的系统上安装更多的驱动程序,除非必要情况。安装在服务器上的每个驱动程序都有可能扩大潜在攻击范围。

  Windows Server2008中新增了被称为Easy Print(简易打印)的功能,这从根本上改变了本地连接打印机的处理方式。从本质上来说,TS Easy Print是一个驱动程序,能够作为代理将所有通过的数据进行重新定向。当客户端使用简易打印驱动程序从设备打印时,数据和打印设置都将转换为常用格式发送给终端服务器进行处理。在这个过程中,点击打印后,打印对话框是从客户端弹出的,而不是从终端会话中弹出的,这意味着不需要在终端服务器上安装驱动程序来处理本地打印设备的打印工作。

  为了配置简易打印,你需要确保所有的本地连接打印设备都有逻辑打印机,并在客户端工作组配置为使用简易打印驱动程序。所有运行远程桌面连接6.1或更高版本以及.NET Framework 3 SP1的所有Windows XP SP3、Vista和Windows 7都支持简易打印功能。

  只要你已经在工作组级别配置好本地连接设备,最好就是确保只有使用TS Easy Print的打印机才能够被重新定向到终端服务器,并应设置为默认打印机。想要实现这一点,可以创建一个组策略对象并浏览到Computer Configuration Administrative TemplatesWindows ComponentsTerminal ServicesTerminal ServerPrinter Redirection,启用Redirect only the default client printer(仅对默认客户端打印机进行重新定向)选项。

  内容导航

  限制用户帐户

  当你雇佣一个人为你耕地时,你只需要把拖拉机的钥匙给这个人即可,而不是给他所有的钥匙,避免发生物品丢失事故。同样的道理,我们必须记住,当用户连接到服务器或者直接在服务器工作时,他们有可能接触他们并不需要的资源,为了提高终端服务器环境的安全性,我们必须限制这种现象。这不仅可以防止用户的身份凭证被破坏,还可以防止合法用户的非法意图,我们可以做的事情包括以下:

  对终端用户使用特定的帐户

  用户在本地使用某些应用程序,然后进入终端服务器以访问其他应用程序,这种现象并不少见。从管理角度来看,用户使用相同的用户帐户登录本地和终端设备是很便于管理,但是从安全角度来看,这也很容易让盗取了访问多个应用程序凭证的攻击者继续攻击其他应用程序。因此,必须为终端服务器访问创建单独的用户帐户,并限制为仅能访问必要的应用程序,这样将大大减小攻击者大范围攻击的威胁。

  使用软件限制政策

  软件限制政策(Software Restriction Policies)毫无疑问的属于新的发展趋势,但是其中却存在很大不足,软件现在政策可以配置为允许或者拒绝使用某些应用程序,这在公共计算机或者kiosk环境很常用,在终端服务器环境中也很多。

  检测用户对终端服务器的访问

  默认情况下,只有终端服务器远程桌面用户组(和域/本地管理员)的成员才能够登录到终端服务器,我们强烈建议你定期对这些组成员进行记录和审计,如果用户不再需要登录到终端服务器,那么就可以将其从远程桌面用户组除名。

  内容导航

  使用组策略配置其他安装政策

  可以通过组策略为终端服务器环境配置很多安全增强功能,以下是几个常见的:

  1. 将终端服务用户限制到单个远程会话

  在大多数情况下,单个用户没有必要启动终端服务器上的多个会话,如果允许他们启用多个会话可能会使终端服务器环境受到拒绝服务攻击(当用户身份凭证被攻击者盗取时)。可以对组策略对象内的Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal ServicesTerminal ServerConnections进行配置。

  2. 不允许驱动器重新定向

  除非有特殊需要,允许用户访问来自终端服务器会话的本地驱动器都可能带来非常不安全的通信渠道。有了这种功能,用户不仅能够复制数据到终端服务器,而且数据很可能包含恶意代码,并有可能被终端服务器执行。

  可以对组策略对象内的Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal ServicesTerminal ServerDevice and Resource Redirection进行配置。

  3. 为断开会话设置时间限制

  总的来说,让用户在没有完全注销的情况下退出对话并不是件好事,攻击者可能能够控制这个会话,然后获取某些敏感信息,或者获得身份验证到另一个网络应用程序。制止这种情况发生的方法就是,为断开会话设定非常短的时间限制,当时间一到会话就会自动关闭。

  可以对组策略对象内的Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal ServicesTerminal ServerSession Time Limits进行配置。

  4. 禁用 Microsoft Windows Installer

  简而言之,只有系统管理员才能够在终端服务器安装应用程序,在大多数情况下,由于用户不能以管理员身份登录,他们就不能自己安装应用程序。但是,如果某些用户需要这种特权,管理员可以通过禁用Microsoft Windows Installer来限制他们安装某些程序的权限。

  可以对组策略对象内的Computer ConfigurationAdministrative TemplatesWindows ComponentsWindows Installer进行配置。 重要的是,配置此设置为启用,而不是总是允许,这样做能够确保你仍然可以通过组策略向终端服务器发布应用程序,而使用总是允许选项将阻止这种情况发生。

  5. 文件夹重新定向

  如果我每次登录终端服务器都能在用户本地桌面发现敏感数据或者关键数据,并因此获得1美元的话,那肯定成大富翁了。虽然网络管理员为用户提供了多个公共和个人数据存储位置,有些用户仍然习惯将数据存在他们的桌面上。管理员可以通过将用户桌面重新定向到文件服务器上的合适位置来防止数据丢失事故的发生。

  可以对组策略对象内的User ConfigurationWindows SettingsFolder Redirection 来进行配置,用户桌面绝对不是唯一可以重新定向的文件夹,建议查看所有可用的文件夹并将某些文件夹重新定向到服务器。

  6. 禁止访问控制面板

  将像使用Microsoft Installer一样,用户不应该拥有防止控制面板的权限,但是,某些用户有管理员权限的话,管理员也可以通过配置设置来限制他们对系统控制面板的访问。

  可以对组策略对象内的User ConfigurationAdministrative TemplatesControl Panel 来进行配置。
select girl from Guilin where age='18-20' and bg='beautiful'--

TOP

发新话题