Вероятнее всего, вы решите создать принципала для каждого KDC. Идентификаторы таких принципалов создаются в формате
host/имя_узла@имя_области
, например
host/kerberos-1.threeroomco.com/THREEROOMCO.COM
. Для ведомых KDC создавать принципалы не обязательно, но они могут быть полезны, если на соответствующем компьютере будет разрешена регистрация обычных пользователей (что категорически не рекомендуется) или если вы захотите использовать ведомый KDC вместо ведущего. Ведущему KDC этот принципал понадобится для того, чтобы передать базу данных ведомому KDC.
Окончив работу
с программой
kadmin
, надо завершить ее выполнение путем ввода команды
quit
.
Запуск KDC
К этому моменту компоненты Kerberos настроены и могут быть запущены. Для запуска сервером можно использовать способы, описанные в главе 4. Если пакет Kerberos поставлялся вместе с вашей системой, для вероятно, существует сценарий запуска SysV. Сценарий для KDC обычно называется
krb5kdc
, а сценарий для сервера администрирования —
kadmin
.
Если сценарии SysV отсутствуют, вы можете использовать для запуска программы
krb5kdc
и
kadmin
, которые входят в состав пакета Kerberos. Каждая программа порождает процесс из оболочки, поэтому вам нет необходимости указывать после ее имени символ "&". Вызывать данные программы можно из локального сценария запуска (
/etc/rc.d/rc.local
).
Настройка ведомого KDC
Ведомый KDC настраивается практически так же, как и ведущий. Вам надо отредактировать файлы
krb5.conf
и
kdc.conf
, использовать
kdb5_util
для создания файлов базы данных, сформировать файл ACL и вызвать команду
ktadd
программы
kadmin.local
, чтобы записать ярлык в файл.
Каждому KDC требуется файл, в котором перечислены все KDC (или, точнее, принципалы, связанные со всеми KDC. Этот файл необходим для передачи данных из базы. Указанный файл имеет имя
kpropd.acl
и чаще всего хранится в каталоге
/var/kerberos/krb5kdc
либо
/usr/local/var/krb5kdc
. Содержимое этого файла выглядит приблизительно следующим образом:
host/kerberos.threeroomco.com@THREEROOMCO.COM
host/kerberos-1.threeroomco.com@THREEROOMCO.COM
Сформировав данный файл для каждого из KDC, надо сконфигурировать ведомый KDC для выполнения двух серверов:
kpropd
и
klogind
. Запуск этих серверов можно осуществлять с помощью суперсервера. Соответствующие записи
Возможно, на вашем компьютере расположение файлов будет отличаться от указанного выше. Если же в вашей системе используется суперсервер
xinetd
, вам придется внести изменение в его конфигурационный файл (о настройке суперсерверов см. в главе 4). Если в файле
/etc/services
отсутствуют записи для
krb5_prop
и
eklogin
, вам надо добавить в файл следующие строки:
krb5_prop 754/tcp # Передача данных ведомому
#
серверу Kerberos
eklogin 2105/tcp # Удаленная регистрация
# с использованием шифрования
Распространение данных осуществляется ведущим KDC и состоит из двух этапов: извлечение содержимого базы данных и передача его ведомым серверам. Сценарий, выполняющий обе задачи, представлен в листинге 6.3. Возможно, вам придется внести в него изменения, отражающие особенности вашей системы и структуру сети. Если в сети существует несколько ведомых серверов, вам надо вызвать
kprop
для каждого из них. Запуск данного сценария через определенные промежутки времени планируется с помощью инструмента
cron
.
Листинг 6.3. Пример сценария, предназначенного для передачи базы данных Kerberos ведомым KDC
# !/bin/sh
/usr/kerberos/sbin/kdb5_util dump
/usr/kerberos/var/krb5kdc/slave_datatrans
/usr/kerberos/sbin/kprop -f
/usr/kerberos/var/krb5kdc/slave_datatrans \
kerberos-1.mil.threeroomco.com
Настройка сервера приложений Kerberos
Настройка KDC — важный этап подготовки системы Kerberos к работе, но сам по себе KDC не осуществляет полезных действий. Для того чтобы система стала работоспособной, необходимо выполнить вторую часть работы — настроить серверы приложений и клиенты Kerberos для взаимодействия с KDC. Данный раздел посвящен настройке серверов приложений, а настройка клиентов будет рассматриваться в следующем разделе.
На заметку
В некоторых случаях один и тот же компьютер может выступать в роли сервера приложений и клиента. Так происходит, например, если Kerberos используется в качестве протокола аутентификации при регистрации. В этом случае компьютер должен быть настроен и как сервер приложений, и как клиент.
Выбор конфигурации сервера приложения
При настройке серверов приложений совершаются многие из тех действий, которые выполнялись при выборе конфигурации KDC. В частности, настраивая сервер приложений, необходимо изменить содержимое разделов
[realms]
и
[domain_realm]
файла
krb5.conf
так, чтобы находящиеся в них данные отражали конфигурацию областей. Кроме того, для работы сервера приложений нужен файл, содержащий ярлык. В этом файле должны находиться данные для узла (
host/имя_узла@имя_области
) и для каждого из керберизованных серверов, которые выполняются на компьютере (например, если вы собираетесь использовать керберизованный сервер Telnet, идентификатор принципала будет выглядеть так:
telnet/имя_узла@имя_области
). Файл, содержащий ярлык, можно создать с помощью программы
kadmin.local
на том компьютере, на котором выполняется KDC. Чтобы сделать это, вам придется добавить принципалов, вызвав команду
addprinc
, а затем записать ключи для этих принципалов в файл. Сеанс работы с программой