Thursday, March 4, 2010

Security

Security

This page is about securing a Terminal Server. For general security information (Security Bulletins, encryption, virus and spyware prevention, etc), choose the appropriate items in the menu on the left.

The basic steps to create a locked down Terminal Server:


  • use NTFS and Registry permissions to keep users out of sensitive areas of the file system and the registry.
    A standard installation of Windows 2003 doesn't need any modification. On Windows 2000 Server, modify the NTFS permissions as follows:
       %SystemDrive%, %SystemRoot%, %ProgramFiles%
    and %SystemRoot%\system32 :
    System - Full Control
    Administrators - Full Control
    Authenticated Users - Read & Execute
    Also make sure that users have only Read permissions on these keys:
      
    HKLM\Software\Microsoft\Windows\CurrentVersion\Run
    HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
    HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
  • do not install Terminal Services (in Application Server mode - W2K) on a Domain Controller
  • during the installation of Terminal Services, choose "Full Security" compatibility mode (on 2003) or "Permissions compatible with Windows 2000 Users" (on W2K)
  • create a restrictive GPO (see KB 278295), using loopback processing (see KB 231287)
  • grant users access to the Terminal Server by making them members of the Remote Desktop Users group (2003 only)
  • choose the highest encryption level possible
  • do not give users elevated user rights when an application doesn't work for normal users.
    Instead, download Process Monitor (former FileMon and Regmon combined). Run these programs as Administrator on the console of the Terminal Server (when no user is connected), start a TS session as a normal user and try to run the application. Process Monitor will show you all "access denied" errors that occur, so that you can give your users the necessary permissions on a file-to file or Registry subkey basis.
  • do not assume that configuring an "Initial application" (rdp) or publishing an application (ica) prevents users from accessing the full desktop of the server (see CTX991230)

    If you need more granular control on an application basis, consider a 3rd party utility to enhance security.

More info + guidelines

Windows 2008 specific

Windows 2003 specific

XP specific

  • 944939 - The first logon to a Windows XP-based computer through terminal services is not denied even though the user is not a member of the Remote Desktop Users group

Windows 2000 specific

  • 315055 - How To Use IPSec Policy to Secure Terminal Services Communications in Windows 2000
  • Guide to Securing Microsoft Windows 2000 Terminal Services - PDF file, by NSA
  • 320181 - HOW TO: Use the Application Security Tool to Restrict Access to Programs in Windows 2000 Terminal Services
  • 257980 - Appsec Tool in the Windows 2000 Resource Kit Is Missing Critical Files
  • 300958 - HOW TO: Monitor for Unauthorized User Access in Windows 2000
  • 891076 - An event that is logged in the Security log does not in include the IP address or the computer name of the Terminal Services client - preSP5 hotfix

Citrix specific

  • CTX105215 - MetaFrame Presentation Server Client for Win32 debugging functionality could be misused
  • CTX108354 - Vulnerability in Program Neighborhood client could result in arbitrary code execution

3rd party security utilities

No comments:

Post a Comment