Служба Remote Desktop Services (RDS) в Windows Server 2008 R2 це не просто ребрендинг свого попередника – служби Terminal Services. Нові функції, частина з яких з’явилася ще в Windows Server 2008, такі як RemoteApp, RD Gateway і RD Virtualization Host, дозволяють просто і зручно забезпечити розгортання і функціонування як окремих користувальницьких додатків, так і цілі робочих столів в RDS і VDI рішеннях, причому функціонал і зручність анітрохи не гірше, ніж у рішень Citrix або комплексів інших вендорів.

А як же йдуть справи з безпекою служби Remote Desktop Services? Microsoft істотно оновила і посилила безпеку даної служби. У даній статті ми поговоримо про механізми безпеки RDS, про забезпечення безпеки термінальних служб засобами групових політик і про практичні аспекти забезпечення безпеки рішень RDS.

Що нового в R2

Якщо вам доводилося працювати з версіями служб терміналів в Windows Server 2003 і Windows Server 2008, то ви, мабуть, пам’ятаєте, що в Windows 2008 з’явився ряд нових можливостей, таких як TS Web Access (підключення через браузер), TS Gateway (доступ до термінальних службам через Інтернет), RemoteApp (публікація окремих додатків по протоколу RDP) і служба Session Broker (забезпечення балансування навантаження).

У Windows Server 2008 R2 з’явився наступні функції:

  • Remote Desktop Virtualization для рішень VDI
  • Провайдер RDS для PowerShell (тепер адміністратор може управляти конфігурацією і управлінням RDS з командного рядка або за допомогою скриптів)
  • Remote Desktop IP Virtualization, що дозволяє призначати підключень IP адреси, грунтуючись на параметрах сесії або програми яку ви запускаєте
  • Нова версія протоколу RDP і клієнта Remote Desktop Connection (RDC) – v. 7.0
  • Управління ресурсами CPU для динамічного виділення процесорних ресурсів на основі кількості активних сесій
  • Сумісність з Windows Installer, що дозволяє встановлювати програми з можливістю донастройки установки програми на стороні користувача.
  • Підтримка на стороні клієнта до 16 моніторів.

Крім того, були доопрацьовані функції роботи з відео і аудіо, і повноцінна підтримка технології Windows Aero (відзначимо, що Aero не підтримує при мультимоніторних режимі роботи).

Природно, питання безпеки служби RDS залежать від конкретного рішення. Наприклад, якщо публікувати робочий стіл для користувачів, що підключаються через Інтернет або за допомогою браузера, то питання безпеки постає набагато гостріше, ніж при стандартному рішенні, коли клієнти підключаються за допомогою клієнта RDC по локальній мережі LAN.

Аутентифікація на рівні мережі

Для забезпечення більшої безпеки для всіх підключень необхідно задіяти механізм аутентифікації Network Level Authentication (NLA). NLA вимагає від користувача авторизуватися на сервері RD Session Host ще до того, як сесія створена. Цей механізм дозволяє захистити сервер від обробки зайвих сесій, які можуть генеруватися зловмисниками або програмами-ботами. Для того, щоб скористатися NLA, клієнтська операційна система повинна підтримувати протокол Credential Security Support Provider (CredSSP), що має на увазі ОС Windows XP SP3 (як включити NLA в Windows XP SP3) і вище, а також клієнта RDP 6.0 або вище.

Налаштувати NLA можна на сервері RD Session, відкривши консоль Administrative Tools -> Remote Desktop Services -> Desktop Session Host Configuration.

  1. Клацніть правою кнопкою миші по підключенню
  2. Виберіть Properties
  3. Перейдіть на вкладку General
  4. Отметьте опцию “Дозволити підключення лише з комп’ютерів, на яких запущено віддалений робочий стіл з автентифікацією на рівні мережі”
  5. Натисніть OK.

Настроках безпеки Remote Desktop Services Windows Server 2008 R2

Захист транспортного рівня (TLS)

У сесії RDS можна задіяти один з трьох механізмів безпеки, що дозволяють захистити з’єднання між клієнтів і сервером RDS Session Host:

  • Рівень безпеки RDP – використовується вбудоване шифрування протоколу RDP, є менш безпечним.
  • Переговори – шифрування TLS 1.0 (SSL) буде використовуватися в разі підтримки клієнтом, якщо клієнт його не підтримує, буде використовуватися звичайний рівень безпеки RDP.
  • SSL – шифрування TLS 1.будет використовуватися для аутентифікації сервера і шифрування даних, що передаються між клієнтом і сервером. Це найбільш безпечний режим.

Для забезпечення високого рівня безпеки необхідно використовувати шифрування SSL / TLS. Для цих цілей необхідно мати цифровий сертифікат, він може бути самоподпісанного або виданими центром сертифікації CA (що краще).

