Выбрать главу

Настройка сервера Kerberos

Основой сети Kerberos является сервер Kerberos, или KDC. Как и для большинства серверов Linux, для настройки KDC используется текстовый файл, находящийся в каталоге /etc. Зная формат этого файла, вы можете устанавливать конфигурацию сервера Kerberos и, следовательно, воздействовать на работу других сетевых систем. В данном разделе приводятся основные сведения о конфигурации сервера. В последующих разделах обсуждается конфигурация клиентов и серверов приложений.

На заметку

Некоторые действия, рассматриваемые в данном разделе, приходится выполнять при настройке клиентов Kerberos и серверов приложений. Например, для всех систем задаются области Kerberos.

Очевидно, что пакет Kerberos должен быть установлен на компьютере, предназначенном для размещения KDC. Для компиляции исходных кодов MIT и установки полученных программ надо вызвать сценарий configure, содержащийся в составе пакета, а затем вызвать команды make и make install. В результате этих действий будут инсталлированы сервер Kerberos, серверы приложений и клиенты. При выполнении сценария configure желательно задавать опцию --enable-shared; при этом будут созданы разделяемые библиотеки Kerberos, что позволит уменьшить размеры программ. Такая конфигурация используется многими пакетами независимых производителей. Если система поставляется в виде двоичных кодов, компоненты Kerberos часто распределяются по отдельным пакетам. Например, дистрибутивная поставка Kerberos для системы Red Hat состоит из пакетов, которые называются krb5-libs, krb5-server и krb5-workstation. Такой подход позволяет исключить при инсталляции ненужные пакеты.

Редактирование конфигурационных файлов сервера

Основным конфигурационным файлом сервера Kerberos является файл /etc/krb5.conf. Этот файл состоит из нескольких разделов; роль заголовка раздела выполняет ключевое слово, помещенное в квадратные скобки. Строки, следующие до появления очередного заголовка, определяют характеристики, соответствующие текущему разделу. Пример файла krb5.conf для KDC приведен в листинге 6.1.

Листинг 6.1. Пример файла krb5.conf

[logging]

default = FILE:/var/log/krb5libs.log

kdc = FILE:/var/log/krb5kdc.log

admin_server = FILE:/var/log/kadmind.log

[libdefaults]

ticket_lifetime = 24000

default_realm = THREEROOMCO.COM

dns_lookup_realm = false

dns_lookup_kdc = false

[realms]

THREEROOMCO.COM = {

 kdc = kerberos.threeroomco.com:88

 kdc = kerberos-1.threeroomco.com:88

 kdc = kerberos-2.threeroomco.com:88

 admin_server = kerberos.threeroomco.com:749

 default_domain = threeroomco.com

}

[domain_realm]

.threeroomco.com = THREEROOMCO.COM

threeroomco.com = THREEROOMCO.COM

outsider.threeroomco.com = PANGAEA.EDU

[kdc]

profile = /var/kerberos/krb5kdc/kdc.conf

Каждая строка внутри раздела состоит из имени переменной, за которой следуют знак равенства (символ "=") и значение этой переменной. Некоторые разделы могут содержать подразделы, для обозначения которых используются фигурные скобки. Например, в разделе [realms], представленном в листинге 6.1, фигурными скобками выделены строки, связанные с областью THREEROOMCO.COM. Наличие подразделов позволяет создавать файлы, поддерживающие несколько областей.

На заметку

Большинство разделов, содержащихся в рассмотренном конфигурационном файле, используется для настройки серверов приложений и клиентов Kerberos. Не нужны лишь разделы [login] и [kdc]. Для некоторых программ могут потребоваться специальные параметры, которые обычно задаются в разделе [appdefaults].

KDC также использует собственный конфигурационный файл kdc.conf. В этом файле содержатся данные, предназначенные только для KDC, в то время как информация в файле krb5.conf используется также клиентами и серверами приложений. Формат файла kdc.conf совпадает с форматом файла krb5.conf.

Определение области

Как правило, для определения областей в файлы krb5.conf и kdc.conf включаются специальные записи. Отредактировав файл, рассмотренный выше в качестве примера, вы измените конфигурацию KDC, серверов приложений и клиентов. Для того чтобы изменения были учтены сервером Kerberos и серверами приложений, надо перезапустить эти программы.

Редактирование файла krb5.conf

В файле krb5.conf находится раздел [realms], в котором определены основной и ведомые серверы. В разделе [domain_realm] указывается взаимосвязь между областью Kerberos и доменом Internet. Оба раздела содержатся в листинге 6.1.

В рассмотренном примере раздел [realms] определяет основной KDC и два ведомых KDC для области THREEROOMCO.СОМ. Традиционно эти серверы называются kerberos и kerberos-n, где n — это номер ведомого сервера в домене, соответствующем области. В данном примере домен и область Kerberos имеют одинаковые имена (отличающиеся только регистром символов), но в общем случае их имена не обязательно должны совпадать. В определении каждого из указан номер порта, по которому устанавливаются соединения с соответствующим сервером. Запись admin-server соответствует компьютеру, который используется для администрирования области. Обычно это тот же компьютер, на котором установлен но для выполнения функций администрирования используется другой порт (как правило, порт 749). Запись определяет имя домена, связанное с принципалами. По умолчанию в качестве такого имени используется имя области Kerberos, преобразованное в символы нижнего регистра. Очевидно, что в данном примере запись default_domain не обязательна.

В одном файле krb5.conf можно указать несколько областей. Для того чтобы сделать это, надо включить в раздел [realms] имена нескольких областей, а параметры, описывающие каждую из них, поместить в фигурные скобки.

Записи, содержащиеся в разделе [domain_realm], отображают имена компьютеров и доменов в области Kerberos. За именем узла или домена (имя домена начинается с точки) следует знак равенства, после него указывается область Kerberos, к которой относится компьютер или домен. Из листинга 6.1 видно, что все компьютеры, принадлежащие домену threeroomco.com (в том числе узел сети с именем threeroomco.com), попадают в область THREEROOMCO.СОМ. Исключение составляет компьютер outsider.threeroomco.com, который попадает в область PANGAEA.EDU.