Захищаємо протокол RDP, Windows IT Pro

Аутентифікація та шифрування із застосуванням SSL Протокол RDP із захистом на рівні сокетів Secure Sockets Layer (SSL) - маловідоме нововведення операційної системи Windows Server 2003 Service Pack (SP) 1 і пізніших версій.

Аутентифікація та шифрування із застосуванням SSL

Протокол RDP із захистом на рівні сокетів Secure Sockets Layer (SSL) - маловідоме нововведення операційної системи Windows Server 2003 Service Pack (SP) 1 і пізніших версій. Однак за допомогою протоколу RDP with SSL можна організувати надійне шифрування даних, що передаються, і підтверджувати підключення користувачів до довіреного сервера терміналу. У цій статті розповідається про те, як налаштувати клієнти для підключення до сервера терміналу з використанням SSL та підготувати сервер терміналу для обслуговування RDP-з'єднань із захистом на рівні сокетів.

Особливості пакету SP1

RDP – це фірмовий протокол Microsoft для служби Windows Terminal Services. Наскрізне шифрування RDP with SSL забезпечує додатковий рівень шифрування для конфіденційних даних і дозволяє клієнтам перевірити справжність сервера, запобігаючи атакам, під час яких шахрай вклинюється між клієнтом та сервером (man-in-the-middle). Якщо клієнт не довіряє центру сертифікації (CA), який випустив сертифікат SSL для сервера, та/або автентифікація імені сервера не може бути підтверджена, то перед підключенням до сервера клієнт видає попередження.

Використання SSL для примусової автентифікації сервера та наскрізне шифрування даних для RDP відрізняються від протоколу RDP over HTTP (реалізація запланована в Longhorn Server), який забезпечує з'єднання з сервером Windows Terminal Services через RDP-порт 443. У Windows 2003 SP1 і пізніших версіяхдля організації сеансу сервера терміналу, як і раніше, необхідний RDP-порт 3389.

Навіть за наявності сертифіката, виданого центром сертифікації корпоративної мережі підприємства (на відміну від стороннього CA, наприклад VeriSign, якому Windows довіряє за замовчуванням), SSL не забезпечує підключення до сервера через RDP відомих клієнтів. Запити сертифікатів клієнта не підтримуються. Тунель Secure Shell (SSH) або IPsec VPN залишається найкращим способом підключення до сервера лише довірених клієнтів.

Встановлення та налаштування клієнта RDP

У системах Windows 2003 SP1 та пізніших файлах для нового клієнта Remote Desktop Connection (версія 5.2.3790.1830) можна знайти в папці C:windowssystem32clients sclientwin32. Слід врахувати, що в даний час вихідні файли для установки версії 5.2 клієнтської програми робочої станції є тільки в Windows 2003 SP1.

Файли потрібно розмістити у папці win32 на загальному диску, доступному для робочих станцій у мережі підприємства. Після цього можна вручну встановити оновлений клієнт Remote Desktop Connection на робочій станції Windows XP або Windows 2000, підключившись до спільного диска, запустивши файл setup.exe і дотримуючись інструкцій програми.

У версії 5.2 клієнта Remote Desktop Connection з'явилася вкладка Security (екран 1), де можна вказати, чи слід клієнту перевіряти сертифікат сервера перед підключенням до сервера. Можливі три варіанти.

захищаємо

  • No authentication – клієнт не намагається перевірити сертифікат сервера перед підключенням. Якщо для зв'язку з сервером потрібна автентифікація SSL, клієнт не зможе встановити з'єднання.
  • Require authentication – клієнт перевіряє сертифікат сервера перед підключенням до сервера. Якщо клієнт не може визначити справжність сервера,то з'єднання з сервером встановлено не буде.
  • Attempt authentication - клієнт перевіряє сертифікат сервера перед підключенням до сервера. Клієнт може встановити з'єднання з сервером з автентифікацією SSL або без неї, в залежності від конфігурації сервера, навіть якщо клієнту не вдається повністю засвідчити справжність сервера.

В даний час у Group Policy немає параметра для нового режиму безпеки клієнта Remote Desktop Connection. Однак можна встановити параметр AuthenticationLevelOverride типу DWORD у розділі реєстру HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server Client, щоб встановити вибраний параметр. Значення 0 відповідає режиму No authentication, 1 - Require authentication, і 2 - Attempt authentication. Параметр AuthenticationLevelOverride типу DWORD у розділі HKEY_LOCAL_MACHINESOFTWARETerminal Server Client реєстру допоможе поширити дію на всіх користувачів робочої станції.

Довіра сертифікатам CA з корпоративної мережі

Крім налаштування клієнта Remote Desktop Connection, необхідно переконатися, що робоча станція довіряє сертифікатам, виданим центром сертифікації корпоративної мережі. Для цього потрібно виконати такі дії:

