Как настроить Авторизация прокси SASL с сервером OpenLDAP в Debian

Для аутентификации Kerberos вместе с авторизацией SASL / GSSAPI на клиентских устройствах мне нужна авторизация прокси на сервере OpenLDAP, работающем на Raspberry Pi с Debian / Raspbian Buster. Я попытался следовать описанию в Руководстве администратора OpenLDAP 2.4 о SASL Proxy Авторизация , но не удалось заставить его работать. Либо aut хентификация не удалась или прокси-пользователь не был найден и авторизация не прошла. Аутентификация с исходным пользователем работает без проблем:

ldap-server ~$ kinit ingo
Password for ingo@HOME.HOEFT-ONLINE.DE:
ldap-server ~$ ldapwhoami
SASL/GSSAPI authentication started
SASL username: ingo@HOME.HOEFT-ONLINE.DE
SASL SSF: 256
SASL data security layer installed.
dn:uid=ingo,ou=people,ou=home,dc=hoeft-online,dc=de

Но с настройкой авторизации прокси я запутался с правилами источника и назначения и где разместить атрибуты authzTo и authzFrom и где для включения proxyAuth.

Кто-нибудь может привести небольшой пример, как определить авторизацию прокси на сервере LDAP с аутентификацией SASL / GSSAPI?

0
задан 28 November 2019 в 03:36
1 ответ

Я не смог найти пример в сети об этом, и она взяла меня в некоторые дни для взятия широко распространенных деталей. Вот то, как я соответствую ему вместе, таким образом, другие могут найти пример теперь.

Для надлежащей Авторизации Прокси с SASL/GSSAPI, которому нужна аутентификация Kerberos, мы должны указать принципал Kerberos, который используется в качестве пользователя прокси. Затем для аутентификации SASL на ldap сервере нам нужен обычный пользователь, отображающийся от подлинного dn SASL до учетной записи ldap. Теперь мы можем установить Авторизацию Прокси.

Создают принципал Kerberos

, я создаю anyuser для использования его аутентификации в качестве прокси для любого пользователя. Мне нужен он для аутентификации GSSAPI на клиентских устройствах.

~$ kadmin -p somebody/admin addprinc -policy user anyuser

Аутентификация, отображающаяся

, Это - обычное отличительное имя (dn) отображающийся, как описано в OpenLDAP Software Руководство 2.4 Администраторов приблизительно Отображающиеся Идентификационные данные Аутентификации .

~$ cat > /tmp/in.ldif <<EOF
dn: cn=config
changetype: modify
add: olcAuthzRegexp
olcAuthzRegexp:
  {0}uid=([^,]*),cn=gssapi,cn=auth
  uid=\$1,ou=people,ou=home,dc=hoeft-online,dc=de
-
add: olcAuthzRegexp
olcAuthzRegexp:
  {1}uid=([^,]*),cn=home.hoeft-online.de,cn=gssapi,cn=auth
  uid=\$1,ou=people,ou=home,dc=hoeft-online,dc=de
EOF

~$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/in.ldif

Тест отображение с:

~$ kinit ingo
~$ ldapwhoami -Y GSSAPI -v
ldap_initialize( <DEFAULT> )
SASL/GSSAPI authentication started
SASL username: ingo@HOME.HOEFT-ONLINE.DE
SASL SSF: 256
SASL data security layer installed.
dn:uid=ingo,ou=people,ou=home,dc=hoeft-online,dc=de
Result: Success (0)

Установка Авторизация Прокси Авторизации

Прокси SASL отключена по умолчанию. Таким образом, сначала мы должны включить его на ldap сервере. Я только хочу использовать атрибуты authzTo. Для возможного взгляда настроек man slapd-config для olcAuthzPolicy.

~$ cat > /tmp/in.ldif <<EOF
dn: cn=config
changetype: modify
add: olcAuthzPolicy
olcAuthzPolicy: to
EOF

~$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/in.ldif
# For this modify is a restart needed
~$ sudo systemctl restart slapd.service

Теперь я создаю учетная запись anyuser posix, используемая в качестве прокси. Для установки authzTo взгляд атрибута Отображающиеся Идентификационные данные Аутентификации .

 ~$ cat > /tmp/in.ldif <<EOF
dn: cn=anyuser,ou=group,ou=home,dc=hoeft-online,dc=de
objectClass: top
objectClass: posixGroup
cn: anyuser
gidNumber: 1001

dn: uid=anyuser,ou=people,ou=home,dc=hoeft-online,dc=de
objectClass: top
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
uid: anyuser
uidNumber: 1001
gidNumber: 1001
cn: any
sn: user
loginShell: /usr/sbin/nologin
homeDirectory: /nonexistent
authzTo: dn.regex:^uid=[^,]*,ou=people,ou=home,dc=hoeft-online,dc=de$
EOF

~$ sudo slapadd -l /tmp/in.ldif

Теперь можно протестировать Авторизацию Прокси с:

~$ kinit -p ingo
~$ ldapwhoami -Y GSSAPI -D "uid=anyuser,ou=people,ou=home,dc=hoeft-online,dc=de"
SASL/GSSAPI authentication started
SASL username: ingo@HOME.HOEFT-ONLINE.DE
SASL SSF: 256
SASL data security layer installed.
dn:uid=ingo,ou=people,ou=home,dc=hoeft-online,dc=de

также примечание от [1 112] Правила авторизации Прокси :

Исходные правила чрезвычайно мощны. Если у обычных пользователей есть доступ для записи атрибута authzTo в их собственных записях, то они могут записать правила, которые позволили бы им авторизовывать как кто-либо еще. По сути, при использовании исходных правил атрибут authzTo должен быть защищен с ACL, который только позволяет привилегированным пользователям устанавливать его значения.

0
ответ дан 4 December 2019 в 23:40

Теги

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