Samba AD Kerberos PKINIT Failure
Hallo,
hoffentlich kann mir hier jemand helfen: Seit Monaten versuche ich eine Samba AD mit Kerberos, Zertifikaten und entsprechenden Smartcards ans Laufen zu bekommen. Aber es klappt nicht.
Schwierigkeit liegt darin das ich zusätzlich zum Root-CA auch Sub-CA verwenden will. Wenn ich nur die Root-CA verwende und eine Domain, dann klappt es. Ansonsten kommt bei der Kerberos-Auth mit Sub-CA jedes Mal: NT_STATUS_PKINIT_FAILURE und das dazugehörige normale Windows Event 4625.
Dem Client-PC sind beide CA-Zertifikate bekannt und im Zertifikatespeicher hinterlegt. Auf der Smartcard liegt das P12-Cert das auch Lokal mit OpenSSL einwandfrei verifiziert werden kann. Aber aus irgendeinem mir nicht bekannten Grund, wird, sobald eine Sub-CA/Intermediate im Spiel ist, die Authentifizierung abgelehnt. Im Login-Screen sagt er dann immer: Ihre Anmeldeinformationen konnten nicht überprüft werden.
Vom Client als auch vom DC, habe ich die Verbindung zur CRL überprüft, beide haben Zugriff. Hier die Config von Kerberos:
Hier die Config vom Samba-DC:
Wie man sehen kann, habe ich schon einiges durchprobiert und leider findet man durch reines Googlen nichts. Scheinbar wurde das noch nie probiert oder diejenigen machen irgendwas anders.
Jemand eine Idee?
Gruß
hoffentlich kann mir hier jemand helfen: Seit Monaten versuche ich eine Samba AD mit Kerberos, Zertifikaten und entsprechenden Smartcards ans Laufen zu bekommen. Aber es klappt nicht.
Schwierigkeit liegt darin das ich zusätzlich zum Root-CA auch Sub-CA verwenden will. Wenn ich nur die Root-CA verwende und eine Domain, dann klappt es. Ansonsten kommt bei der Kerberos-Auth mit Sub-CA jedes Mal: NT_STATUS_PKINIT_FAILURE und das dazugehörige normale Windows Event 4625.
Dem Client-PC sind beide CA-Zertifikate bekannt und im Zertifikatespeicher hinterlegt. Auf der Smartcard liegt das P12-Cert das auch Lokal mit OpenSSL einwandfrei verifiziert werden kann. Aber aus irgendeinem mir nicht bekannten Grund, wird, sobald eine Sub-CA/Intermediate im Spiel ist, die Authentifizierung abgelehnt. Im Login-Screen sagt er dann immer: Ihre Anmeldeinformationen konnten nicht überprüft werden.
Vom Client als auch vom DC, habe ich die Verbindung zur CRL überprüft, beide haben Zugriff. Hier die Config von Kerberos:
[libdefaults]
default_realm = TEST.EXAMPLE.DE
dns_lookup_realm = false
dns_lookup_kdc = true
pkinit_anchors = FILE:/var/lib/samba/private/tls/cacert.pem,/var/lib/samba/private/tls/interca.pem
# pkinit_pool= FILE:/var/lib/samba/private/tls/interca.pem
[appdefaults]
pkinit_anchors = FILE:/var/lib/samba/private/tls/cacert.pem,/var/lib/samba/private/tls/interca.pem
# pkinit_pool = FILE:/var/lib/samba/private/tls/interca.pem
[realms]
TEST.EXAMPLE.DE = {
default_domain = test.example.de
pkinit_require_eku = true
}
[domain_realm]
dc0 = TEST.EXAMPLE.DE
[kdc]
enable-pkinit = yes
pkinit_identity = FILE:/var/lib/samba/private/tls/dc0-cert.pem,/var/lib/samba/private/tls/secure/dc0-privkey.pem
pkinit_anchors = FILE:/var/lib/samba/private/tls/cacert.pem,/var/lib/samba/private/tls/interca.pem
# pkinit_pool = FILE:/var/lib/samba/private/tls/interca.pem
pkinit_revoke = FILE:/var/lib/samba/private/tls/interca.crl,/var/lib/samba/private/tls/rootca.crl
# pkinit_require_crl_checking = false
pkinit_principal_in_certificate = yes
pkinit_win2k = no
pkinit_win2k_require_binding = yes
Hier die Config vom Samba-DC:
# Global parameters
[global]
dns forwarder = 10.0.0.2
netbios name = DC0
realm = TEST.EXAMPLE.DE
server role = active directory domain controller
dns forwarder = 10.0.0.1
workgroup = TEST
idmap_ldb:use rfc2307 = yes
log level = 9
# log level = 1 auth_audit:3 auth_json_audit:3
tls enabled = yes
tls certfile = /var/lib/samba/private/tls/dc0-cert.pem
tls keyfile = /var/lib/samba/private/tls/secure/dc0-privkey.pem
tls cafile = /var/lib/samba/private/tls/cacert.pem
tls cafile = /var/lib/samba/private/tls/interca.pem
tls crlfile = /var/lib/samba/private/tls/rootca.crl
tls crlfile = /var/lib/samba/private/tls/interca.crl
tls dhparams file = /var/lib/samba/private/tls/dc0-dhparams.pem
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/test.example.de/scripts
read only = No
Wie man sehen kann, habe ich schon einiges durchprobiert und leider findet man durch reines Googlen nichts. Scheinbar wurde das noch nie probiert oder diejenigen machen irgendwas anders.
Jemand eine Idee?
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7846388228
Url: https://administrator.de/contentid/7846388228
Ausgedruckt am: 21.11.2024 um 21:11 Uhr
4 Kommentare
Neuester Kommentar
Dass in deiner smb.conf mehrfach "tls cafile" für die verschiedenen CAs auftaucht sieht nicht richtig aus.
Samba erwartet hier vermutlich nur genau eine Datei, die in umgekehrter hierarchischer Reihenfolge die CA-Zertifikate gesammelt enthält.
Gleiches gilt für das Certfile, wo du eventuell neben dem Serverzertifikat auch die Intermediates hineinwerfen musst.
Samba erwartet hier vermutlich nur genau eine Datei, die in umgekehrter hierarchischer Reihenfolge die CA-Zertifikate gesammelt enthält.
Gleiches gilt für das Certfile, wo du eventuell neben dem Serverzertifikat auch die Intermediates hineinwerfen musst.