Как определить область Kerberos из каталога LDAP?

Kparted чрезвычайно хорош, но требует установки библиотек KDE.

2
задан 13 June 2012 в 13:49
4 ответа

Я думаю, что лучше всего было бы использовать sssd . Это дает вам максимальную гибкость, поскольку sssd поддерживает то, что он называет доменами. Обратите внимание, что более новые дистрибутивы уже используют sssd. Это сбывшаяся мечта, и нет оправдания использованию libpam_krb5.so, libpam_ldap.so или любых из них.

Простейшим подходом было бы использование фильтра ldap для выбора области, в которую вам нужно перейти для tgts, например:

Сначала создайте две группы безопасности, которые содержат участников для внешней и внутренней областей, чтобы иметь возможность чтобы добраться до правильного KDC.

Настройте sssd и проверьте его документацию, этот фрагмент представляет собой набросок того, как вам нужно настроить два домена.

[domain/internal.com]
access_provider = ldap
id_provider = ldap
ldap_access_filter = memberOf=cn=allowedusersinternal,ou=Groups,dc=internal,dc=com
auth_provider = krb5 

[domain/external.com]
access_provider = ldap
ldap_access_filter = memberOf=cn=allowedusersexternal,ou=Groups,dc=internal,dc=com
id_provider = ldap
auth_provider = krb5

Затем настройте ваш Kerberos для двух областей в соответствии с потребностями (но вы уже это получили).

3
ответ дан 3 December 2019 в 09:40

Настройки, которые вы ищете, находятся в /etc/krb5.conf, здесь вы можете сохранить несколько областей под тегом [realms], каждая из которых указывает на свой собственный сервер LDAP.

[realms]
       INTERNAL.COM = {
               kdc = some.server.internal.com:88
               admin_server = some.server.internal.com:749
               default_domain = internal.com
       }
       EXTERNAL.COM = {
               kdc = some.server.external.com:88
               admin_server = some.server.external.com:749
               default_domain = external.com
       }  
1
ответ дан 3 December 2019 в 09:40

Способ Windows для аутентификации в разных доменах - это указать домен в дополнение к имени входа. Итак, приемлемо ли для вас сделать что-то подобное и заставить людей входить в систему как user1@internal.com или user2@external.com ? И если вы просто используете «user3», вы можете войти в домен по умолчанию.

Согласно pam_krb5 (5), это возможно:

Если имя пользователя, предоставленное PAM, содержит «@» и Kerberos может , лечение имя пользователя в качестве принципала, сопоставьте его с именем локальной учетной записи, pam_authenticate () изменит пользователя PAM на имя этой локальной учетной записи. Это позволяет пользователям входить в систему со своим принципалом Kerberos и позволять Kerberos do the mapping to an account.

Unfortunately, it continues:

Be aware, however, that this facility cannot be used with OpenSSH. OpenSSH will reject usernames that don't match local accounts before this remapping can be done and will pass an invalid password to the PAM module. Also be aware that several other common PAM modules, such as pam_securetty, expect to be able to look up the user with getpwnam() and cannot be called before pam_krb5, если эта функция используется.

0
ответ дан 3 December 2019 в 09:40

pam_ldap
Для пароля ssh / запроса-ответа в примере LDAP уже достаточно записи.
Измените соответствующий файл (ы) в /etc/pam.d , чтобы использовать библиотеку pam_ldap .
Настройте проходную аутентификацию SASL на вашем сервере (ах) OpenLDAP.
RHEL (CentOS): nss_ldap
Debian: libpam-ldap
Ubuntu: ldap-auth-client

krb5.conf
auth_to_local должен работать для GSSAPI на основе авт.

[realms]
$LOCALREALM = {
auth_to_local = RULE:[1:$1]
auth_to_local = DEFAULT
}
This might be too permissive.

!pam_krb5 alt_auth_map shouldn't work as quoted from the man page before OpenSSH will reject usernames that don't match local accounts

1
ответ дан 3 December 2019 в 09:40

Теги

Похожие вопросы