• Главная
  • Карта сайта
Не найдено

Аутентифікація в системах Windows Server 2008 R2 і Windows 7

  1. Чому Kerberos?
  2. Обмеження протоколу NTLM
  3. Засоби шифрування Kerberos

Розробники Microsoft вперше реалізували протокол Kerberos в системі Windows 2000. Протокол NTLM увійшов у вжиток набагато раніше, за часів Windows NT. Kerberos є протокол аутентифікації, що базується на концепції довіреної третьої сторони trusted third party (TTP), тоді як в основу протоколу NTLM покладено механізм «запит-відповідь» (challenge / response). Більш детально відмінності між двома протоколами описані в таблиці .

При обміні даними в ході аутентифікації з використанням протоколу NTLM серверний ресурс (наприклад, файл-сервер) генерує запит, який надсилається клієнту. Клієнт формує NTLM-відповідь, що включає хеш пароля користувача, а сервер перевіряє правильність цієї відповіді. Якщо клієнт використовує локальну обліковий запис, сервер перевіряє відповідь користувача за допомогою хеш-кодування пароля користувача, який зберігається в локальній базі даних диспетчера облікових записів безпеки Security Account Manager (SAM). Якщо ж клієнт застосовує доменну обліковий запис, сервер передає відповідь для перевірки контролеру домену, бо тільки контролери доменів зберігають в своїх базах даних Active Directory (AD) копії хешів призначених для користувача паролів.

В системі Windows Kerberos довіреною третьою стороною є контролер домену Windows 2000 або більш пізньої версії, на якому розміщується служба центру поширення ключів Kerberos Key Distribution Center (KDC). Центр KDC полегшує процедуру аутентифікації між оснащеним засобами Kerberos клієнтом і сервером. Служба KDC автоматично встановлюється як компонент системи AD і складається з двох підсистем: служби аутентифікації Authentication Service (AS) і служби надання квитків Ticket-Granting Service (TGS).

Коли користувач реєструється в домені Windows з використанням протоколу Kerberos, клієнт Windows насамперед перевіряє справжність користувача на контролері домену за допомогою пароля користувача. У той же час клієнт запитує квиток на видачу квитка Ticket Grant Ticket (TGT) в службу аутентифікації. TGT можна розглядати як тимчасовий пароль (за замовчуванням час його життя становить 8 годин), який буде заміняти пароль користувача в повторних запитів на аутентифікацію. Коли користувачеві потрібно буде звернутися до серверного ресурсу, клієнт представить TGT на видачу TGT для перевірки справжності на серверному ресурсі. Майте на увазі, що, на відміну від NTLM, протокол Kerberos не використовується для локальної аутентифікації в диспетчері облікових записів безпеки Windows; його сфера застосування обмежується доменної аутентифікації на контролері домену.

Kerberos - стандартний протокол аутентифікації в системі Windows 2000 і в більш нових версіях Microsoft. У цих операційних системах протокол аутентифікації визначається з використанням механізму узгодження. Якщо пропонований за замовчуванням протокол Kerberos не підходить або не підтримує одним з клієнтських або серверних компонентів, які беруть участь в аутентифікації, Windows переходить на використання NTLM.

Чому Kerberos?

Kerberos більш ефективний, ніж NTLM, і тому є кілька причин. При використанні протоколу Kerberos хеш пароля користувача експонується набагато рідше, ніж у випадку застосування NTLM. Хеш пароля експонується лише в тому випадку, коли користувач запитує TGT - по суті, один раз кожні вісім годин. З іншого боку, в разі застосування NTLM хеш пароля експонується щоразу, коли клієнт використовує NTLM для аутентифікації на сервері. В цьому полягає важлива перевага протоколу Kerberos перед протоколом NTLM; справа в тому, що існують спеціальні інструменти, перевіряючі мережевий трафік на наявність хешів паролів. Ці інструменти захоплюють виявлені хеши і методом підбору відновлюють на їх основі паролі користувачів.

Ще одна перевага Kerberos полягає в тому, що цей протокол передбачає використання позначок часу для захисту від атак з повторною пакетів. Ось чому так важливо наявність служби синхронізації часу, бездоганно функціонуючої в Kerberos-центричної середовищі Windows. У Windows 2000 і новіших версіях системи служби часу працюють без попередньої настройки. Якщо комп'ютерні годинник на різних комп'ютерах не синхронізовані, це може обернутися додатковим трафіком в процесі аутентифікації за стандартом Kerberos або ж - в гіршому випадку - така ситуація може викликати помилку в процесі аутентифікації.

