SSO über Kerberos am Active Directory
Hallo, ich habe hier ein problem mit Kerberos. Über Hilfe wäre ich sehr dankbar.
Es soll eine Wiki mit Single-Sign-On im Unternehmen bereitgestellt werden.
Dazu wurde eine Debian 6 mit folgenden Daten eingerichtet:
eth0 = 100.0.11.68 (Daten) und eth1 = 100.0.12.68 (Admin)
hostname wiki-01; FQDN = wiki-01.domain.com
In den DNS-Server (AD-integriert 2003 R2)kamen folgende Einträge:
A wiki-01 -> 100.0.11.68 (plus reverse)
CNAME wiki -> wiki-01.domain.com
A wiki-01.adm -> 100.0.12.68 (plus reverse)
Darauf wurde dann Apache und die Wiki installiert, funktioniert auch alles. Dann wurde mod_auth_kerb über apt-get installiert und wie folgt eingerichtet:
###/etc/krb5.conf
[libdefaults]
default_realm = DOMAIN.COM
default_keytab_name = FILE:/etc/apache2/krb5/krb5..keytab
#rdns = false
[realms]
DOMAIN.COM = {
kdc = dc-01.domain.com
admin_server = dc-01.domain.com
default_domain = domain.com
}
[domain_realm]
Domain.com = DOMAIN.COM
.Domain.com = DOMAIN.COM
[logging]
default = FILE:/var/krb5/kdc.log
kdc = FILE: /var/krb5/kdc.log
### /etch/apache2/conf.d/kerberostest.conf
<Directory /var/www/kerbtest>
Options +FollowSymLinks
AllowOverride All
order allow,deny
allow from all
AuthType Kerberos
KrbAuthRealms DOMAIN.COM
KrbServiceName HTTP
Krb5Keytab /etc/apache2/krb5/krb5..keytab
KrbMethodNegotiate on
KrbMethodK5Passwd off
require valid-user
</Directory>
Dann wurde im AD ein Benutzer Wiki angelegt und ein keytab mit ktpass erstellt.
ktpass -princ HTTP/wiki-01.domain.com@DOMAIN.COM -mapuser wiki@DOMAIN.COM -crypto rc4-hmac-nt -ptype KRB5_NT_PRINCIPAL -pass password -out c:\krb5.keytab
Keytab auf den Debian Server übertragen und man konnte sich an wiki-01.domain.com/kerbtest anmelden ohne nach einem Passwort gefragt zu werden. So weit, so gut.
Ziel ist aber, dass man in die adressbar nur „wiki“ eingibt, ohne die Domain anfügen zu müssen. Also habe ich über ktutil dem keytab noch folgende principals hinzugefügt:
HTTP/wiki.domain.com@DOMAIN.COM
HTTP/wiki@DOMAIN.COM
HTTP/wiki.adm.domain.com@DOMAIN.COM
HTTP/wiki.adm@DOMAIN.COM
HTTP/wiki-01.adm.domain.com@DOMAIN.COM
Und Diese auch als ServicePrincipalNames dem AD-Benutzer wiki hinzugefügt.
Jetzt das Problem: es funktioniert so nicht. Wiki.domain.com/kerbtest geht, wiki/kerbtest geht nicht mit folgender Fehlermeldung im Apache-Error-Log. Unglücklicherweise funktioniert der Kerberos-Log nicht:
gss_acquire_cred() failed: An invalid name was supplied (, Hostname cannot be canonicalized)
Wie kann ich es einrichten, dass ich den Domänennamen weglassen kann?
Es soll eine Wiki mit Single-Sign-On im Unternehmen bereitgestellt werden.
Dazu wurde eine Debian 6 mit folgenden Daten eingerichtet:
eth0 = 100.0.11.68 (Daten) und eth1 = 100.0.12.68 (Admin)
hostname wiki-01; FQDN = wiki-01.domain.com
In den DNS-Server (AD-integriert 2003 R2)kamen folgende Einträge:
A wiki-01 -> 100.0.11.68 (plus reverse)
CNAME wiki -> wiki-01.domain.com
A wiki-01.adm -> 100.0.12.68 (plus reverse)
Darauf wurde dann Apache und die Wiki installiert, funktioniert auch alles. Dann wurde mod_auth_kerb über apt-get installiert und wie folgt eingerichtet:
###/etc/krb5.conf
[libdefaults]
default_realm = DOMAIN.COM
default_keytab_name = FILE:/etc/apache2/krb5/krb5..keytab
#rdns = false
[realms]
DOMAIN.COM = {
kdc = dc-01.domain.com
admin_server = dc-01.domain.com
default_domain = domain.com
}
[domain_realm]
Domain.com = DOMAIN.COM
.Domain.com = DOMAIN.COM
[logging]
default = FILE:/var/krb5/kdc.log
kdc = FILE: /var/krb5/kdc.log
### /etch/apache2/conf.d/kerberostest.conf
<Directory /var/www/kerbtest>
Options +FollowSymLinks
AllowOverride All
order allow,deny
allow from all
AuthType Kerberos
KrbAuthRealms DOMAIN.COM
KrbServiceName HTTP
Krb5Keytab /etc/apache2/krb5/krb5..keytab
KrbMethodNegotiate on
KrbMethodK5Passwd off
require valid-user
</Directory>
Dann wurde im AD ein Benutzer Wiki angelegt und ein keytab mit ktpass erstellt.
ktpass -princ HTTP/wiki-01.domain.com@DOMAIN.COM -mapuser wiki@DOMAIN.COM -crypto rc4-hmac-nt -ptype KRB5_NT_PRINCIPAL -pass password -out c:\krb5.keytab
Keytab auf den Debian Server übertragen und man konnte sich an wiki-01.domain.com/kerbtest anmelden ohne nach einem Passwort gefragt zu werden. So weit, so gut.
Ziel ist aber, dass man in die adressbar nur „wiki“ eingibt, ohne die Domain anfügen zu müssen. Also habe ich über ktutil dem keytab noch folgende principals hinzugefügt:
HTTP/wiki.domain.com@DOMAIN.COM
HTTP/wiki@DOMAIN.COM
HTTP/wiki.adm.domain.com@DOMAIN.COM
HTTP/wiki.adm@DOMAIN.COM
HTTP/wiki-01.adm.domain.com@DOMAIN.COM
Und Diese auch als ServicePrincipalNames dem AD-Benutzer wiki hinzugefügt.
Jetzt das Problem: es funktioniert so nicht. Wiki.domain.com/kerbtest geht, wiki/kerbtest geht nicht mit folgender Fehlermeldung im Apache-Error-Log. Unglücklicherweise funktioniert der Kerberos-Log nicht:
gss_acquire_cred() failed: An invalid name was supplied (, Hostname cannot be canonicalized)
Wie kann ich es einrichten, dass ich den Domänennamen weglassen kann?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 203043
Url: https://administrator.de/forum/sso-ueber-kerberos-am-active-directory-203043.html
Ausgedruckt am: 02.05.2025 um 11:05 Uhr
2 Kommentare
Neuester Kommentar