входящих в состав сети Kerberos. Сделать это можно с помощью сервера NTP (Network Time Protocol — сетевой протокол времени), описанного в главе 10.
Требования к серверу Kerberos
Зная принципы работы системы Kerberos, можно сформулировать требования к ее компонентам. Очевидно, что с точки зрения безопасности сети KDC является чрезвычайно важным компонентом системы. Доступ к серверу (равно как и физический доступ к компьютеру, на котором он выполняется) должен иметь только администратор системы. Необходимо уделять внимание своевременному обновлению версий программного обеспечения. Поскольку KDC используется в работе многих серверов, необходимо продумать план его восстановления в случае неисправности. Создавайте резервные копии данных KDC и держите наготове компьютер, где можно было бы запустить KDC в случае выхода из строя машины, на которой выполняется основной сервер. Имеет смысл создать ведомый, или резервный KDC, который получал бы конфигурационные данные от ведущего, или основного KDC, и в случае выхода из строя последнего мог бы взять на себя обязанности по обслуживанию клиентов и серверов в сети.
Характеристики аппаратных средств, необходимых для работы KDC, определяются размерами сети, а именно числом компьютеров и пользователей. Для небольших сетей, насчитывающих порядка двух десятков узлов, для KDC подойдет низкоуровневый компьютер. Система, содержащая процессор Pentium с низким быстродействием, 32 Мбайт оперативной памяти и жесткий диск объемом в несколько сотен мегабайт, будет более чем достаточна для работы KDC в такой сети. Если же к сети подключены сотни, а тем более тысячи машин, потребуется более мощный компьютер, обладающий быстродействующим процессором и обеспечивающий высокую скорость обмена по сети. Размещая KDC в сети, надо выбрать его расположение так, чтобы обеспечивалась максимальная надежность, а время доставки данных клиентам и серверам было минимальным. Например, если сеть состоит из нескольких отдельных сегментов, желательно поместить в каждом из сегментов свой KDC. Если один KDC будет обслуживать несколько сетевых сегментов, то при сбое в работе маршрутизаторов взаимодействие клиентов с серверами станет невозможным.
Версии и разновидности Kerberos
Наибольшей популярностью пользуется пакет Kerberos, доступный по адресу http://web.mit.edu/kerberоs/www/
. На узле MIT размещены исходные тексты Kerberos V5 Release 1.2.1 и двоичные коды, подготовленные для различных операционных систем (версия для Linux отсутствует). Здесь же можно найти Kerberos V4 и версию данной системы для Windows и MacOS (как для MacOS Classic, так и для MacOS X). В версии Kerberos V5 реализованы новые возможности по сравнению с Kerberos V4, кроме того, в последних реализациях устранены недостатки, имевшие место в предыдущих версиях.
Подобно X Window, Kerberos распространяется в исходных кодах. Кроме того, существуют варианты системы, созданные на основе кода MIT, которые предоставляются на коммерческой основе. Одна из разновидностей Kerberos создана в Швеции Королевским технологическим институтом (Royal Institute of Technology) и доступна по адресу http://www.pdc.kth.se/kth-krb/
. Этот вариант системы называется eBones, но имена файлов, входящих в состав пакета, начинаются с krb4
. Официально посредством данного узла распространяются только исходные коды, но на FTP-сервере можно найти каталог binaries
, в котором расположены двоичные пакеты, включая пакет для Linux. Если вы решите скопировать его, будьте внимательны: это может оказаться старая реализация системы. Система eBones (по крайней мере, eBones 1.1) базируется на Kerberos V4.
Центр параллельных вычислений (Center for Parallel Computers) реализовал систему Kerberos, известную под названием Heimdal; ее коды расположены по адресу http://www.pdc.kth.se/heimdal/
. Эта разновидность системы базируется на MIT Kerberos V5. На указанном сервере находятся как исходные тесты, так и исполняемые коды для Linux, но часто двоичные коды новой версии появляются на сервере гораздо позже исходных текстов.
В настоящее время средства поддержки Kerberos включаются в состав большинства дистрибутивных пакетов Linux. В частности, Debian 2.2 комплектуется eBones и Heimdal, в состав Mandrake 8.1 и Red Hat 7.2 входит Kerberos V5, a SuSE 7.3 комплектуется Heimdal. В поставку систем Caldera 3.1, Slackware 8.0 и TurboLinux 7.0 средства Kerberos не входят, но вы можете включить их, скомпилировав исходные коды либо установив пакет, предназначенный для другой версии Linux.
В последующих разделах данной главы описывается система Kerberos V5, разработанная MIT. Версия Kerberos V4 отличается от нее некоторыми особенностями конфигурации. Некоторые особенности работы систем, созданных на базе Kerberos V5, могут не совпадать с описанными здесь. Работая над данной главой, я использовал пакет Kerberos V5 в системе Red Hat, в тексте главы приводятся ссылки на исходные коды MIT.
Настройка сервера 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
. Такой подход позволяет исключить при инсталляции ненужные пакеты.