На додаток до сказаного протокол Kerberos реалізує такі вдосконалені функції аутентифікації, як взаємна аутентифікація і делегування аутентифікації. Взаємна аутентифікація означає, що користувач і служба перевіряють справжність один одного, тоді як можливості NTLM обмежуються перевіркою достовірності користувача. Без цієї функції можуть виникати ситуації, коли користувачі надають свої облікові дані фіктивному сервера.

Служба може звертатися до віддалених ресурсів від імені користувача за допомогою механізму делегування аутентифікації. Іншими словами, користувач може надавати системі-посереднику право підтвердити від свого імені свою (користувача) справжність на сервері додатків. В результаті сервер додатків отримує можливість приймати рішення по авторизації чи не з урахуванням ідентичності системи-посередника, а грунтуючись на ідентичності користувача. Функція делегування перевірки автентичності вельми корисна в багаторівневих додатках, таких як доступ до баз даних за допомогою зовнішнього інтерфейсу на базі Web.

Нарешті, треба сказати, що, хоча фахівці Microsoft виконали велику роботу по модернізації протоколу NTLM, а саме створили версію NTLMv2, яка підтримується в середовищі NT4 SP4 і новіших версіях, в продукті Microsoft Kerberos реалізовано більше число сучасних алгоритмів шифрування. Я розповім про це докладніше в розділі, присвяченому засобам шифрування протоколу Kerberos

Обмеження протоколу NTLM

Переваги аутентифікації засобами протоколу Kerberos сумніву не викликають. Але навіть в середовищі AD Server 2008 Windows часто використовує протокол NTLM, наприклад, коли ви підключаєтеся до системи Windows, випущеної до появи Windows 2000, або при підключенні до загальнодоступного ресурсу за допомогою команди net use і IP-адреси (а не імені NetBIOS). Крім того, додатки, у яких імена учасників служби service principal names (SPN) не налаштовані належним чином, будуть як і раніше використовувати протокол NTLM.

Щоб дізнатися, яким протоколом - NTLM або Kerberos - ви користуєтеся в даний момент, можете візуалізувати трафік NTLM за допомогою утиліти netmon або іншого трасувальника мережі; альтернативний варіант - перевірити вміст кеша квитків Kerberos за допомогою інструменту klist (який входить в комплекти поставки Windows 7 і Server 2008). У системах Windows 7 і Server 2008 фахівці Microsoft реалізували нові групові політики, за допомогою яких можна відстежувати, а також блокувати використання протоколу NTLM ваших користувачів і додатками. Всього таких політик три: одна для вхідного трафіку NTLM (для відстеження та блокування на рівні сервера), інша для вихідного трафіку NTLM (для відстеження та блокування на рівні клієнта) і третя для доменного трафіку (для відстеження та блокування на рівні контролера домену). Вони розміщуються в контейнері Security Options Group Policy Object (CPO), потрапити в який можна, послідовно вибираючи пункти Computer Configuration, Windows Settings, Security Settings, Local Policies (див. Екран 1). Всі вони починаються з елемента Network security: Restrict NTLM :.

Всі вони починаються з елемента Network security: Restrict NTLM :

Кожна настройка політики має параметри audit і block. Коли ви вмикаєте функцію аудиту NTLM, програма створює записи журналу подій з вихідними даними NTLM і числами 8001, 8002, 8003 і 8004. Журнальні записи зберігаються в контейнері Operational з шляхом доступу Event Viewer (Local), Applications And Services Logs, Microsoft, Windows, NTLM. Я рекомендую для початку провести аудит NTLM в тестовому середовищі і подбати про те, щоб там були належним чином представлені всі ваші програми. Якщо почати довільно блокувати використання протоколу, швидше за все, деякі додатки функціонувати не будуть. Щоб не допустити втрати подій, слід перед початком тестування засобів аудиту NTLM встановити рішення для збору подій аудиту; можете скористатися вбудованою службою Windows Event Collector, засобами Event Subscriptions або рішенням від незалежного постачальника. Крім того, я рекомендую насамперед почати моніторинг NTLM на серверах. Ви можете підключити клієнти для проведення детального аналізу, після того як стане очевидно, що сервер використовує протокол NTLM. З'ясувавши, які програми використовують NTLM, ви можете розробити стратегію блокування NTLM. Ця стратегія може включати в себе стратегію винятків для застарілих додатків, які не можуть бути переписані або переналаштувати і які завжди будуть вимагати застосування NTLM.

