Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
serverguide-precise-ru.pdf
Скачиваний:
77
Добавлен:
03.05.2015
Размер:
1.86 Mб
Скачать

Сетевая аутентификация

Чтобы сложить все вместе: область содержит как минимум один KDC, лучше больше для обеспечения безотказности, которые содержат базу данных учётных записей. Когда пользователь под учётной записью заходит на рабочую станцию, которая настроена на Kerberos аутентификацию, KDC выпускает билет для получения билетов (TGT).

Если пользователь предоставляет совпадающие параметры, он считается аутентифицированным и может запрашивать билеты для сервисов, поддерживающих Kerberos, на сервере распространения билетов (TGS). Сервисные билеты позволяют пользователю аутентифицироваться на сервисах без ввода имени и пароля.

3.2. Сервер Kerberos

3.2.1. Установка

Протокол Kerberos разработан в Масачусетском технологическом университете (MIT), поэтому полное название протокола MIT Kerberos. (прим. переводчика). Мы создадим домен MIT Kerberos со следующими характеристиками (измените их под свои нужды):

Realm: EXAMPLE.COM

Primary KDC: kdc01.example.com (192.168.0.1)

Secondary KDC: kdc02.example.com (192.168.0.2)

Учетная запись пользователя: steve

Учетная запись администратора: steve/admin

Настоятельно рекомендуется, чтобы ваши авторизованные в сети пользователи имели uid в отдельном диапазоне от ваших локальных пользователей (скажем, начиная с 5000).

Перед установкой сервера Kerberos требуется правильно настроить DNSсервер для вашего домена. Поскольку область Kerberos по соглашению совпадает с именем домена, этот раздел использует домен EXAMPLE.COM, настроенный как Primary Master по документации Раздел 2.3, «Первичный мастер» [161].

Кроме того, Kerberos — протокол, зависимый от времени. Поэтому если локальное время системы на клиентской машине и на сервере отличается более чем на 5 минут (по умолчанию), рабочая станция не

будет аутентифицирована. Для решения проблемы все узлы сети должны синхронизировать своё время по одному серверу Network Time Protocol (NTP). Детали настройки NTP смотрите в разделе Раздел 4, «Синхронизация времени с NTP» [57].

143

Сетевая аутентификация

Первый шаг по созданию области Kerberos — это установка пакетов krb5kdc и krb5-admin-server. Введите в терминале:

sudo apt-get install krb5-kdc krb5-admin-server

В конце установки у вас запросят сетевые имена серверов Kerberos и административного, которые могут быть одним и тем же или разными серверами для определённой области.

По умолчанию область создаётся из доменного имени KDC.

Далее создаём новую область с помощью утилиты kdb5_newrealm:

sudo krb5_newrealm

3.2.2. Конфигурация

Вопросы, задаваемые в процессе установки, используются для настройки файла /etc/krb5.conf. Если вам требуется скорректировать настройки KDC, просто измените файл и перезапустите службу krb5-kdc. Если

вам требуется перенастроить Kerberos с самого начала, возможно, для изменения имени области, вы можете это сделать, набрав следующее:

sudo dpkg-reconfigure krb5-kdc

1.Как только KDC запущен правильно, требуется административный пользователь учётная запись администратора. Рекомендуется использовать имя пользователя, отличное от вашего повседневного пользователя. Для использования утилиты kadmin.local наберите в терминале:

sudo kadmin.local

Authenticating as principal root/admin@EXAMPLE.COM with password. kadmin.local: addprinc steve/admin

WARNING: no policy specified for steve/admin@EXAMPLE.COM; defaulting to no policy Enter password for principal "steve/admin@EXAMPLE.COM":

Re-enter password for principal "steve/admin@EXAMPLE.COM": Principal "steve/admin@EXAMPLE.COM" created.

kadmin.local: quit

В примере выше steve учётная запись, /admin требование, а

@EXAMPLE.COM — определяет область. "Ежедневная" учётная запись, она же пользовательская steve@EXAMPLE.COM; она будет иметь только обычные права пользователя.

144

Сетевая аутентификация

Замените EXAMPLE.COM и steve на ваши имена области и администратора.

2.Далее, новому пользователю-администратору требуется предоставить соответствующие права доступа ACL. Права настраиваются в файле /

etc/krb5kdc/kadm5.acl:

steve/admin@EXAMPLE.COM *

Эта запись предоставляет для steve/admin возможность выполнять любые операции над любыми учётными записями в этой области. Вы можете настроить учётные записи более ограниченными правами, которые удобны, если вам требуется учётная запись младшего администратора, которую можно использовать на клиентах Kerberos. Пожалуйста, посмотрите страницу руководства (man) по kadm5.acl.

3.Теперь перезапустите krb5-admin-server, чтобы применились новые ACL:

sudo /etc/init.d/krb5-admin-server restart

4.Новая пользовательская учётная запись может быть протестирована утилитой kinit:

kinit steve/admin steve/admin@EXAMPLE.COM's Password:

После ввода пароля используйте утилиту klist, чтобы увидеть информацию о билете для получения билетов (TGT):

klist

Credentials cache: FILE:/tmp/krb5cc_1000 Principal: steve/admin@EXAMPLE.COM

Issued

Expires

Principal

Jul 13 17:53:34

Jul 14 03:53:34

krbtgt/EXAMPLE.COM@EXAMPLE.COM

где имя файла кэша krb5cc_1000 составлено из префикса krb5cc_ и идентификатора пользователя (UID), который в нашем случае 1000. У вас может возникнуть необходимость добавить запись в /etc/hosts для KDC, чтобы клиент мог его найти. Например:

192.168.0.1

kdc01.example.com

kdc01

Замените 192.168.0.1 на IP-адрес вашего KDC. Обычно такое требуется, когда ваша область Kerberos охватывает различные сети, разделенные маршрутизаторами.

145

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]