Реалізація Kerberos для Unix-систем

У Unix-системах поширені дві схожі реалізації протоколу Kerberos – це MIT Kerberos і Heimdal Kerberos Реалізації в чому схо-жи, тому розглянемо канонічний Варіант1 від MIT

Всі бібліотеки і утиліти, що мають відношення до Kerberos, розподіл-

лени по декількох пакетам, у разі Debian Linux це наступні пакети:

– Libkrb5 – бібліотеки Kerberos (оригінальний інтерфейс MIT і

GSSAPI інтерфейс),

– Krb5-config – набір прикладів конфігураційних файлів Kerberos,

– Krb5-doc – документація по Kerberos,

– Krb5-user – набір утиліт для управління квитками користувача (напів-

чення, знищення, перегляд),

– Krb5-clients – деякі клієнти класичних мережевих сервісів: ftp, telnet, rsh, rcp тощо,

– Krb5-servers – сервер KDC, сервіс kadmind для віддаленого управління базою KDC

Основою всієї системи MIT Kerberos є, звичайно ж, бібліотеки, які повинні бути правильно налаштовані для свого функціонування за допомогою конфігураційного файлу «krb5conf» Даний файл має

структуру типового ini-файлу, тобто він поділений на розділи (кожен розділ на-чинается з імені, укладеного в прямі дужки), всередині розділу перерахування ни пари <опція> = <Значення> Основними розділами файлу krb5conf є-ються:

– Libdefaults – різні значення за замовчуванням,

– Realms – розділ, що описує інформацію про області Kerberos Со-

варто із записів виду <ім'я області> = {Набір опцій у вигляді <опція> = Зна-

чення},

– Domain_realm – ця секція описує приналежність вузла (або цілого

DNS-домену) до області Kerberos Вона містить рядки: name = REALM,

де name – може бути імя хоста або імя домену, імя домену виділяється провідною точкою (тобто, якщо вказати examplecom, то це позначає одноімен-ний вузол, а якщо – examplecom, то весь DNS-домен example com) Якщо імя області – це просто імя DNS-домену у верхньому регістрі, то відповідаю-щую запис можна опустити

Параметри розділу libdefaults:

– Ticket_lifetime – час життя квитка в секундах (не може перевищувати максимального часу життя, дозволеного на KDC)

1 Справа в тому, що Kerberos був розроблений в Массачусетському Технологічному Інституті

(MIT)

– Default_realm – імя області Kerberos за умовчанням

– Dns_lookup_kdc – дозволити пошук KDC за допомогою SRV-записів dns

(Буде проводитись пошук запису _kerberos_udp <Ім'я домену> або

_kerberos_tcp <ім'я домену>)

– Default_tgs_enctype і default_tkt_enctype – які алгоритми шіфрова-

ня будуть запитуватися для квитків і ключів

– Kdc_timesync – якщо значення відмінно від 0, то бібліотека Kerberos бу-дет намагатися синхронізувати час локальної системи з часом на KDC, однак якщо час відрізняється занадто сильно, і на KDC застосовується ПРЕА-

тентіфікація, то синхронізувати час не вдасться

– Default_keytab_name – задає імя keytab-файлу (файлу, що зберігає дол-

говременние ключі сервісів) За замовчуванням використовується «/ etc/krb5keytab»

Параметри розділу realms:

– Kdc – IP-адреса або імя KDC (також допускається вказівка ​​порту KDC

через двокрапку, за замовчуванням використовується порт 88 TCP або UDP)

– Admin_server – IP-адреса або імя сервера з сервісом kadmind, також може містити номер порту

Управління квитками користувач здійснює через 3 основні

утиліти: kinit – для отримання квитків, klist – для перегляду квитків у ке-

ше й kdestroy – для знищення квитків

Утиліта kinit, викликана без параметрів, намагається отримати на KDC TGT для сутності <ім'я користувача> @ REALM, де REALM береться з па-

раметра default_realm файлу «krb5conf» Крім того, можливий виклик утиліти

kinit наступним чином: kinit user @ REALM Такий виклик дозволяє за-просити TGT для довільної сутності Kerberos Опція-k, вказує, що отримувати квиток для зазначеної сутності необхідно за допомогою ключа, збереження в keytab-файлі, опція-t дозволяє задати розташування keytab-файла, якщо воно відрізняється від заданого в «krb5conf»

Утиліта klist виводить список всіх квитків, отриманих даними поль-

зователем, або інформацію про вміст keytab-файла Опція-e дозволяє подивитися типи шифрування для квитка та ключа, опція-f виводить прапори кожного квитка Для перегляду вмісту keytab-файлу застосовується опція

-K, якщо додати опцію-K, то окрім інформації про сутності в keytab-файлі будуть виведені також і самі ключі

Утиліта kdestroy очищає кеш поточного користувача

Для того щоб надалі забезпечити аутентифікацію пользовате-

лей робочої станції ws-linux в домені AD, необхідно провести настроювання клієнта Kerberos

ВИКОНАТИ

12 На віртуальній машині WS-Linux відкрити текстовим редактором файл

«/ Etc/krb5conf», видалити наявну в нього інформацію і внести в нього наступну:

[libdefaults] ticket_lifetime = 36000 default_realm = EXAMPLECOM kdc_timesync=1

[realms]

EXAMPLECOM = {

kdc = 19216801:88

}

13 На віртуальній машині DC запустити оснащення Active Directory Users & Computers »(Start ⇒ Programs ⇒ Administration Tools)

14 У контекстному меню контейнера «Users» вибрати пункт «New ⇒ User»

Вказати «First Name» і «User logon name» – «root», вказати пароль

«P @ ssw0rd», переконатися, що не відзначений пункт «User must change password at next logon»

15 В консолі віртуальної машини WS-Linux виконати команду kinit від

імені користувача «root», на запит введення пароля ввести «P @ ssw0rd» Після чого ввести команду klist і переконатися, що її висновок аналогічний ви-воду, зображеному на рис 78

Рис 78 Висновок квитків користувача в ОС Linux

Джерело: Андрончик А Н, Богданов В В, Домуховскій Н А, Коллеров А С, Синадський Н І, Хорьков Д А, Щербаков М Ю, Захист інформації в компютерних мережах Практичний курс

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*