Якщо є всі підстави довіряти центру сертифікації, слід прийняти всі попередження, і на екрані з'явиться повідомлення про успішне встановлення сертифікації.

Запит сертифіката для сервера терміналу

Перш ніж використовувати SSL для з'єднання з сервером терміналу, необхідно запитати відповідний сертифікат із центру сертифікації корпоративної мережі:

  1. Відкрити оснастку Certificates консолі керування Microsoft Management Console (MMC) на сервері терміналів від імені облікового запису локального комп'ютера.
  2. Виберіть Certificates (Local Computer) у кореневому каталозі консолі, потім перейдіть до Options меню View. Вибрати Certificate Purpose у розділі Organize view mode by та натиснути кнопку OK.
  3. Клацнути правою кнопкою миші Server Authentication та вибрати Request new certificate у розділі All tasks.
  4. Натисніть кнопку Next на екрані привітання. Виберіть режим Server Authentication (або Domain Controller Authentication). Встановити прапорець Advanced та натиснути кнопку Next.
  5. Переконайтеся, що в якості постачальника служби шифрування вибрано Microsoft RSA SChannel Cryptographic Provider, а довжина ключа - 1024. Натисніть кнопку Next.
  6. Перейти до центру сертифікації корпоративної мережі (якщо він ще не вибраний) та вибрати його. Натиснути кнопку Next.
  7. Ввести зрозуміле ім'я та опис сертифікату. Натисніть кнопку Next, а потім Finish.

Після цього на екрані з'явиться повідомлення, що запит до центру сертифікації корпоративної мережі був успішним.

Налаштування сервера терміналу на використання SSL with RDP

Щоб налаштувати RDP для використання SSL, слід відкрити Terminal Services Configuration з меню Administrative Tools на сервері терміналу. У розділі Connections правої панелі слід клацнути правою кнопкою миші RDPTcp і вибрати пункт Properties, щоб відкрити діалогове вікно RDP-Tcp Properties (екран 2).

протокол

Спочатку необхідно вибрати сертифікат, який використовуватиметься з'єднанням. Натисніть кнопку Edit на вкладці General. У діалоговому вікні Select Certificate (екран 3) можна вибрати один із сертифікатів, виданих серверу центром сертифікації. Це має бути сертифікат, створений на попередньому етапі.

windows

У полі Security layer вкладки General з'явилося два нових параметри на додаток доRDP Security layer. Параметр Negotiate встановлює найвищий рівень шифрування (TLS 1.0), який застосовується, якщо його клієнт підтримує; інакше використовується стандартний RDP. Цей режим корисний як тимчасовий захід на період розгортання на робочих станціях нового клієнта Remote Desktop Connection. У режимі SSL можна використовувати лише TLS 1.0. Слід зазначити, що параметр SSL доступний лише після того, як вибрано сертифікат. Параметр RDP Security layer забезпечує стандартне для продуктів Microsoft шифрування даних, яке застосовувалося у попередніх версіях RDP.

Тестуємо з'єднання

захищаємо

Слід завжди використовувати повне ім'я сервера терміналу у клієнті Remote Desktop Connection для безпомилкового підключення. Попередження також вказує, що з сертифікатом сервера не все гаразд. Насправді це негаразд; просто клієнт не довіряє CA, який видав сертифікат серверу. Обійти цю перевірку та встановити з'єднання не можна, оскільки клієнт Remote Desktop Connection встановлений у режимі Require authentication.

Після завантаження та встановлення кореневого сертифіката центру сертифікації на робочій станції та введення сервера FQDN у клієнті Remote Desktop Connection буде встановлено безпечне SSL-з'єднання з сервером. На безпечне з'єднання вказує маленький значок замка у верхньому правому кутку екрана. Клацнувши на значку, можна отримати інформацію про сертифікат сервера.

Рассел Сміт- Незалежний ІТ-консультант. Працює у галузі ІТ протягом п'яти років, спеціалізується на управлінні системами. [email protected]

Миттєвий знімок рішення

Завдання:дати користувачам можливість перевірити підключення до довіреного сервера Windows Terminal Services; забезпечити надійнепримусове шифрування RDP-трафіку.

Рішення:використовувати SSL-функцію клієнта Remote Desktop Connection у Windows 2003 SP1 та пізніших версіях ОС для перевірки автентичності сервера та шифрування трафіку.

Потрібні ресурси:Windows 2003 SP1 або пізніша версія ОС на сервері терміналу; XP чи Windows 2000 на клієнтських ПК.

Рівень складності:***00.

  1. Встановити та налаштувати програмне забезпечення RDP-клієнта на клієнтській системі.
  2. Налаштувати клієнтський комп'ютер на довіру до сертифікатів, виданих CA корпоративної мережі.
  3. Запросіть сертифікат для сервера терміналу.
  4. Налаштувати сервер терміналу на використання SSL.
  5. Протестувати з'єднання.

Поділіться матеріалом з колегами та друзями