Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:руководство_по_ubuntu_server:авторизация_по_сети:kerberos_and_ldap [2012/06/14 19:28] [Настройка вторичного KDC] |
wiki:руководство_по_ubuntu_server:авторизация_по_сети:kerberos_and_ldap [2012/06/14 21:05] (текущий) [Ссылки] |
||
---|---|---|---|
Строка 190: | Строка 190: | ||
Настройка вторичного KDC с использованием LDAP похожа на настройку обычной базы Kerberos. | Настройка вторичного KDC с использованием LDAP похожа на настройку обычной базы Kerberos. | ||
- | First, install the necessary packages. In a terminal enter: | + | 1. Сначала установим необходимые пакеты. Введите в терминале: |
+ | <code>sudo apt-get install krb5-kdc krb5-admin-server krb5-kdc-ldap</code> | ||
+ | 2. Далее редактируем /etc/krb5.conf для использования LDAP: | ||
+ | <code> | ||
+ | [libdefaults] | ||
+ | default_realm = EXAMPLE.COM | ||
- | sudo apt-get install krb5-kdc krb5-admin-server krb5-kdc-ldap | + | ... |
- | Next, edit /etc/krb5.conf to use the LDAP backend: | + | [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 | ||
+ | } | ||
- | [libdefaults] | + | ... |
- | default_realm = EXAMPLE.COM | + | |
- | ... | + | [domain_realm] |
+ | .example.com = 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 | + | |
- | } | + | |
- | ... | + | [dbdefaults] |
+ | ldap_kerberos_container_dn = dc=example,dc=com | ||
- | [domain_realm] | + | [dbmodules] |
- | .example.com = EXAMPLE.COM | + | 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" | ||
- | [dbdefaults] | + | # this object needs to have read and write rights on |
- | ldap_kerberos_container_dn = dc=example,dc=com | + | # 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 | ||
+ | } | ||
+ | </code> | ||
+ | 3. Создаем тайник для пароля соединения с LDAP: | ||
+ | <code> | ||
+ | sudo kdb5_ldap_util -D cn=admin,dc=example,dc=com stashsrvpw -f \ | ||
+ | /etc/krb5kdc/service.keyfile cn=admin,dc=example,dc=com | ||
+ | </code> | ||
+ | 4. Теперь на первичном KDC копируем /etc/krb5kdc/.k5.EXAMPLE.COM тайник с главным ключом на вторичный KDC. Убедитесь что копирование файла происходит через зашифрованное соединение, такое как scp или через физический носитель. | ||
+ | <code> | ||
+ | sudo scp /etc/krb5kdc/.k5.EXAMPLE.COM steve@kdc02.example.com:~ | ||
+ | sudo mv .k5.EXAMPLE.COM /etc/krb5kdc/ | ||
+ | </code> | ||
+ | <note>Снова замените **EXAMPLE.COM** на вашу актуальную область.</note> | ||
+ | 5. Возвращаемся на **вторичный KDC** чтобы только (пере)стартовать ldap сервер: | ||
+ | <code>sudo service slapd restart</code> | ||
+ | 6. И в конце стартуем сервис **krb5-kdc**: | ||
+ | <code>sudo /etc/init.d/krb5-kdc start</code> | ||
+ | 7. Убедитесь, что два ldap сервера (и kerberos вдобавок) синхронизированы. | ||
- | [dbmodules] | + | Теперь у вас в сети избыточные KDC, и с избыточными LDAP серверами вы можете продолжать аутентифицировать пользователей, если один LDAP сервер, один Kerberos сервер или один LDAP с одним Kerberos сервером станут недоступны. |
- | 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 | + | |
- | } | + | |
- | + | ||
- | Create the stash for the LDAP bind password: | + | |
- | + | ||
- | sudo kdb5_ldap_util -D cn=admin,dc=example,dc=com stashsrvpw -f \ | + | |
- | /etc/krb5kdc/service.keyfile cn=admin,dc=example,dc=com | + | |
- | + | ||
- | Now, on the Primary KDC copy the /etc/krb5kdc/.k5.EXAMPLE.COM Master Key stash to the Secondary KDC. Be sure to copy the file over an encrypted connection such as scp, or on physical media. | + | |
- | + | ||
- | sudo scp /etc/krb5kdc/.k5.EXAMPLE.COM steve@kdc02.example.com:~ | + | |
- | sudo mv .k5.EXAMPLE.COM /etc/krb5kdc/ | + | |
- | + | ||
- | Again, replace EXAMPLE.COM with your actual realm. | + | |
- | + | ||
- | Back on the Secondary KDC, (re)start the ldap server only, | + | |
- | + | ||
- | sudo service slapd restart | + | |
- | + | ||
- | Finally, start the krb5-kdc daemon: | + | |
- | + | ||
- | sudo /etc/init.d/krb5-kdc start | + | |
- | + | ||
- | Verify the two ldap servers (and kerberos by extension) are in sync. | + | |
- | + | ||
- | You now have redundant KDCs on your network, and with redundant LDAP servers you should be able to continue to authenticate users if one LDAP server, one Kerberos server, or one LDAP and one Kerberos server become unavailable. | + | |
====Ссылки==== | ====Ссылки==== | ||
- | The Kerberos Admin Guide has some additional details. | + | -- [[http://web.mit.edu/Kerberos/krb5-1.6/krb5-1.6.3/doc/krb5-admin.html#Configuring-Kerberos-with-OpenLDAP-back_002dend|Kerberos Admin Guide]] содержит некоторые дополнительные детали. |
- | + | -- Для дополнительной информации по **kdb5_ldap_util** смотрите [[http://web.mit.edu/Kerberos/krb5-1.6/krb5-1.6.3/doc/krb5-admin.html#Global-Operations-on-the-Kerberos-LDAP-Database|главу 5.6]] и [[http://manpages.ubuntu.com/manpages/precise/en/man8/kdb5_ldap_util.8.html|страницу руководства kdb5_ldap_util]]. | |
- | For more information on kdb5_ldap_util see Section 5.6 and the kdb5_ldap_util man page. | + | -- Другой полезной ссылкой является [[http://manpages.ubuntu.com/manpages/precise/en/man5/krb5.conf.5.html|страница руководства krb5.conf]]. |
- | + | -- Также смотрите [[https://help.ubuntu.com/community/Kerberos#kerberos-ldap|Kerberos и LDAP]] на Ubuntu wiki. | |
- | Another useful link is the krb5.conf man page. | + | |
- | + | ||
- | Also, see the Kerberos and LDAP Ubuntu wiki page. | + | |
---- | ---- |