Хоча Kerberos функціонує як серверна система, її інтеграція настільки непомітна, що більшість користувачів та адміністраторів можуть навіть не усвідомлювати її присутності.
Що таке Kerberos і як він працює?
Якщо ви використовуєте електронну пошту або інші онлайн-платформи, що вимагають авторизації для доступу до ресурсів, велика ймовірність, що ваша автентифікація відбувається через Kerberos.
Kerberos – це механізм захищеної авторизації, який гарантує безпечний обмін даними між пристроями, системами та мережами. Його головне завдання – захистити ваші персональні дані та облікові дані від кібератак.
Kerberos підтримується різноманітними операційними системами, включаючи Microsoft Windows, Apple macOS, FreeBSD і Linux.
П’ятирівнева модель безпеки Kerberos базується на взаємній автентифікації та криптографії з використанням симетричного ключа. Процедура ідентифікації дозволяє авторизованим користувачам входити в систему.
Система поєднує в собі централізовану базу даних та шифрування для підтвердження легітимності користувачів і сервісів. Сервер Kerberos спочатку підтверджує особу користувача, а потім надає йому доступ до потрібної служби. Після успішної автентифікації користувач отримує квиток, який дозволяє йому користуватися службою.
В основі роботи Kerberos лежить використання “квитків”, які забезпечують безпечний обмін даними між користувачами. Протокол Kerberos застосовує центр розподілу ключів (KDC) для встановлення захищеного зв’язку між клієнтами та серверами.
Під час використання протоколу Kerberos клієнт надсилає запит серверу. У відповідь сервер відправляє токен. Після цього клієнт надсилає запит серверу разом з отриманим квитком.
Це важливий метод, який забезпечує захист даних, що передаються між різними системами. Він був розроблений у Массачусетському технологічному інституті (MIT) в 1980 році для усунення проблем з незахищеними мережевими підключеннями і на сьогодні є складовою багатьох різних систем.
У цій статті ми детально розглянемо переваги Kerberos, його практичне застосування, покрокову інструкцію його роботи та оцінимо рівень його безпеки.
Переваги автентифікації Kerberos
У великих розподілених обчислювальних середовищах Kerberos, як мережевий протокол автентифікації, дозволяє комп’ютерним системам безпечно ідентифікувати одна одну та взаємодіяти.
Застосовуючи криптографію з секретним ключем, Kerberos створює надійну основу для автентифікації в програмах клієнт-сервер. Цей протокол є фундаментом безпеки програм, а шифрування SSL/TLS часто використовується у поєднанні з ним.
Широко застосовуваний протокол автентифікації Kerberos має ряд переваг, що роблять його привабливим для малого і середнього бізнесу, а також великих корпорацій.
По-перше, Kerberos відзначається винятковою надійністю, витримавши перевірку різноманітними складними атаками та довівши свою стійкість. Крім того, Kerberos легко налаштовується, використовується та інтегрується в різні системи.
Унікальні переваги:
- Унікальна система квитків, яку використовує Kerberos, забезпечує швидку автентифікацію.
- Сервіси та клієнти можуть проводити взаємну автентифікацію.
- Автентифікація є особливо захищеною завдяки обмеженому терміну дії мітки часу.
- Відповідає вимогам сучасних розподілених систем.
- Можливість багаторазового використання, поки квиток є дійсним, запобігає повторному введенню облікових даних користувачами для доступу до різних ресурсів.
- Використання декількох секретних ключів, авторизації третьою стороною та криптографії гарантує високий рівень захисту.
Наскільки безпечним є Kerberos?
Ми вже з’ясували, що Kerberos використовує захищений механізм автентифікації. У цьому розділі розглянемо способи, за допомогою яких зловмисники можуть порушити безпеку Kerberos.
Протокол Kerberos використовується вже багато років. Наприклад, після виходу Windows 2000, Microsoft Windows зробила Kerberos основним методом автентифікації.
Служба автентифікації Kerberos застосовує шифрування з секретним ключем, криптографію та авторизацію третьою стороною для надійного захисту конфіденційних даних під час передачі.
З метою підвищення безпеки, Kerberos 5, остання версія, використовує Advanced Encryption Standard (AES) для забезпечення більш захищеного обміну даними та запобігання витоку інформації.
Уряд США запровадив AES, оскільки він особливо ефективний у захисті секретної інформації.
Однак варто зазначити, що не існує абсолютно безпечних платформ, і Kerberos не є винятком. Попри високий рівень безпеки Kerberos, компанії повинні регулярно перевіряти свою систему на вразливості, щоб захиститися від потенційних кібератак.
Внаслідок широкого застосування Kerberos, зловмисники постійно шукають вразливі місця у його інфраструктурі.
Ось деякі з типових атак, які можуть статися:
- Атака “Золотий квиток” (Golden Ticket): Це один із найбільш небезпечних видів атак. Під час неї зловмисники викрадають справжній квиток на службу розповсюдження ключів користувача за допомогою квитків Kerberos. Вона спрямована насамперед на середовища Windows з Active Directory (AD), яка використовується для контролю доступу.
- Атака “Срібний квиток” (Silver Ticket): Підроблений квиток автентифікації служби називається срібним квитком. Хакер може створити срібний квиток, розшифрувавши пароль облікового запису комп’ютера і використовуючи його для створення фальшивого квитка автентифікації.
- Атака “Передача квитка” (Pass-the-Ticket): Зловмисник, створюючи фальшивий TGT, генерує підроблений ключ сеансу і представляє його як легітимні облікові дані.
- Атака “Передача хешу” (Pass-the-Hash): Цей метод передбачає отримання хешу пароля NTLM користувача з подальшим його використанням для автентифікації NTLM.
- Kerberoasting: Цей вид атаки спрямований на збір хешів паролів для облікових записів користувачів Active Directory зі значеннями servicePrincipalName (SPN), наприклад, облікових записів служб, шляхом маніпуляцій з протоколом Kerberos.
Зменшення ризиків Kerberos
Наступні заходи допоможуть запобігти атакам на Kerberos:
- Використовуйте сучасне програмне забезпечення, яке цілодобово відстежує мережу та виявляє потенційні вразливості у режимі реального часу.
- Застосовуйте принцип найменших привілеїв: це означає, що лише користувачі, облікові записи та комп’ютерні процеси повинні мати дозволи на доступ, необхідні для виконання їхньої роботи. Це запобігатиме несанкціонованому доступу до серверів, особливо до KDC Server та інших контролерів домену.
- Усуньте вразливості програмного забезпечення, включаючи вразливості “нульового дня”.
- Запустіть захищений режим служби локального органу безпеки (LSASS): LSASS містить різні плагіни, включно з автентифікацією NTLM і Kerberos, і відповідає за надання користувачам послуг єдиного входу.
- Впроваджуйте надійну автентифікацію: встановіть стандарти для створення паролів, забезпечте надійні паролі для адміністративних, локальних та службових облікових записів.
- Захистіться від атак DOS (відмова в обслуговуванні): шляхом перевантаження KDC запитами автентифікації, зловмисник може ініціювати атаку відмови в обслуговуванні (DoS). Щоб запобігти цим атакам та збалансувати навантаження, KDC слід розмістити за брандмауером і розгорнути додатковий резервний KDC.
Які етапи виконання протоколу Kerberos?
Архітектура Kerberos складається з чотирьох основних елементів, які забезпечують функціонування всіх операцій:
- Сервер автентифікації (AS): Процес автентифікації Kerberos починається з сервера автентифікації. Клієнт повинен спочатку увійти в AS, використовуючи ім’я користувача та пароль, для підтвердження своєї особи. Після цього AS передає ім’я користувача до KDC, який, у свою чергу, видає TGT.
- Центр розподілу ключів (KDC): Його функція полягає у встановленні зв’язку між сервером автентифікації (AS) та службою надання квитків (TGS), пересилаючи повідомлення від AS та видаючи TGT, які згодом передаються до TGS для шифрування.
- Квиток на отримання квитка (TGT): TGT зашифрований і містить інформацію про те, до яких служб клієнт має доступ, термін дії цього доступу, а також сеансовий ключ для зв’язку.
- Служба надання квитків (TGS): TGS є сполучною ланкою між клієнтами, які володіють TGT, і різними службами в мережі. TGS створює ключ сеансу після автентифікації TGT, який спільно використовується сервером і клієнтом.
Нижче наведено покрокову інструкцію процесу автентифікації Kerberos:
- Користувач входить в систему.
- Клієнт надсилає запит до сервера, що надає квитки.
- Сервер перевіряє ім’я користувача.
- Після надання, клієнту повертається квиток.
- Клієнт отримує сеансовий ключ TGS.
- Клієнт звертається до сервера за доступом до служби.
- Сервер перевіряє службу.
- Сервер отримує сеансовий ключ TGS.
- Сервер створює сеансовий ключ служби.
- Клієнт отримує ключ сеансу обслуговування.
- Клієнт звертається до служби.
- Служба розшифровує запит.
- Служба перевіряє запит.
- Служба аутентифікує клієнта.
- Клієнт підтверджує службу.
- Клієнт та служба взаємодіють.
Які програми реального світу використовують Kerberos?
У сучасних умовах, коли робота пов’язана з використанням інтернету, Kerberos є особливо цінним, оскільки ідеально підходить для системи єдиного входу (SSO).
Microsoft Windows зараз використовує автентифікацію Kerberos як стандартний метод авторизації. Kerberos також підтримується ОС Apple, FreeBSD, UNIX та Linux.
Крім того, це стало стандартом для веб-сайтів і програм Single-Sign-On на різних платформах. Kerberos посилив безпеку інтернету та його користувачів, дозволяючи користувачам виконувати більше дій онлайн та в офісі, не ризикуючи своєю безпекою.
Популярні операційні системи та програмне забезпечення вже включають Kerberos, який став важливим елементом ІТ-інфраструктури. Це стандартна технологія авторизації Microsoft Windows.
Він застосовує надійну криптографію та авторизацію квитків третьою стороною, що ускладнює хакерам отримання доступу до корпоративної мережі. Організації можуть використовувати інтернет з Kerberos, не хвилюючись про безпеку.
Найвідомішим прикладом застосування Kerberos є Microsoft Active Directory, яка управляє доменами та виконує автентифікацію користувачів як стандартна служба каталогів, що входить до Windows 2000 і новіших версій.
Apple, NASA, Google, Міністерство оборони США та установи по всьому світу є одними з найбільш відомих користувачів.
Нижче наведено приклади систем з вбудованою або доступною підтримкою Kerberos:
- Веб-сервіси Amazon
- Google Cloud
- Hewlett Packard Unix
- IBM Advanced Interactive Executive
- Microsoft Azure
- Microsoft Windows Server та AD
- Oracle Solaris
- OpenBSD
Додаткові ресурси
Висновок
Kerberos є найбільш поширеним методом автентифікації для забезпечення захисту з’єднань клієнт-сервер. Він є механізмом автентифікації із симетричним ключем, що гарантує цілісність, конфіденційність даних та взаємну автентифікацію користувачів.
Kerberos є основою Microsoft Active Directory і став одним із протоколів, які зловмисники використовують для своїх цілей.
Далі ви можете ознайомитися з інструментами для моніторингу стану Active Directory.