Richten Sie einen Windows 10-Client für einen Linux-KDC-Bereich ein

7

Ich habe einen KDC-Server eingerichtet und ein Realm erstellt EXAMPLE.COM. Hier ist meine krb5.conf Datei:

[libdefaults]
  renew_lifetime = 7d
  forwardable = true
  default_realm = EXAMPLE.COM
  ticket_lifetime = 24h
  dns_lookup_realm = false
  dns_lookup_kdc = false
  default_ccache_name = /tmp/krb5cc_%{uid}
  #default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
  #default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5

[logging]
  default = FILE:/var/log/krb5kdc.log
  admin_server = FILE:/var/log/kadmind.log
  kdc = FILE:/var/log/krb5kdc.log

[realms]
  EXAMPLE.COM = {
    admin_server = my.linux-server.de
    kdc = my.linux-server.de
  }

Ich habe auch einen Benutzer testusermit Passwort hinzugefügt abcüber kadmin.local:

kadmin.local:  addprinc [email protected]

Ich kann mich erfolgreich auf meiner Ubuntu-VM anmelden:

[root@ubuntu-vm ~]# kinit testuser
Password for [email protected]:

Dann klistzeigt:

[root@ubuntu-vm ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]

Valid starting       Expires              Service principal
01.12.2016 14:58:40  02.12.2016 14:58:40  krbtgt/[email protected]

und ich kann meine Kererized Hadoop-Benutzeroberfläche öffnen.

================================================== ======================

Problem macht meinen Windows-Client. Ich habe es eingerichtet, indem ich die krb5.confDatei vom KDC-Computer auf den Windows-Client kopiert und in umbenannt habe kdc5.ini.

Ich habe auch die Domäne des Computers festgelegt:

C:> Ksetup /setdomain EXAMPLE.COM

Nach einem Neustart habe ich versucht, eine Verbindung zu meinem KDC Realm über herzustellen

C:> kinit [email protected]
Password for [email protected]:
<empty row>

Bisher sah alles gut aus, aber wenn ich anrufe, klisterhalte ich nur das folgende Ergebnis:

Aktuelle Anmelde-ID ist 0:0x7eca34

Zwischengespeicherte Tickets: (0)

Auf Englisch so etwas wie ... cached tickets: (0)

Ich kann meine Website auch nicht auf dem Windows-Client öffnen, daher gibt es vermutlich ein Interoperabilitätsproblem, da ich keine Probleme mit der Verbindung über meinen Ubuntu-Client hatte.

Mein Browser (Firefox) sollte auf beiden Computern (Ubuntu & Windows) korrekt konfiguriert sein. Ich habe die network.negotiate-auth.trusted-urisEigenschaft auf festgelegt http://my.linux-server.de(seitdem kann der Ubuntu-Client die Site öffnen). Curl funktioniert auch für Ubuntu, aber nicht für Windows.

UPDATE: Auch ein zweiter Windows-Client ohne Erfolg ausprobiert ...

D. Müller
quelle
Ich gehe davon aus, dass dies ein Arbeitsgruppencomputer ist. Haben Sie den MIT Kerberos-Client ausprobiert?
Jacob Evans
Ja, ich habe auch den MIT Kerberos Client ausprobiert. Ich klickte auf "Ticket erhalten" und gab den Namen und das Passwort des Auftraggebers ein. In der Liste unten sehe ich den Auftraggeber und den Eintrag "gültig bis" für das Ticket.
D. Müller
@JacobEvans Muss ich mehr als die krb5.ini (vom Server kopiert) und den Befehl "ksetup / setrealm EXMAPLE.COM" konfigurieren?
D. Müller
Können Sie eine Netzwerkablaufverfolgung vom Client erhalten, die nach Kerberos-Verkehr gefiltert wurde?
Ryan Ries
Ehrlich gesagt nicht sicher, immer noch versuchen, dies für ein krb5 Realm Trust zwischen 2012R2 und ipa herauszufinden
Jacob Evans

Antworten:

7

Endlich habe ich es geschafft! Ich habe die folgenden Schritte auf einem Windows 7 (64-Bit) Computer ausgeführt, sollte auch unter Windows 10 funktionieren:

  1. Installieren Sie das MIT Kerberos von hier aus . Ich nahm die aktuelle Windows-Version MIT Kerberos for Windows 4.1und installierte sie mit den Standardeinstellungen.
  2. Öffnen Sie die Datei C:\ProgramData\MIT\Kerberos\krb5.iniund fügen Sie folgende Einstellungen ein:

Neuer Inhalt der Datei:

[libdefaults]
  default_realm = EXAMPLE.COM

[realms]
  EXAMPLE.COM = {
    admin_server = your.admin.server.de
    kdc = your.kdc.server.de
  }
  1. Laden Sie den aktuellen Firefox-Browser herunter und installieren Sie ihn
  2. Geben Sie about:configdie Adressleiste des Firefox-Browsers ein und stellen Sie die folgenden Parameter ein:

Parameter = Wertepaare:

network.negotiate-auth.delegation-uris = http://your.kdc.server.de

network.negotiate-auth.trusted-uris = http://your.kdc.server.de

network.auth.use-sspi = false
  1. Starten Sie Ihren PC neu
  2. Verwenden Sie die MIT Kerberos Ticket Manager, um ein neues Ticket für Ihren Benutzer zu erhalten: Geben Sie hier die Bildbeschreibung ein

  3. Sie sollten Ihr Ticket im Manager sehen: Geben Sie hier die Bildbeschreibung ein

    8. Jetzt sollten Sie in der Lage sein, die Webseite zu öffnen, die authentifiziert werden muss: Geben Sie hier die Bildbeschreibung ein

D. Müller
quelle
Weitere Hilfe finden Sie hier: computer.help.inf.ed.ac.uk/kerberos-windows Sie verwenden einige andere Tools für 64-Bit-Windows-Computer, sollten jedoch auch mit MIT Kerberos funktionieren, wie oben erläutert. Für 32-Bit-Windows wird MIT Kerberos trotzdem empfohlen.
D. Müller
Mit anderen Worten, Sie sagen, dass das Ersetzen der Standard-Windows-Kerberos-Implementierung durch die heruntergeladene MIT-Implementierung das Problem selbst für Windows 10 behebt? Und warum ignoriert Windows 10 die krb5.iniDatei, egal wo man sie ablegt (zumindest scheint es auf meinem Computer so zu sein)?
Petr Bodnár