Почему я не могу сделать kinit с SPN?

Я следовал этому руководству по настройке Apache Directory Studio. для веб-приложения для разработки и тестирования аутентификации Kerberos (с использованием spnego). Я настроил службу ldap и выдачи билетов, а также несколько основных учетных записей пользователей. Я могу сделать kinit с учетными записями пользователей, поэтому я знаю, что эта часть работает хорошо.

Таким образом, текущие журналы показывают, что он не может расшифровать билет. Я попытался использовать файл keytab с kinit, и он не работал, поэтому я просто попытался выполнить kinit и вручную ввести пароль, что также не работает (даже после проверки правильности пароля в Apache Directory Studio) . Вот файл ldif, который я использовал для создания spn:

dn: uid=HTTP/example.com,ou=users,dc=security,dc=example,dc=com
objectClass: top
objectClass: krb5KDCEntry
objectClass: inetOrgPerson
objectClass: krb5Principal
objectClass: person
objectClass: organizationalPerson
cn: HTTP/example.com
krb5KeyVersionNumber: 1
krb5PrincipalName: HTTP/[email protected]
sn: Something
uid: HTTP/example.com
userPassword: secret

всякий раз, когда я делаю kinit -V HTTP/example.com и ввожу пароль, я просто получаю:

HTTP/[email protected]'s Password: 
kinit: Password incorrect

Это мой krb5.conf:

[libdefaults]
debug = true
default_realm = EXAMPLE.COM

[realms]
EXAMPLE.COM = {
    kdc = example.com:60088
    admin_server = example.com:60088
    default_domain = EXAMPLE.COM
}

[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM

person FourierTransformer    schedule 16.10.2016    source источник


Ответы (1)


Итак, по-видимому, вы не можете настроить SPN, такое же, как область по умолчанию. Мне пришлось создать поддомен (myapp.example.com) и импортировать связанный с ним новый файл ldif:

dn: uid=HTTP/myapp.example.com,ou=users,dc=security,dc=example,dc=com
objectClass: top
objectClass: krb5KDCEntry
objectClass: inetOrgPerson
objectClass: krb5Principal
objectClass: person
objectClass: organizationalPerson
cn: HTTP/myapp.example.com
krb5KeyVersionNumber: 1
krb5PrincipalName: HTTP/[email protected]
sn: myapp
uid: HTTP/myapp.example.com
userPassword: secret

После этого я смог кинить с HTTP/myapp.example.com. Затем я смог настроить keytab и загрузить его на свой веб-сервер, и SSO заработал!

person FourierTransformer    schedule 30.10.2016