KDM und SSH erkennen unterschiedliche vollqualifizierte Domänennamen bei Verwendung der Kerberos-Authentifizierung

KDM und SSH erkennen unterschiedliche vollqualifizierte Domänennamen bei Verwendung der Kerberos-Authentifizierung

Ich versuche, Kerberos-Anmeldeunterstützung (Windows AD-Domäne stellt Kerberos bereit) für Kubuntu 12.04 Linux-Arbeitsstationen in meiner Firma einzurichten.

Es funktioniert fast vollständig, aber ich kann Kerberos nicht gleichzeitig für Maschinenanmeldungen (über KDM) und SSH zum Laufen bringen. Das Problem scheint zu sein, dass KDM die vollqualifizierte Domäne des Hosts als Hostname.Domäne erkennt und SSH die vollqualifizierte Domäne als Hostname.Domäne erkennt (beachten Sie das Fehlen eines abschließenden .).

Das Fehlen oder Vorhandensein von . am Ende der Domäne, die in den Kerberos-Anfragen verwendet wird, reicht aus, damit die Ticket-Anfrage mit dem Fehler „Server nicht in Kerberos-Datenbank gefunden“ fehlschlägt. Wenn ich /etc/hosts aktualisiere, um den vollqualifizierten Hostnamen als Hostname.Domäne zu haben, und der Domäne mit Samba beitrete, funktionieren KDM-Anmeldungen mit Kerberos korrekt, aber SSH-Anmeldungen schlagen fehl. Wenn ich /etc/hosts aktualisiere, um den Host als Hostname.Domäne zu haben, funktionieren SSH-Anmeldungen mit Kerberos, aber die KDM-Anmeldung schlägt fehl.

Ich bin ein wenig ratlos, warum die beiden Dienste den vollqualifizierten Domänennamen unterschiedlich erkennen. Ich habe ausführlich gesucht und keinen Hinweis darauf gefunden, dass sonst noch jemand dieses Problem hat, und auch keine Option, einen der Dienste zu zwingen, seine Domänennamen unterschiedlich zu erkennen.

Technische Details

Die Verwendung von Kubuntu 12.04 ist eine technische Anforderung, auf die ich keinen Einfluss habe. Ein Upgrade auf eine neuere Distribution ist daher zum jetzigen Zeitpunkt keine Option.

pam_krb5 wird verwendet, um die Kerberos-Authentifizierung über pam bereitzustellen. Der verwendete DNS ist nicht der Windows-DNS (DNS-Server können nicht gewechselt werden, bis weitere Arbeiten an anderer Infrastruktur abgeschlossen sind). Daher stammen die wichtigsten Details für den Samba-Kerberos-Beitritt zur Domäne aus /etc/hosts, das ungefähr so ​​aussieht:

127.0.0.1 hostname.domain.  hostname  localhost

(der verwendete Unix-DNS-Server verfügt jedoch über korrekte Forward- und Reverse-DNS-Einträge für die Hosts)

/etc/krb5.conf (das ist meistens die Standardeinstellung der Distribution mit den eingegebenen Domänendetails und Servern)

[libdefaults]
default_realm = DOMAIN
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
# samba 3 didn't like the default enc type so overridden to ones it supported
default_tkt_enctypes = arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc
default_tgs_enctypes = arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc

[realms]
DOMAIN = {
kdc = dc01.domain
kdc = dc02.domain
admin_server = dc01.domain
}
[domain_realm]
.domain = DOMAIN

[login]
krb4_convert = true
krb4_get_tickets = false

/etc/samba/smb.conf (wird nur für den Domänenbeitritt verwendet)

[global]
security = ads
realm = WETAFX.CO.NZ
workgroup = WETAFX.CO.NZ

kerberos method = secrets and keytab

client signing = yes
client use spnego = yes

server string = %h server (Samba, Ubuntu)
dns proxy = no
log file = /var/log/samba/log.%m

max log size = 1000

syslog = 0

panic action = /usr/share/samba/panic-action %d

pam wise /etc/pam.d/kdm enthält nur die allgemeinen pam-Dateien, die die Standardeinträge pam_krb5.so enthalten, wie

auth sufficient pam_krb5.so minimum_uid=1000

die grundsätzlich direkt aus den Manpages für pam_krb5.conf übernommen werden

die ssh config hat

 GSSAPIAuthentication yes

und der Rest ist die standardmäßige Ubuntu-SSH-Konfigurationsdatei.

Vielen Dank für alle Hinweise, was diese Nichtübereinstimmung in der erkannten vollqualifizierten Domäne zwischen den Diensten verursacht.

Antwort1

Ich glaube, ich habe herausgefunden, was hier vor sich ging. Es sieht so aus, als ob zusätzliche Informationen in der Keytab-Datei gespeichert wurden, nachdem der Host mit/ohne . am Ende der Domäne beigetreten war, und daher kam das seltsame Verhalten.

Nachdem ich /etc/krb5.keytab gelöscht und den Domänenbeitritt erneut ausgeführt hatte, wurde ein neuer Keytab erstellt, der immer nur mit dem Domänennamen ohne den . am Ende konfiguriert worden war. Zu diesem Zeitpunkt funktionierten sowohl KDM als auch SSH ordnungsgemäß mit Kerberos.

verwandte Informationen