Настройка Heimdal KDC
Центр распространения ключей (Key Distribution Center, KDC) это централизованный сервис аутентификации, предоставляемый Kerberos -- это компьютер, который предоставляет доступ через Kerberos. KDC считается доверяемым всеми другими компьютерами с определенным идентификатором Kerberos и поэтому к нему предъявляются высокие требования безопасности.
Имейте ввиду, что хотя работа сервера Kerberos требует очень немного вычислительных ресурсов, из соображений безопасности для него рекомендуется отдельный компьютер, работающий только в качестве KDC.
Перед началом настройки KDC, убедитесь что в файле /etc/rc.conf содержатся правильные настройки для работы в качестве KDC (вам может потребоваться изменить пути в соответствии с собственной системой):
kerberos5_server_enable="YES" kadmind5_server_enable="YES" kerberos_stash="YES"
Замечание: Параметр kerberos_stash существует только в FreeBSD 4.X.
Затем приступим к редактированию файла настройки Kerberos, /etc/krb5.conf:
[libdefaults] default_realm = EXAMPLE.ORG [realms] EXAMPLE.ORG = { kdc = kerberos.example.org } [domain_realm] .example.org = EXAMPLE.ORG
Обратите внимание что в файле /etc/krb5.conf подразумевается наличие у KDC полного имени kerberos.example.org. Вам потребуется добавить CNAME (синоним) к файлу зоны, если у KDC другое имя.
Замечание: Для больших сетей с правильно настроенным сервером BIND DNS пример выше может быть урезан до:
[libdefaults] default_realm = EXAMPLE.ORG
Со следующими строками, добавленными в файл зоны example.org:
_kerberos._udp IN SRV 01 00 88 kerberos.example.org. _kerberos._tcp IN SRV 01 00 88 kerberos.example.org. _kpasswd._udp IN SRV 01 00 464 kerberos.example.org. _kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org. _kerberos IN TXT EXAMPLE.ORG.
Создадим теперь базу данных Kerberos. Эта база данных содержит ключи всех основных хостов, зашифрованных с помощью главного пароля. Вам не требуется помнить этот пароль, он хранится в файле (/var/heimdal/m-key).
Для создания главного ключа запустите kstash и введите пароль.
Как только будет создан главный ключ, вы можете инициализировать базу данных с помощью программы kadmin с ключом -l
(означающим ``local''). Этот ключ сообщает kadmin обращаться к файлам базы данных непосредственно вместо использования сетевого сервиса kadmind. Это помогает решить ``проблему курицы и яйца'', когда обращение идет к еще не созданной базе данных. Как только вы увидите приглашение kadmin, используйте команду init для создания базы данных идентификаторов.
Наконец, оставаясь в приглашении kadmin, создайте первую запись с помощью команды add. Оставьте неизменными параметры по умолчанию, вы всегда сможете изменить их позже с помощью команды modify. Обратите внимание, что вы всегда можете использовать команду ? для просмотра доступных параметров.
Пример создания базы данных показан ниже:
# kstash
Master key: xxxxxxxx
Verifying password - Master key: xxxxxxxx
# kadmin -l
kadmin> init EXAMPLE.ORG
Realm max ticket life [unlimited]: kadmin> add tillman
Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: Password: xxxxxxxx
Verifying password - Password: xxxxxxxx
Теперь пришло время запустить сервисы KDC. Выполните команды /etc/rc.d/kerberos start и /etc/rc.d/kadmind start для запуска сервисов. Ни один из поддерживающих Kerberos даемонов на этот момент запущен не будет, но у вас должна быть возможность убедиться в том, что KDC функционирует путем получения списка доступа для пользователя, которого вы только что самостоятельно создали из командной строки самого KDC:
% k5init tillman
tillman@EXAMPLE.ORG's Password:
% k5list
Credentials cache: FILE:/tmp/krb5cc_500
Principal: tillman@EXAMPLE.ORG
Issued Expires Principal Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORG