Діагностика проблем входу до системи

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

Системний годинник

Може здатися дивним, але системний годинник робочої станції може насправді бути причиною виникнення проблем входу. Якщо час на годиннику робочої станції на п'ять хвилин відрізняється від часу на контролері домену, при вході в систему буде збій.

На випадок, якщо вам цікаво, причина цього у протоколі автентифікації Kerberos. На початку процесу аутентифікації користувач вводить пароль та ім'я користувача. Потім робоча станція надсилає запит автентифікації сервера Kerberos Authentication Server Request на сервер розподілу ключів (Key Distribution Server). Цей запит на аутентифікацію сервера Kerberos Authentication Server Request містить кілька різних фрагментів інформації, включаючи:

  • Ідентифікацію користувача;
  • Ім'я служби, яку запитує користувач (у разі це буде служба отримання квитка (Ticket Getting Service));
  • Аутентифікатор, зашифрований універсальним ключем користувача. Універсальний ключ користувача (master key) шифрується паролем користувача, використовуючи односпрямовану функцію.

Коли сервер розподілу ключів отримує запит, він переглядає обліковий запис користувача в Active Directory. Потім він вираховує універсальний ключ користувача тавикористовує його для розшифровки аутентифікатора (також відомого як дані попередньої аутентифікації - pre authentication data).

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

Система не може впустити вас через таку помилку: наявність різниці в часі між клієнтом та сервером. Будь ласка, повторіть спробу або зверніться до свого системного адміністратора.

Вирішення цієї проблеми досить просте; просто встановіть час робочої станції, щоб він відповідав часу на годиннику контролера домену.

Збої сервера глобальних каталогів

Ще однією головною причиною проблем входу до системи є збої сервера глобального каталогу. Сервер глобальних каталогів – це контролер домену, який був налаштований працювати як сервер глобальних каталогів. Сервер глобальних каталогів містить пошукові образи (searchable representation) кожного об'єкта у кожному домені всього сімейства.

Коли сімейство доменів (forest) спочатку створюється, перший контролер домену, який ви запускаєте в режим онлайн, автоматично налаштовується на роботу як сервер глобальнихкаталогів. Проблема полягає в тому, що цей сервер може стати єдиною точкою збою, оскільки Windows автоматично не призначає інших контролерів домену серверами глобальних каталогів. Якщо сервер глобальних каталогів дає збій, лише адміністратори домену зможуть увійти в Active Directory.

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

Якщо ваш сервер глобальних каталогів вже дав збій, і ніхто не може увійти, найкраще, що ви можете зробити, це працювати над поверненням сервера до робочого стану. Існує спосіб дозволу користувачам входити в систему навіть якщо сервер глобальних каталогів не працює, але з цим способом пов'язаний певний ризик безпеки.

Якщо Active Directory працює у своєму режимі (native mode), то сервер глобальних каталогів відповідає за перевірку належності користувача до універсальної групи. Якщо ви вирішили дозволити користувачам вхід під час збою, перевірка належності користувачів до універсальної групи не здійснюватиметься. Якщо ви призначили експліцитні відмови членам певних універсальних груп, то ці відмови не діятимуть, доки сервер глобальних каталогів не буде наведенийназад у режим онлайн.

Якщо ви вирішили, що повинні дозволити користувачам входити в систему, вам потрібно буде змінити системний реєстр на всіх контролерах домену. Пам'ятайте, що зміна реєстру небезпечна, і що допущені помилки можуть знищити Windows. Тому я рекомендую зробити повну резервну копію системи перед тим, як продовжувати.

Збої сервера DNS

Якщо ви раптово виявили, що жоден з ваших користувачів не може увійти в мережу, а ваші контролери домену та сервери глобальних каталогів, здається, працюють нормально, то можливо виникла проблема з DNS сервером. Active Directory повністю залежить від DNS.

Існує два моменти, які необхідно знати щодо збоїв DNS, пов'язаних з проблемами входу. По-перше, проблеми входу можуть і не виникнути негайно. Windows містить DNS кеш, який включає результати попередніх DNS запитів. Цей кеш не дозволяє робочим станціям переповнювати DNS сервери запитами дозволу імен для тих самих об'єктів знову і знову.

Друге, що вам потрібно знати про збої DNS сервера, це те, що часто за їх наявності існує безліч інших симптомів, крім проблем входу. Якщо тільки машини у вашій мережі не налаштовані на використання вторинного DNS сервера у разі збою основного DNS сервера, все середовище Active Directory з часом прийде до повної зупинки. Хоча є винятки, відсутність DNS сервера в мережі Active Directory зазвичай веде до тотального збою взаємодії.

Висновок

Хоча я обговорив деякі з основних причин, що викликають проблеми входу в мережі Active Directory, важливою частиною процесу діагностування є облік того, наскільки поширена проблема. Наприклад, якщо тільки один вузол у великій мережімає проблеми входу, то ви, ймовірно, виключаєте відмови від DNS або глобальних каталогів. Якби відмови DNS або глобальних каталогів були причиною, то проблема, швидше за все, мала б більш поширений характер. Якщо проблема торкнулася лише однієї машини, то вона, швидше за все, пов'язана з налаштуванням цієї машини, її підключенням або обліковим записом користувача.