Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
serverguide-precise-ru.pdf
Скачиваний:
77
Добавлен:
03.05.2015
Размер:
1.86 Mб
Скачать

Сетевая аутентификация

sudo kdb5_ldap_util -D cn=admin,dc=example,dc=com stashsrvpw -f \ /etc/krb5kdc/service.keyfile cn

• Копируем сертификат CA из сервера LDAP:

scp ldap01:/etc/ssl/certs/cacert.pem . sudo cp cacert.pem /etc/ssl/certs

и редактируем /etc/ldap/ldap.conf для использования этого сертификата:

TLS_CACERT /etc/ssl/certs/cacert.pem

Сертификат также нужно скопировать на вторичный KDC, чтобы позволить соединение с LDAP-серверами с использованием LDAPS.

Вы можете добавить учётные записи Kerberos в базу LDAP, и они будут скопированы на все LDAP-серверы, настроенные на репликацию. Для добавления учётной записи с использованием утилиты kadmin.local введите:

sudo kadmin.local

Authenticating as principal root/admin@EXAMPLE.COM with password. kadmin.local: addprinc -x dn="uid=steve,ou=people,dc=example,dc=com" steve

WARNING: no policy specified for steve@EXAMPLE.COM; defaulting to no policy Enter password for principal "steve@EXAMPLE.COM":

Re-enter password for principal "steve@EXAMPLE.COM": Principal "steve@EXAMPLE.COM" created.

Теперь будут добавлены атрибуты krbPrincipalName, krbPrincipalKey, krbLastPwdChange и krbExtraData к объекту пользователя uid=steve,ou=people,dc=example,dc=com. Используйте утилитыkinit и klist

для проверки, что пользователю действительно выдали билет.

Если объект пользователя уже создан, потребуется опция -x dn="..." для добавления атрибутов Kerberos. Иначе будет создан новый объект учетной записи в поддереве области.

4.3. Настройка вторичного KDC

Настройка вторичного KDC с использованием LDAP похожа на настройку обычной базы Kerberos.

1.Во-первых, установите необходимые пакеты. В терминале введите:

sudo apt-get install krb5-kdc krb5-admin-server krb5-kdc-ldap

2.Далее редактируем /etc/krb5.conf для использования LDAP:

155

Сетевая аутентификация

[libdefaults]

default_realm = EXAMPLE.COM

...

[realms]

EXAMPLE.COM = {

kdc = kdc01.example.com kdc = kdc02.example.com

admin_server = kdc01.example.com admin_server = kdc02.example.com default_domain = example.com database_module = openldap_ldapconf

}

...

[domain_realm]

.example.com = EXAMPLE.COM

...

[dbdefaults]

ldap_kerberos_container_dn = dc=example,dc=com

[dbmodules]

openldap_ldapconf = { db_library = kldap

ldap_kdc_dn = "cn=admin,dc=example,dc=com"

#this object needs to have read rights on

#the realm container, principal container and realm sub-trees ldap_kadmind_dn = "cn=admin,dc=example,dc=com"

#this object needs to have read and write rights on

#the realm container, principal container and realm sub-trees ldap_service_password_file = /etc/krb5kdc/service.keyfile ldap_servers = ldaps://ldap01.example.com ldaps://ldap02.example.com ldap_conns_per_server = 5

}

3.Создаём тайник для пароля соединения с LDAP:

sudo kdb5_ldap_util -D cn=admin,dc=example,dc=com stashsrvpw -f \ /etc/krb5kdc/service.keyfile

4.Теперь на первичном KDC копируем /etc/krb5kdc/.k5.EXAMPLE.COM тайник с

главным ключом на вторичный KDC. Убедитесь, что копирование файла происходит через зашифрованное соединение, такое как scp или через физический носитель.

156

Сетевая аутентификация

sudo scp /etc/krb5kdc/.k5.EXAMPLE.COM steve@kdc02.example.com:~ sudo mv .k5.EXAMPLE.COM /etc/krb5kdc/

Снова замените EXAMPLE.COM на вашу актуальную область.

5.Возвращаемся на Secondary KDC, чтобы только (пере)запустить ldap сервер:

sudo service slapd restart

6.И в конце запускаем сервис krb5-kdc:

sudo /etc/init.d/krb5-kdc start

7.Убедитесь, что два LDAP-сервера (и kerberos вдобавок) синхронизированы.

Теперь у вас в сети избыточные KDC, и с избыточными LDAP серверами вы можете продолжать аутентифицировать пользователей, если один LDAP сервер, один Kerberos сервер или один LDAP с одним Kerberos сервером станут недоступны.

4.4. Ресурсы

Kerberos Admin Guide57 содержит некоторые дополнительные детали.

Для дополнительной информации по kdb5_ldap_util смотрите Section 5.658

и kdb5_ldap_util man page59.

Другой полезной ссылкой является krb5.conf man page60.

Также смотрите Kerberos and LDAP61 на Ubuntu wiki.

57http://web.mit.edu/Kerberos/krb5-1.6/krb5-1.6.3/doc/krb5-admin.html#Configuring-Kerberos-with-OpenLDAP- back_002dend

58http://web.mit.edu/Kerberos/krb5-1.6/krb5-1.6.3/doc/krb5-admin.html#Global-Operations-on-the-Kerberos-LDAP- Database

59http://manpages.ubuntu.com/manpages/precise/en/man8/kdb5_ldap_util.8.html

60http://manpages.ubuntu.com/manpages/precise/en/man5/krb5.conf.5.html

61https://help.ubuntu.com/community/Kerberos#kerberos-ldap

157

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]