Аутентифікація користувача при вході в систему.
При вході необхідно вказати ім'я та пароль, вони порівнюються з базою УЗ:
А) комп'ютерів входу при використанні користувачем локальної УЗ
Б) контролер домену при вході під доменної УЗ
Після успішної одноразової аутентифікації стають доступні всі ресурси, дозволені для цього запису.
Процес аутентифікації складається з кількох етапів:
користувач набирає Ctrl + Alt + Delete, що необхідно, навіть якщо вікно введення пароля на екрані; захищає від троянських програм, які намагаються увійти в сервер ОС і нелегально перехопити облікові дані.
Процес входу в Winlogonвизивает локальний адміністратор безопасностіLSA
LSAобращается до пакету аутентифікації
Пакет аутентифікації розбитий на 2 частини:
-1ая знаходяться накопичувачі входу
- 2ая на компі з базою УЗ
На ім'я домену відбувається визначення, де знаходиться база УЗ. Якщо вона знаходиться на певному комп'ютері, то 1-я частина пакета аутентифікації за допомогою служби Netlogonпередает запит на окремий комп'ютер, де 2ая частина пакета перевіряє аутентифікаційні дані користувача. Цей процес називається наскрізною перевіркою достовірності (passthroughautentification)
Саму перевірку здійснює диспетчер бази УЗ SAM, повертає ідентифікатор безпеки (SID) користувача і всіх груп, в які він входить
Пакет аутентифікації створює сесію входу і передає її та всі ідентифікатори безпеки назад.
LSAпроверяет дозволений користувачеві вхід даного типу; якщо вхід дозволений, створюється маркер доступу, який містить ідентифікатор користувача і його груп і їх привілеїв
Процес входу викликає систему Win32 для створення процесу і приєднує отриманий марці доступу до створеного процесу, створюючи суб'єкт доступу.
База УЗ користувачів зберігається в каталогах AD, а для аутентифікації використовується протокол аутентіфікацііKerberos.
Створюються при створенні нової УЗ, використовуються як унікальні ідентифікатори УЗ в маркері доступу в списках контролю доступу. При перейменування УЗ SIDне змінюється.
УЗ зберігає всі пов'язані з ними права доступу і привілеї.
При створенні нового користувача з ім'ям раніше віддаленого користувача, йому буде згенеровано новий SID / Новий користувач не отримає права і привілеї раніше віддаленого користувача.
SIDсодержіт кілька полів: номер версії, число підрозділів (не відображається при виведенні на екран), номер відомства (6 байт), номер номерів підрозділів (4 байта)
Для унікальності SIDа система використовує ім'я домену або компа, використовується поточна дата і час створення бази УЗ і ін. Інформацію.
RID (відносний ідентифікатор) - це SID з визначеним останнім номером подразделенія.КRIDотносятся ідентифікатори безпеки для всіх вбудованих облікових записів. S-1-5 -<домен>.
Крім звичайних унікальних SIDсуществует ещеwell-knownSID, які є однаковими для всіх компов.S1-5-32-544 - відповідає вбудованої групі адмінів. До загальновідомих відносяться ще ідентифікатори безпеки з визначеним номером підрозділу. Вбудована запис адміністратора має всі времяRID-500.
3. Маркери та суб'єкти доступу. Уособлення.
Створюється LSA. Маркер повинен містити:
SIDпользователя і груп
Набір привілеїв користувача
SIDвладельца іDACL (дискреційний список контролю доступу)
Унікальний локальний ідентифікатор маркера, сесії і версії маркера (LUID)
Процесор, який створив маркер
Тип маркера: первинний або в результаті уособлення
Комбінація процесів (виконання програми) і маркери доступу утворюють суб'єкт доступу.
При доступі до об'єкта монітор безпеки порівнює список контролю доступу до об'єкта з маркером доступу.
Якщо при виконанні операції необхідні привілеї XіZ, а маркер має прівілегіяміX, Y, Z, то бажано видалити з маркера зайві правила, використовувати обмежений маркер.
Winразрешает одному процесу взяти атрибути безпеки іншого, за допомогою уособлення (імперсоналізаціі).
При встановленні зв'язку з сервером клієнт може вказати рівень уособлення, який слід використовувати сервера.
Виділяють 4 рівня:
SecurityAnonymous- процес сервера не має права отримувати інфу про клієнта і уособлює його
SecurityIdentification- дозволяє сервера запросити маркер доступу, пов'язаний з клієнтом, але не дозволяє сервера виробляти уособлення і діяти від його імені
SecurityImpersonation- Сервер може користуватися всіма правами, привілеями клієнта, але не може від його імені встановлювати з'єднання з іншим комп'ютером.
SecurityDelegation- Серверному процесу дозволено виступати від імені клієнта як на локальному, так і на віддаленому ПК.
4. Диспетчер уз. Призначення. Види ...
В БД УЗ робочих станцій і окремих серверів зберігаються локальні УЗ користувачів і його груп.
Вона зберігається у вигляді файлу з ім'ям SAMбез розширення (system32 / config)
Доступ для звичайних користувальницьких програм заблокований. WinNTв базі УЗ контролера домену зберігаються УЗ: 1) користувачів домену 2) глобальних груп 3) комп'ютерів домену 4) довірених доменів
Також БД SAMсоответствует запис в реєстрі, який знаходиться в веткеHCLM. Доступ на читання і запис в цьому розділу реєстру за замовчуванням закритий навіть адмінам.
В БД УЗ для кожного користувача зберігаються 16-байтові зашифровані за алгоритмом DESхешірованние паролі: NTіLanManager. ВNTпароль хешіруется по алгорітмуMD5, аLanManager- пароль наводиться до верхнього регістру, доповнюється нулями до 14 символів і кожна 7-байтовая половина використовується в якості ключа шифрування спеціально заданого числа.
Зазвичай в БД УЗ зберігаються обидва паролі в зашифрованому вигляді. Є виключення: якщо змінити пароль з робочої станції Win98, збережеться толькоLanManager. Якщо пароль> 14 символів - тільки парольNTсохранітся. В першу чергу для порівняння використовується парольNT, а вже при його відсутності парольLanManager, що дозволяє забезпечити більшу безпеку при вході з компаNTі в той же час сумісність сWin98.
Шифрування і хешування паролів проводиться на RID.RIDпредставляет собою автоматично збільшується порядковий номер УЗ.
Т. к. RIDпользователя легко визначається, зловмисник без проблем може отримати хеш пароля користувача, а також визначити, у кого з користувачів є однакові паролі, що є недоліком, наприклад, при спільному зберіганні паролів вWindows.
При формуванні хеш-функції пароля використовується випадкове значення salt, тим самим у користувачів з однаковим паролем будуть різні хеші.