У доповненні до рівня безпеки можна вибрати рівень шифрування з’єднання. Доступні наступні види шифрування:

  • Низький – використовується 56 бітове шифрування даних, що відправляються з клієнта на сервер. Дані, що передаються з сервера на клієнт не зашифровано.
  • Клієнт сумісний – даний вид шифрування використовується за умовчанням. В цьому випадку шифрується весь трафік між клієнтом і сервером з максимальною довжиною ключа, яку підтримує клієнт.
  • Високий – всі дані передаються між клієнтом і сервером в обидві сторони шифруються 128 бітовим ключем
  • Відповідає FIPS – всі дані передаються між клієнтом і сервером в обидві сторони шифруються методом FIPS 140-1.

Варто відзначити, що якщо використовуються рівні шифрування High або FIPS Compliant, то всі клієнти, які не підтримують даний вид шифрування, не зможуть підключитися до сервера.

Налаштувати тип аутентифікації сервера і рівень шифрування можна наступним чином:

  1. На сервері RD Session Host, відкрийте вікно конфігурації Remote Desktop Session Host і перейдіть у вікно властивостей.
  2. На вкладці General, у випадних меню, виберіть потрібний рівень безпеки і тип шифрування.
  3. Натисніть OK.

Шифрування в Remote Desktop Services

групові політики

Для налаштування параметрів RDS в Windows Server 2008 R2 є ряд опцій групової політики. Всі вони розташовані в розділі Computer Configuration Policies Administrative Templates Windows Components Remote Desktop Services (скріншот консолі Group Policy Management Console відображений на картинці).
Групові політики забезпечення безпеки в Remote Desktop Services

Як ви бачите тут є політики управління ліцензуванням, політики настройки клієнта RDC і самого сервера RD Session Host. До політикам безпеки RD Session Host відносяться:

  • Встановити рівень шифрування підключення клієнта: політика використовується для управління рівнем шифрування. Якщо її активувати, всі з’єднання повинні використовувати вказаний рівень шифрування (за замовчуванням – High).
  • Завжди Підкажіть для Пароль на Підключення: дана політика використовується, якщо необхідно завжди питати пароль користувача при підключенні до сесії RD, навіть якщо пароль був введений в клієнті RDC. За замовчуванням, користувачі можуть автоматично входити в сесію, якщо вони вказали пароль в клієнті RDC.
  • Вимагати Безпечний RPC Спілкування: – при включеній політики дозволені тільки аутентифіковані і шифровані запити від клієнтів.
  • Вимагати Використовуйте з Конкретні Безпека Шар для Віддалений (RDP) Зв’язки: при включеній політиці, всі з’єднання між клієнтом і сервером терміналів повинні використовувати рівень, який зображено тут (RDP, Negotiate або SSL / TLS)
  • Роби Ні Дозвольте Місцеві Адміністратори до Налаштувати Дозволи: політика відключає можливість адміністраторам налаштовувати параметри безпеки RD Session Host.
  • Потрібна аутентифікація користувача для віддалених підключень за допомогою автентифікації на рівні мережі: Політика включає вимогу NLA для всіх з’єднання з термінальним сервером (клієнти без підтримки NLA підключитися не зможуть).

Параметри настройки клієнта RDC знаходяться в підрозділі Віддалений Робочий стіл Підключення Клієнт:

  • Роби ні дозволити паролі до бути збережено: політика забороняє зберігати паролі в клієнті RDC, опція «Зберегти пароль» стає недоступна, все раніше збережені паролі будуть видалені.
  • Вкажіть SHA1 відбитки великих пальців з сертифікати представляють довіряють .rdp видавці: ця політика дозволяє створити список відбитків SHA1 сертифікатів, і якщо сертифікат відповідає відбитку в це списку, він вважається довіреною.
  • Підкажіть для вірчі грамоти на клієнт комп’ютер: Політика активує запит облікових даних користувача на клієнтському комп’ютері, а не сервері RD Session.

Доступ до Інтернету на веб-сайті

Користувачі комп’ютерів, на яких не встановлений клієнт RDC, можуть отримувати доступ до опублікованих додатків за допомогою веб-браузера. Для цього користувач повинен в браузері відкрити URL, на якому опубліковані ресурси RDS. Сервер RD Web Access – це окрема роль сервера RD, зазвичай він розташовується на виділеному сервері.

Веб інтерфейс сервера RD Web Access заснований на використанні SSL і користувачі можуть авторизуватися на ньому за допомогою своїх облікових даних. Аутентифіковані користувачі бачать лише список тих опублікованих програм (RemoteApp), до яких у них є доступ.

Сервер Web Access для шифрування використовує сертифікат X.509. За замовчуванням використовується самоподпісанний сертифікат.

Leave a Reply

Your email address will not be published. Required fields are marked *