Домен/GSSAPI

Материал из ALT Linux Wiki

Инструкция по обеспечению аутентификации в сервере LDAP через Kerberos (без паролей).

Установка программного обеспечения

Предполагается, что создан домен test.altlinux. То есть запущены настроенные службы OpenLDAP и Kerberos и Kerberos хранит принципалов в базе LDAP.

Настройка на сервере

Для использования механизма GSSAPI совместно с slapd(8) сначала нужно создать сервисный ключ с принципалом (principal) для сервиса ldap в области (realm) для хоста, на котором запущена служба каталога.

1. Создайте принципала и сгенерируйте keytab для сервера LDAP:

. /usr/bin/alterator-kdc-princ-functions
addprinc ldap/$(hostname)
ktadd /etc/openldap/ldap.keytab ldap/$(hostname)

Этот файл (если существует) автоматически используется в службе slapd.

2. Для используемых баз пропишите отображение DN запроса аутентификации в аутентификационный DN пользователя:

ldap-dn list | while read dn file;do \
echo -e "\nauthz-regexp\n\tuid=([^,]*),cn=[^,]*,cn=auth\n\tuid=\$1,ou=People,$dn" >> "$file";done

Например, в файле /etc/openldap/slapd-test.altlinux.conf появится запись

authz-regexp
        uid=([^,]*),cn=[^,]*,cn=auth
        uid=$1,ou=People,dc=test,dc=altlinux

3. Перезапустите службу LDAP (slapd):

service slapd restart

Настройка на клиенте

1. Установите пакет libsasl2-plugin-gssapi:

apt-get install libsasl2-plugin-gssapi

2. Получите тикет Kerberos и убедитесь, что тикет получен:

# kinit l1
Password for l1@TEST.ALTLINUX: 

# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: l1@TEST.ALTLINUX

Valid starting     Expires            Service principal
01/10/13 19:41:11  01/11/13 19:41:11  krbtgt/TEST.ALTLINUX@TEST.ALTLINUX
        renew until 01/10/13 19:41:11

3. Проверим доступ к LDAP без пароля:

# ldapwhoami -Y GSSAPI
SASL/GSSAPI authentication started
SASL username: l1@TEST.ALTLINUX
SASL SSF: 56
SASL data security layer installed.
dn:uid=l1,ou=people,dc=test,dc=altlinux

Внимание! Обратите внимание, что для вызова любых программ работы с LDAP с клиента нужно указать параметр -Y GSSAPI

Ссылки