Возможно, на вашем компьютере расположение файлов будет отличаться от указанного выше. Если же в вашей системе используется суперсервер
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
, а затем записать ключи для этих принципалов в файл. Сеанс работы с программой
, полученный в результате описанных действий, надо переместить в каталог
/etc
компьютера, на котором выполняется сервер приложений, и присвоить ему имя
krb5.keytab
. Так как файл содержит чрезвычайно важную информацию, для его копирования надо применять средства, исключающие утечку данных, например перенести файл на дискету или использовать
scp
. Записав файл по месту назначения, надо установить права, позволяющие обращаться к нему только пользователю
root
, и удалить файл с компьютера KDC. Данный файл можно непосредственно создать на том компьютере, на котором установлен сервер приложений. В этом случае при вызове команды
ktadd
не надо указывать опцию
– k gingko.keytab
; система самостоятельно разместит файл в нужном каталоге. Данный метод пригоден, только если средства администрирования установлены и корректно сконфигурированы; кроме того, необходимо, чтобы была правильно выбрана базовая конфигурация Kerberos.
Запуск керберизованных серверов
Как правило, в состав стандартного пакета Kerberos входят керберизованные серверы и локальные средства аутентификации, например, программы, поддерживающие протоколы Telnet и FTP, а также разновидности
shell
,
exec
и
login
. Керберизованные программы надо установить вместо их традиционных аналогов. Так, если в вашей системе используется
Приведенные выше строки заменяют соответствующие записи в составе файла.
Помимо программ, которые распространяются в составе пакета Kerberos, доступны также керберизованные варианты других серверов. Подобные серверы поставляются независимыми производителями. Прежде чем использовать такие продукты, необходимо тщательно изучить документацию и выяснить их возможности и особенности выполнения.
Настройка клиентов Kerberos
Для того чтобы пользователь мог работать с системой Kerberos, надо в первую очередь создать принципала для этого пользователя. Принципалы пользователей имеют вид
имя_пользователя@имя_области
, и для их создания применяются утилиты
kadmin
и
kadmin.local
. После создания принципала пользователь может обращаться к серверам с помощью клиентов, ориентированных на работу в системе Kerberos. Вам, как системному администратору, необходимо установить соответствующие клиентские программы. Пользователям также потребуются утилиты, предназначенные для получения TGT и управления ими. Если вы захотите, чтобы средства Kerberos использовались для управления регистрацией на отдельных рабочих станциях, вам надо модифицировать обычные инструменты регистрации.
Обеспечение доступа к серверам Kerberos
На первый взгляд может показаться, что для обращения к серверам приложений Kerberos достаточно иметь соответствующие клиентские программы. На самом деле ситуация выглядит несколько сложнее. Прежде всего, в процессе обмена участвуют специальные утилиты: пользователь должен иметь возможность получить TGT и при необходимости изменить пароль Kerberos. Кроме того, к самим клиент-программам Kerberos предъявляются специальные требования; без поддержки специфических возможностей клиенты Kerberos превращаются в обычные клиентские программы, не обеспечивающие повышенный уровень защиты.