Совет
При настройке DNS-сервера целесообразно создать записи CNAME, определив с их помощью имена узлов, указанные в krb5.conf
и в других конфигурационных файлах. Это поможет вам быстро ввести в строй резервный KDC, расположенный на другом компьютере, не редактируя конфигурационные файлы. Кроме того, для обращения к KDC можно использовать виртуальный IP-адрес. В этом случае компьютер, поддерживающий протокол NAT (Network Address Translation — преобразование сетевых адресов), определяется на DNS-сервере как KDC, но при обращении к нему он перенаправляет запрос тому компьютеру, на котором размещается реальный KDC. Это также позволяет перемещать KDC с одного компьютера на другой, не изменяя записи DNS.
Редактирование файла kdc.conf
В файле kdc.conf
содержатся те же записи, что и в файле krb5.conf
. Пример содержимого файла kdc.conf
приведен в листинге 6.2. Информация об областях Kerberos помещается в раздел [realms]
. Редактируя файл kdc.conf
, необходимо обратить внимание на имя области, так как во многих конфигурационных файлах по умолчанию используется имя области EXAMPLE.COM
. В разделе [realms]
также содержатся записи, в которых указываются типы ключей, поддерживаемых в данной области. Эти записи можно изменять только в том случае, если вы ясно представляете себе последствия таких изменений. В разделе [kdcdefaults]
указаны дополнительные конфигурационные файлы.
Листинг 6.2. Пример файла kdc.conf
[kdcdefaults]
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
[realms]
THREEROOMCO.COM = {
master_key_type = des-cbc-crc
supported_enctypes = des-cbc-crc:normal des3-cbc-raw:normal \
des3-cbc-shal:normal des-cbc-crc:v4 des-cbc-crc:afs3
}
Для контроля доступа к Kerberos используется основной ключ (master key), который по сути представляет собой пароль и хранится в stash-файле . Stash-файл — это специальный файл, который читает сервер при запуске и определяет, разрешено ли его выполнение. Если stash-файл отсутствует, основной ключ необходимо вручную вводить при запуске сервера.
Поскольку stash-файл содержит чрезвычайно важную информацию, он должен храниться на том же диске, что и KDC, и быть доступным для чтения только пользователю root
. Создавать резервную копию этого файла можно лишь в том случае, если носитель информации будет храниться в надежном месте. При выборе основного ключа следует руководствоваться теми же правилами, что и при выборе пароля: в качестве основного ключа нельзя использовать слово ни одного из существующих языков, его нельзя создавать на основе каких-либо данных, которые злоумышленник может узнать из официальных источников. В основном ключе должны присутствовать символы верхнего и нижнего регистра, цифры и знаки пунктуации. Ключ должен напоминать случайный набор символов и в то же время достаточно легко запоминаться. Основу ключа могут составлять начальные буквы слов некоторой фразы. Например, из фразы "yesterday I went to the dentist" формируется последовательность yiwttd
. Изменяя случайным образом регистр символов и добавляя цифры и знаки пунктуации, можно получить набор знаков yi9Wt%Td
, который вполне подходит для использования в качестве основного ключа.
Для создания основного ключа и записи его в stash-файл используется команда kdb5_util
.
# kdb5_util create -r THREEROOMCO.COM -s
Initializing database '/var/kerberos/krb5kdc/principal' for
realm 'THREEROOMCO.COM',
master key name 'K/M@THREEROOMCO.COM'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key:
Re-enter KDC database master key to verify:
На заметку
Из соображений безопасности символы, вводимые в ответ на приглашение, не отображаются на экране.
В процессе выполнения утилита kdb5_util
создает и инициализирует несколько файлов. Эти файлы помещаются в каталог /var/kerberos/krb5kdc
либо в другой каталог, используемый системой Kerberos, например в /usr/local/var/krb5kdc
. Ниже приведен перечень файлов, создаваемых с помощью утилиты kdb5_util
.
• Stash-файл с именем .k5. имя_области
или .k5stash
.
• Файлы principal
и principal.ok
, содержащие базу данных Kerberos. (В некоторых системах файл principal
называется principal.db
.)
• Файлы principal.kadm5
и principal.kadm5.lock
, предназначенные для администрирования Kerberos.
Если вы по каким-то причинам не хотите создавать stash-файл, то, вызывая kdb5_util
, не надо указывать опцию - s
. В этом случае при каждом запуске сервера Kerberos придется задавать основной ключ.
Читать дальше