Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Возможно, на вашем компьютере расположение файлов будет отличаться от указанного выше. Если же в вашей системе используется суперсервер

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

kadmin.local: ktadd -k gingko.keytab \

 host/gingko.threeroomco.com telnet/gingko.threeroomco.com

Файл

gingko.keytab
, полученный в результате описанных действий, надо переместить в каталог
/etc
компьютера, на котором выполняется сервер приложений, и присвоить ему имя
krb5.keytab
. Так как файл содержит чрезвычайно важную информацию, для его копирования надо применять средства, исключающие утечку данных, например перенести файл на дискету или использовать
scp
. Записав файл по месту назначения, надо установить права, позволяющие обращаться к нему только пользователю
root
, и удалить файл с компьютера KDC. Данный файл можно непосредственно создать на том компьютере, на котором установлен сервер приложений. В этом случае при вызове команды
ktadd
не надо указывать опцию
– k gingko.keytab
; система самостоятельно разместит файл в нужном каталоге. Данный метод пригоден, только если средства администрирования установлены и корректно сконфигурированы; кроме того, необходимо, чтобы была правильно выбрана базовая конфигурация Kerberos.

Запуск керберизованных серверов

Как правило, в состав стандартного пакета Kerberos входят керберизованные серверы и локальные средства аутентификации, например, программы, поддерживающие протоколы Telnet и FTP, а также разновидности

shell
,
exec
и
login
. Керберизованные программы надо установить вместо их традиционных аналогов. Так, если в вашей системе используется
inetd
, вам надо включить в файл
/etc/inetd.conf
следующие данные:

klogin stream tcp nowait root /usr/kerberos/sbin/klogind \

 klogind -k -c

eklogin stream tcp nowait root /usr/kerberos/sbin/klogind \

 klogind -k -c -e

kshell stream tcp nowait root /usr/kerberos/sbin/kshd \

 kshd -k -c -A

stream tcp nowait root /usr/kerberos/sbin/ftpd \

 ftpd -a

telnet stream tcp nowait root /usr/kerberos/sbin/telnetd \

 telnetd -a valid

Приведенные выше строки заменяют соответствующие записи в составе файла.

Помимо программ, которые распространяются в составе пакета Kerberos, доступны также керберизованные варианты других серверов. Подобные серверы поставляются независимыми производителями. Прежде чем использовать такие продукты, необходимо тщательно изучить документацию и выяснить их возможности и особенности выполнения.

Настройка клиентов Kerberos

Для того чтобы пользователь мог работать с системой Kerberos, надо в первую очередь создать принципала для этого пользователя. Принципалы пользователей имеют вид

имя_пользователя@имя_области
, и для их создания применяются утилиты
kadmin
и
kadmin.local
. После создания принципала пользователь может обращаться к серверам с помощью клиентов, ориентированных на работу в системе Kerberos. Вам, как системному администратору, необходимо установить соответствующие клиентские программы. Пользователям также потребуются утилиты, предназначенные для получения TGT и управления ими. Если вы захотите, чтобы средства Kerberos использовались для управления регистрацией на отдельных рабочих станциях, вам надо модифицировать обычные инструменты регистрации.

Обеспечение доступа к серверам Kerberos

На первый взгляд может показаться, что для обращения к серверам приложений Kerberos достаточно иметь соответствующие клиентские программы. На самом деле ситуация выглядит несколько сложнее. Прежде всего, в процессе обмена участвуют специальные утилиты: пользователь должен иметь возможность получить TGT и при необходимости изменить пароль Kerberos. Кроме того, к самим клиент-программам Kerberos предъявляются специальные требования; без поддержки специфических возможностей клиенты Kerberos превращаются в обычные клиентские программы, не обеспечивающие повышенный уровень защиты.

Поделиться с друзьями: