Apache2 und AD

Romulus1689

Romulus1689

Foren As
Hi Leute,
Ich versuche hier verzweifelt SSO für Apache via Kerberos zu konfigurieren. Leider muss ich das mit einem Windows Domäne in einklang bringen. Ich habe schon zahlreiche Anleitungen gefunden, scheitere allerdings bei allen an der Stelle wo ich diese Keydatei zu Authentifizierung holen muss...
Weis einer von euch vllt. weiter? Oder hat einer von euch das schonmal eingerichtet?

Hier sind mal ein paar Anleitungen nach denen ich vorgegangen bin:
http://www.scotthughes.org/apache-active-directory-sso
http://grolmsnet.de/kerbtut/

Ich bin für hilfe wirklich dankbar.
Gruß
Romulus1689
 
Bist du auf Linux? Was hast du bereits gemacht? Wenn dein Problem nur die Keyfile ist, das ist easy.

Hierbei ist folgende Reihenfolge einzuhalten:
1. Alle Schritte auf einem Domaincontroller durchführen
2. User anlegen. Username egal, aber merken
3. Kennwort für den User auf langes, zufälliges Kennwort setzen, dieses wird noch benötigt
4. Auf dem DC folgendes ausführen (< und > markieren meine Platzhalter und sind nicht einzutippen)
Code:
ktpass -princ HTTP/<fqdn.hostname.des.servers>@<DOMAINNAME>
-mapuser <username aus Schritt 2>
-crypto DES-CBC-MD5
-mapop set
-pass <Kennwort aus Schritt 3> -out <zu erzeugende Keyfile>

Probier das mal und poste das ERgebnis. Die Keyfile dann auf den Server kopieren. Läuft Kerberos da schon?
Was liefert:
Code:
kinit username@DOMAIN
klist
kdestroy

Wenn das funktioniert, kannst du auch versuchen dir mit kinit und dem Keyfile ein Ticket für den HTTP Principial zu holen, geht das?
 
Hi saeckereier,
Bin auf einem Ubuntu 10.04 Server mit Apache2.

>kinit username@DOMAIN
>klist
>kdestroy

Das hab ich schon gemacht, das funktioniert Problemlos, nur wenn ich eine Keytab so anlege wie du es beschrieben hast und diese dann mit dem Kinit-Befehl verwenden möchte, bekomme ich immer folgende Fehlermeldung:

"Client not found in Kerberos database while getting initial credentials"

Hier noch die Ausgabe von "klist" nach dem kinit:

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: **********

Valid starting Expires Service principal
08/25/10 13:33:50 08/25/10 23:33:53 krbtgt/STD-SB.DE@STD-SB.DE
renew until 08/26/10 13:33:50


Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached

Danke,
Gruß
Romulus1689
 
Sorry, ich brauche bitte aus allen Schritten einen genauen Konsolenmitschnitt. Was viele immer vergessen, das heisst auch den Aufruf.
Folgende Infos bitte nochmal:
1. Vollständiger Mitschnitt des kinit;klist;kdestroy mit dem Keyfile in [ code ] Tags bitte
2. Was für einen Windows Server habt ihr 2000 oder >2000?
 
Woran es liegen kann: Füge bitte einmal folgende Zeile in /etc/krb5.conf unter [libdefaults] ein:
Code:
allow_weak_crypto=true
 
Also, hier schonmal die kinit;klist;kdestroy sache:

Code:
root@srv-nagios:/usr/local/nagios/share# kinit nagiosuser@[EMAIL="berg@STD-SB.DE"]STD-SB.DE[/EMAIL]
Password for [email]nagiosuser@STD-SB.DE[/email]:
root@srv-nagios:/usr/local/nagios/share# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: nagiosuser@[EMAIL="berg@STD-SB.DE"]STD-SB.DE[/EMAIL]

Valid starting     Expires            Service principal
08/25/10 13:59:23  08/25/10 23:59:26  krbtgt/[EMAIL="berg@STD-SB.DE"]STD-SB.DE[/EMAIL]@[EMAIL="berg@STD-SB.DE"]STD-SB.DE[/EMAIL]
        renew until 08/26/10 13:59:23


Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached
root@srv-nagios:/usr/local/nagios/share# kdestroy

Wir setzen als DC Server 2003 SP2 ein...

Gruß
Romulus1689
 
Okay, und das gleiche für den Service-Principial? (Mit dem neuen Eintrag in die krb5.conf?)
 
Hier ist dann noch die Ausgabe vom anlegen des Keyfiles:
Code:
C:\Programme\Support Tools>ktpass.exe -princ HTTP/srv-nagios.std-sb.de@STD-
SB.DE -mapuser STD\nagiosuser -crypto DES-CBC-MD5 -mapop set -pass Init123 -out
 Z:\srv-nagios.keytab
Targeting domain controller: sb-prod-dc-01.std-sb.de
Successfully mapped HTTP/srv-nagios.std-sb.de to nagiosuser.
WARNING: pType and account type do not match. This might cause  problems.
Key created.
Output keytab to Z:\srv-nagios.keytab:
Keytab version: 0x502
keysize 68 HTTP/srv-nagios.std-sb.de@STD-SB.COM ptype 0 (KRB5_NT_UNKNOWN) v
no 2 etype 0x3 (DES-CBC-MD5) keylength 8 (0xda73497f6197c7a1)
 
Okay, hier die Ausgabe des kinit mit dem Keyfile:
Code:
root@srv-nagios:/usr/local/nagios/share# kinit -k -t ~/srv-nagios.keytab HTTP/srv-nagios.std-sb.de
kinit(v5): Client not found in Kerberos database while getting initial credentials

Und hier noch die krb5.conf:
Code:
[libdefaults]
    default_realm = STD-SB.DE
    dns_lookup_realm = true
    dns_lookup_kdc = true
    allow_weak_crypto = true

[realms]
     STD-SB.DE = {
                      kdc          = sb-prod-dc-01.std-sb.de
                      kdc          = srv-698.std-sb.de
                      kdc          = srv-564.std-sb.de
                      admin_server = sb-prod-dc-01.std-sb.de

                     #
                     # If using Heimdal and Windows2003 write
                     #
                     #    kdc = tcp/ulmo.grolmsnet.de
                     #
                     # instead.
                    }
[domain_realm]
    .std-sb.de = STD-SB.DE
    std-sb.de = STD-SB.DE
 
Hi saeckereier,
Bin auf einem Ubuntu 10.04 Server mit Apache2.

>kinit username@DOMAIN
>klist
>kdestroy

Das hab ich schon gemacht, das funktioniert Problemlos, nur wenn ich eine Keytab so anlege wie du es beschrieben hast und diese dann mit dem Kinit-Befehl verwenden möchte, bekomme ich immer folgende Fehlermeldung:

"Client not found in Kerberos database while getting initial credentials"


Ich werfe jetzt einfach mal in den Raum, dass du bei "kinit username@DOMAIN" das "DOMAIN" klein geschrieben hast.
Hier musst du alles mit Grossbuchstaben eingeben.

edit
Versuchs mal so: "kinit <username>@STD-SB.DE"
 
Nop Groß geschrieben... und davon abgesehen geht es ja mit **********, es funktioniert nur nicht mit dem Keyfile... Gruß Romulus1689
 
Dein Kerberos Prinicipal ist laut ktpass für den Realm STD-SB.COM und nicht für den Realm STD-SB.DE.
Versuch einfach mal folgendes (MIT-Kerberos vorausgesetzt!, bei dem anderen Kerberos sind die Kommandos ähnlich)
Code:
root@mediacenter:/etc# ktutil 
ktutil:  rkt /etc/krb5.keytab 
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    2          nfs/mediacenter.tadpole@TADPOLE
   2    2          nfs/mediacenter.tadpole@TADPOLE
   3    2          nfs/mediacenter.tadpole@TADPOLE
   4    2          nfs/mediacenter.tadpole@TADPOLE
ktutil:  quit
Poste bitte einmal die Ausgabe in deinem Fall. Wahrscheinlich wird da drin stehen HTTP/srv-nagios.std-sb.de@STD-SB.COM.
Der Kerberos Realm STD-SB.COM ist aber in deiner krb5.conf nicht eingetragen. Übrigens im AD kann man sich über
Code:
[libdefaults]
[libdefaults]
dns_lookup_kdc = true
dns_lookup_realm = true

Das angeben der Server sparen, Kerberos holt die sich dann aus dem DNS. Sollte man aber gerade beim Testen evtl. erstmal lassen, da es eine weitere Fehlerquelle ist..
 
Moin saeckereier,
Hier ist die Ausgabe:
Code:
root@srv-nagios:~# ktutil
ktutil:  rkt /home/berg/srv-nagios.keytab
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    2 HTTP/srv-nagios.std-sb.de@STD-SB.DE
ktutil:  quit

Das war allerdings wohl eher ein Fehler von mir, habe in den Posts den Domänennamen abgeändert, weil ich das ganze nicht für alle lesbar im Internet haben wollte, da der Rechner auch vom Internet aus zugänglich ist.
Tut mir leid, wenn du dir da jetzt viereckige Augen gelesen hast..

Gruß
Romulus1689
 
Ich HASSE sowas einfach..

Schau mal im AD nach, ich hab leider zu Hause keinen Zugriff auf so was, es müsste in der zweiten Registerkarte (oder irgendeiner anderen, ich weiss es nicht aus dem Kopf) von deinem nagios-User irgendwo der Principial-Name zu finden sein. Ist das so?
 
Meinst du den Benutzeranmeldename?
Da steht das drin: HTTP/srv-nagios.std-sb.de

Oder der Kanonische Name?
Der wäre: std-sb.de/STD-SB/nagios, user

Gruß
Romulus1689
 

Ähnliche Themen

UIDs/GIDs vom AD benutzen

Ablösen von Exchange2k3, OWA und W2k3 AD

Zurück
Oben