Ведомый 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
. Запуск этих серверов можно осуществлять с помощью суперсервера. Соответствующие записи /etc/inetd.conf
могут иметь следующий вид:
krb5_prop stream tcp nowait root /usr/kerberos/sbin/kpropd
kpropd eklogin stream tcp nowait root \
/usr/kerberos/sbin/klogind klogind -k -c -e
Возможно, на вашем компьютере расположение файлов будет отличаться от указанного выше. Если же в вашей системе используется суперсервер 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
, а затем записать ключи для этих принципалов в файл. Сеанс работы с программой kadmin.local
может выглядеть так:
kadmin.local: addprinc \
host/gingko.threeroomco.com@THREEROOMCO.COM
kadmin.local: addprinc \
telnet/gingko.threeroom.com@THREEROOMCO.COM
Читать дальше