Блокування трафіку Active Directory за допомогою протоколу LDAP over SSL, Windows IT Pro
Безпеку трафіку LDAP можна забезпечити за допомогою протоколів Secure Sockets Layer/Transport Layer Security (SSL/TLS); таку комбінацію називають "LDAP по SSL" (LDAP over SSL) або LDAPS. Метод SSL/TLS виключає можливість прочитання трафіку не уповноваженими на те особами; з цією метою між контролером домену Windows та клієнтом LDAP формується зашифрований тунель. У статті я розповім про те, як встановити протокол LDAPS на контролерах доменів, що входять в інфраструктуру AD Windows Server 2008
Як стандартний протокол для зчитування даних з контролерів доменів Active Directory (AD), а також для запису даних на такі контролери використовується LDAP. LDAP-трафік AD за замовчуванням є незахищеним, і саме тому ми можемо відстежувати обмін даними за протоколом LDAP між клієнтами і контролерами доменів за допомогою програмних засобів мережевого моніторингу. Не мають засобів захисту та підпротоколи LDAP, таких як LDAP bind, застосовуваний програмами, службами, а також користувачами для передачі облікових даних та автентифікації на контролерах доменів Windows.
Використовувані в організаціях політики безпеки, як правило, передбачають шифрування всього трафіку між клієнтами та серверами. Крім того, деякі програми, інтегровані з AD, передбачають шифрування даних, що передаються за протоколом LDAP.
Вимоги до сертифікату LDAPS Server
Для використання протоколу LDAPS необхідно, щоб на всіх контролерах доменів Windows було встановлено належним чином відформатовані сертифікати X.509. За наявності такого сертифіката служба LDAP контролера домену може очікувати передачі данихта автоматично встановлювати з'єднання SSL як для трафіку LDAP, так і для трафіку сервера глобального каталогу (GC). Сертифікат сервера використовується для перевірки повноважень контролера домену на клієнті в процесі встановлення LDAPS і створення комунікаційного тунелю між клієнтом і сервером після завершення установки. За бажанням протокол LDAPS можна використовувати для перевірки повноважень клієнтів, але в цьому випадку необхідно встановити сертифікат автентифікації клієнта на кожному з комп'ютерів користувачів.
У наступному розділі я докладно зупинюся на тому, як отримати серверний сертифікат LDAPS для контролерів доменів, але спочатку давайте розглянемо інше питання: яким правилам повинен відповідати такий сертифікат?
- На контролері домену натисніть кнопку Start, введіть mmc та натисніть OK.
- Відкрийте меню File і виберіть Add/Remove Snap-in.
- Виберіть Certificates, Add.
- У діалоговому вікні оснастки Certificates консолі MMC (Microsoft Management Console) виберіть Computer account і натисніть кнопку Next.
- У розділі Select Computer виберіть комп'ютер Local і натисніть Finish.
- У розділі Add or Remove Snap-ins натисніть кнопку OK.
- У дереві консолі розкрийте контейнер Certificates (Local Computer), потім контейнер Personal та, нарешті, контейнер Certificates.
- У правій панелі оснастки Certificates ви побачите список усіх сертифікатів, розміщених у сховищі Personal контролера домену (див. екран 1).
![]() |
| Екран 1. Сертифікати в сховищі Personal контролера домену |
Сертифікат LDAPS повинен відповідати певним вимогам щодо розширення сертифікатів X.509.
- Розширення сертифікатів Extended Key Usage повинно включати ідентифікатор OID (Server Authentication Object Identifier): 1.3.6.1.5.5.7.3.1.
- Повне доменне ім'я Fully Qualified Domain Name (FQDN) відповідного контролера домену AD (наприклад, mydomaincontroller.company.net) необхідно вказувати або в частині Common Name (CN) поля Subject розширення сертифіката, або запису DNS розширення сертифіката Subject Alternative Name (SAN) .
Вміст розширень сертифіката X.509 можна легко перевірити у вікні Windows Certificate Viewer, яке також відкривається з оснастки Certificates. Двічі клацніть на сертифікаті у правій панелі оснащення Certificates, а потім перейдіть на вкладку Details, як показано на екрані 2.
Як і при використанні будь-якого іншого сертифіката, слід переконатися в тому, що сертифікат LDAPS виданий центром Certification Authority (CA), якому довіряють і контролер домену, і клієнти LDAPS. Для встановлення довірчих стосунків необхідно налаштувати клієнти та сервер так, щоб вони довіряли сертифікату сертифікату центру (при однорівневій конфігурації центрів) або сертифікату кореневого центру засвідчення, з яким центр сертифікації пов'язаний по ланцюжку (при багаторівневій конфігурації сертифікації).
Список всіх сертифікатів, що користуються довірою, центрів, що посвідчують, розміщується в контейнері Trusted Root Certification Authorities сховища сертифікатів відповідної системи. У цьому сховищі містяться сертифікати центрів, що засвідчують, які адміністратором домену вважаються надійними і які Windows може використовувати як якір довіри при перевірці надійності інших сертифікатів. Якщо сертифікат видано посвідченнямцентром, встановленим на системі, що входить до складу інфраструктури AD, він буде автоматично доданий до сховища сертифікатів клієнтської системи; ця операція здійснюється за допомогою механізму оновлення об'єктів групової політики Group Policy Object (GPO). Якщо сертифікат центру, що видав сертифікат LDAPS, не представлений у контейнері Trusted Root CA Certification Authorities, цей сертифікат можна імпортувати вручну, вибравши пункт Import в контекстному меню цього контейнера.
Крім того, слід простежити за тим, щоб не було активовано посилених засобів захисту закритого ключа; це означає, що система Windows не повинна вимагати введення пароля при зверненні користувача до ключа. За замовчуванням посилені засоби захисту закритих ключів у системі Windows завжди вимкнені; сказане стосується і сертифікатів LDAPS.
Якщо ви хочете, не залишаючи вікна командного рядка, переконатися в тому, що сертифікат, що міститься в контролері домену, є дійсним, можете скористатися утилітою certutil, яка викликається за допомогою наступної команди:
Отримання серверного сертифіката LDAPS
Якщо ви працюєте з ієрархією багаторівневої інфраструктури відкритих ключів Windows public key infrastructure (PKI), вам потрібно, перш за все, створити особливий шаблон сертифіката для сертифікатів LDAPS у каталозі AD, потім активувати цей особливий шаблон на всіх видатних центрах, що засвідчують, і, нарешті, вручну налаштувати всі контролери доменів для роботи з сертифікатом LDAPS, побудованим на основі цього особливого шаблону.
Щоб створити особливий шаблон сертифіката для сертифікатів LDAPS у каталозі AD, відкрийте оснастку Certificate Templates консолі MMC в одному з центрів підприємства, що посвідчують.(Інтегровані в AD). Відкрийте меню Start, введіть mmc та натисніть кнопку ОК. Клацніть на меню File і відкрийте оснастку Add/Remove Snap-in. Виберіть Certificate Templates, потім натисніть Add і OK. У вікні оснастки Certificate Templates відкрийте контейнер Certificate Templates, правою кнопкою миші клацніть на одному з шаблонів (скажімо, на шаблоні Kerberos Authentication) і виділіть пункт Duplicate Template. Ви також можете створити дублікат іншого шаблону (наприклад, шаблона Controller Authentication); потрібно лише, щоб у розширенні сертифіката Extended Key Usage вибраного вами шаблону містився ідентифікатор Server Authentication OID.
У вікні Duplicate Template натисніть кнопку ОК, не знімаючи виділення з вибраного за умовчанням WindowsServer 2003 Enterprise. В результаті властивості нового шаблону будуть відображені так, як показано на екрані 4. Зверніть особливу увагу на наступні властивості нового шаблону.
![]() |
| Екран 4. Властивості шаблону сертифіката |
- На вкладці General: введіть ім'я шаблону, що відображається (наприклад, «LDAPS»), встановіть періоди дії та оновлення (вони повинні відповідати застосовуваній у вашій організації політиці сертифікатів) і вкажіть, чи маєте ви намір публікувати сертифікат у каталозі AD (перемикач Active Directory встановіть у положення Publish certificate).
- На вкладці Request Handling: переконайтеся, що значення мінімального розміру ключа встановлено відповідно до політики сертифікатів, що застосовується у вашій організації, і вкажіть, чи слід помітити закритий ключ як exportable (встановіть прапорець Allow private key to be exported). Ви повинні помітити закритий ключ як exportable (експорт закритого ключа допускається), якщо маєте намірімпортувати цей сертифікат у сховище сертифікатів AD NTDS, про що йдеться нижче.
- На вкладці Subject Name: простежте, щоб ім'я DNS, а також ім'я SPN (Service Principal Name) були виділені. Нарешті натисніть кнопку ОК; в результаті вікно властивостей шаблону буде закрито, і налаштування нового шаблону закінчиться.
Тепер потрібно активувати видаючі центри, щоб вони могли видавати сертифікати на основі нового шаблону LDAPS. Додайте новий шаблон до контейнера сертифікату Certificate Templates. Робиться це так: на одному з центрів, що засвідчують підприємства, відкрийте оснащення MMC Certification Authority, потім контейнер центру, що посвідчує, правою кнопкою миші клацніть на контейнері Certificate Templates і в меню виберіть пункти New, Certificate Template to Issue. У вікні Enable Certificate Templates, показаному на екрані 5, можна вибрати ім'я новоствореного шаблону. Закрийте діалогове вікно, натиснувши кнопку ОК.
![]() |
| Екран 5. Діалогове вікно Enable Certificate Templates |
На останньому етапі роботи попросіть сертифікати LDAPS для кожного контролера домену, який повинен буде встановлювати з'єднання протоколу LDAPS. Для цього на всіх таких контролерах домену виконайте наведені нижче дії.
- У вікні оснастки MMC Certificates відкрийте контейнер Personal сховища сертифікатів відповідної системи згідно з поясненнями, які я дав у попередньому розділі, присвяченому вимогам до серверних сертифікатів LDAPS.
- Правою кнопкою миші клацніть на контейнері Certificates і у меню виберіть пункти All Tasks, Request New Certificate. Відкриється вікно майстра Certificate Enrollment. Натисніть кнопкуNext.
- На сторінці майстра Select Certificate Enrollment Policy залиште налаштування Active Directory Enrollment Policy, що застосовується за замовчуванням, і натисніть кнопку Next.
- Виберіть шаблон сертифіката LDAPS і натисніть Enroll.
- Переконайтеся, що реєстрація пройшла успішно, та перевірте властивості нових сертифікатів LDAPS за допомогою кнопки View Certificate у розділі Details.
- Закрийте вікно майстра натисканням кнопки Finish.
Перевірка засобів підключення LDAPS
Для перевірки правильності налаштування протоколу LDAPS на контролерах доменів можна використовувати інструмент LDP, який за замовчуванням встановлюється на контролерах доменів Windows Server 2008. Щоб отримати доступ до LDP на рядових серверах Windows Server 2008, системах Windows 7 або машинах Windows Vista, необхідно встановити на них засоби віддаленого адміністрування сервера Microsoft Remote Server Administration Tools (RSAT).
Щоб запустити LDP, відкрийте меню Start та у вікні Search введіть символи ldp. Виберіть Ldp Connection і натисніть кнопку Connect. У полі Server введіть повне доменне ім'я контролера домену, до якого ви хочете підключитися. Переконайтеся, що в полі port вибрано значення Port 636 (за замовчуванням застосовується для портів LDAPS), що прапорець Connectionless скинутий, а прапорець SSL встановлений, і натисніть кнопку ОК. Якщо протокол LDAPS налаштований належним чином, після виконання команди LDP на екрані з'явиться повідомлення Host supports SSL, як показано на екрані 6.
![]() |
| Екран 6. Перевірка підключення LDAPS за допомогою програми LDP |
Знову відкрийте меню Connection, виберіть Bind і натисніть кнопку ОК. Якщо LDAPS налаштований правильно, післявиконання команди LDP на екрані з'явиться ім'я користувача, а також доменне ім'я, яке ви використовували для автентифікації LDP у службі AD.
Закриваємо ще один шлюз AD
Розробники Microsoft не передбачили особливого інтерфейсу для виконання процедури налаштування, але, незважаючи на це, операція захисту надісланого на контролери доменів AD LDAP-трафіку з використанням технології SSL/TLS здійснюється відносно просто. У цій статті я показав, як, встановивши на контролерах доменів належним чином відформатований сертифікат, користувач може використовувати протокол LDAPS. За допомогою цього протоколу можна заблокувати важливий шлюз автентифікації та доступу до каталогу AD. Крім того, є ще два основні протоколи автентифікації AD - Kerberos та NTLM. У цих протоколах передача даних здійснюється за допомогою віддалених викликів процедур remote procedure call (RPC), обидва вони за замовчуванням оснащені механізмами захисту та шифрування даних.
Жан де Клерк ([email protected]) - співробітник Security Office компанії HP. Спеціалізується на керуванні ідентифікаційними параметрами та безпекою у продуктах Microsoft
Поділіться матеріалом з колегами та друзями