На жаль, згадані настройки NTLM не можна застосовувати на старих системах Windows. Однак ці системи допускають можливість керування версіями протоколу NTLM. Ви можете, наприклад, відключити фрагмент LM протоколу аутентифікації NTLM (оскільки цей фрагмент слабка за самою своєю природою) або задати примусове застосування протоколу NTLMv2. Для цього слід скористатися налаштуванням Network Security: LAN Manager Authentication Level GPO, яка розміщується в контейнері Computer Configuration \ Windows Settings \ Security Settings \ Local Policies \ Security Options GPO (див. Екран 2).

Засоби шифрування Kerberos

Криптографічні протоколи, використовувані протоколами аутентифікації, грають важливу роль в забезпеченні безпеки останніх. Як я вже зазначав, в цій області показники Kerberos вище, ніж у протоколу NTLM. Алгоритм шифрування RC4 був вперше реалізований в протоколі Windows Kerberos в версії Windows 2000 і до цього дня підтримується в системах Server 2008, а також Windows 7 (точніше кажучи, підтримується його версія RC4_HMAC_MD5). У системах Server 2008, Windows Vista і новіших версіях розробники Microsoft додали кошти підтримки шифрування за стандартом Advanced Encryption Standard, AES, а системи Windows 7 і Server 2008 R2 підтримують типи шифрування Kerberos AES (AES128_HMAC_SHA1 і AES256_HMAC_SHA1) без попередньої настройки. AES - новіший і потужний алгоритм шифрування, ніж DES. Логіка Kerberos на контролерах доменів перейде на стандарт шифрування AES, коли ви модернізіруете домен AD до рівня Windows 2008 Domain Functional Level (DFL).

У системах Windows 7 і Server 2008 R2 типи шифрування DES для протоколу аутентифікації Kerberos за замовчуванням відключені. Через це можуть виникнути проблеми сумісності, якщо одна із застарілих додатків жорстко закодовано на шифрування тільки за стандартом DES або якщо обліковий запис Windows, яка виконує ту чи іншу службу (обліковий запис цієї служби), налаштована на використання тільки DES-шифрування. Ці служби або програми вийдуть з ладу, якщо ви не зможете переналаштувати відповідну службу або додаток на підтримку іншого типу шифрування (RC4 або AES) або не відновите підтримку стандарту DES.

Щоб з'ясувати, чи є у вас додатки або служби, закодовані на шифрування виключно за стандартом DES, можна запустити мережевий трассировщик при старті у відповідній програмі або служби, щоб переглянути вміст полів Etype в заголовках аутентифікації Kerberos. Щоб визначити, чи настроєна обліковий запис користувача або комп'ютера AD або обліковий запис комп'ютера для застосування виключно типів шифрування DES, потрібно перевірити, чи вибраний на вкладці Account властивостей об'єкта параметр Use Kerberos DES encryption types for this account. До цих властивостей можна звернутися з оснащення AD Users and Computers консолі MMC.

Якщо ви виконаєте згадані вище перевірки і виявиться, що у вас виникла ця проблема, можете активувати DES-шифрування для аутентифікації за допомогою Kerberos на комп'ютерах, що функціонують під Windows 7 або Server 2008 R2, за допомогою GPO настройки Network security: налаштуйте типи шифрування, сумісні зі стандартом Kerberos; ці настройки розташовані в контейнері Computer Configuration, Windows Settings, Security Settings, Local Policies, Security Options GPO.

Отже, з двох протоколів аутентифікації Windows кращим є протокол Kerberos. Адміністраторам слід завжди наполягати на тому, щоб користувачі і додатки застосовували саме Kerberos, а не NTLM. Нові обмеження щодо використання NTLM, реалізовані в системах Windows 7 і Server 2008 R2, відкривають перед нами відмінну можливість для досягнення цієї мети.

Жан де Клерк ( [email protected] ) - співробітник Security Office компанії HP. Спеціалізується на управлінні ідентифікаційними параметрами і безпекою в продуктах Microsoft

Чому Kerberos?
Чому Kerberos?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью