Kerberos-Authentifizierung für Arbeitsstationen, die sich nicht in der Domäne befinden

8

Ich habe ein grundlegendes Verständnis der Funktionsweise von Kerberos in einer Active Directory-Umgebung und der Methoden zur Authentifizierung von Benutzern und Arbeitsstationen im Netzwerk. Meine Frage lautet jedoch: Kerberos ist darauf angewiesen, ein Sicherheitstoken auszustellen, auf das der Endbenutzer dann zugreift Wie können Systeme (Laptops), die sich nicht in der Domäne befinden, nur mit dem Benutzernamen und dem Kennwort eines Active Directory-Benutzers auf dieselben Netzwerkressourcen zugreifen?

Ich denke, es wäre sinnvoller, wenn Kerberos nur die Benutzeranmeldeinformationen verwendet und ein Sicherheitstoken generiert und an das System ausgibt. Es scheint jedoch, dass dort mehr Sicherheit vorhanden sein sollte, um zu verhindern, dass ein Nichtdomänensystem auf Netzwerkressourcen zugreift.

Wenn mich jemand aufklären könnte, würde ich es schätzen!

Eric
quelle
Dumme Frage ... bei Verwendung von Kerberos in einer Active Directory-Umgebung ... muss NTLM aktiviert sein? Ich bin mir nicht ganz sicher, ob es deaktiviert werden kann, aber ich habe auf der Wiki-Seite festgestellt, dass joeqwerty mit verlinkt ist, dass Microsoft die Verwendung nicht empfiehlt.
Eric
Wenn Sie zu einem Server navigieren, der nicht nach Namen benannt ist (z. B. \\ 10.12.181.29), greifen Sie auf NTLM zurück. weil Kerberos von den Namen der Server abhängt, die mit ihrem Zertifikat übereinstimmen.
Ian Boyd

Antworten:

5

Wie können Systeme (Laptops), die sich nicht in der Domäne befinden, nur mit dem Benutzernamen und dem Kennwort eines Active Directory-Benutzers auf dieselben Netzwerkressourcen zugreifen?

Dies hängt davon ab, um welche "Netzwerkressourcen" es sich handelt. Auf einem Windows-Computer mit Domänenbeitritt, bei dem Sie angemeldet sind, sind mindestens zwei Client-Kerberos-Identitäten im Spiel:

  • Sie, Benutzer @ DOMAIN
  • der Computer, Workstation $ @ DOMAIN

Es gibt auch Host / Workstation @ DOMAIN, aber das ist im Allgemeinen die Identifizierung eines Dienstes, der auf dem Host ausgeführt wird und von einem anderen Ort aus aufgerufen wird. Wenn ein privilegierter Prozess auf dem Host etwas tun möchte - beispielsweise seinen Namen mithilfe von Kerberos-authentifiziertem dynamischem DNS zu DNS hinzufügen -, verwendet er dazu seine Identität, Workstation $ @ DOMAIN. Wenn Sie in Ihrer Anmeldesitzung jedoch selbst auf eine Ressource zugreifen - beispielsweise auf eine CIFS-Netzwerkfreigabe oder eine authentifizierte HTTP-URL -, ist die Clientidentität Ihr Hauptname user @ DOMAIN (Anmeldeinformationen, die für Sie mithilfe der automatisch erfasst werden Passwort, das Sie eingegeben haben, um sich anzumelden). Aus Ihrer Frage geht hervor, dass es sich um eine Kombination handelt. es ist nicht, sie sind getrennt.

Aus diesem Grund ist es kein Problem, mit Kerberos von anderen Plattformen aus auf Windows-basierte Ressourcen zuzugreifen. Sie können auch "kinit user" in eine Linux-Box eingeben, Ihr Kennwort eingeben, um einen Kerberos-Berechtigungsnachweis (TGT) von einem Domänencontroller abzurufen, und dann mit Firefox auf eine von Kerberos authentifizierte Webseite in IIS zugreifen. Die Protokolle für all dies sind Standard und Sie benötigen nichts außer Ihren Benutzeranmeldeinformationen.

In einer früheren Antwort wurde behauptet, dass in diesem Fall NTLM erforderlich ist. das ist falsch (obwohl es sicherlich verwendet werden kann). Wenn Sie jedoch von einem Computer außerhalb der Domäne auf eine Ressource zugreifen und zur Eingabe Ihres Benutzernamens und Kennworts aufgefordert werden, wissen Sie nicht unbedingt, welche Authentifizierungsmethode tatsächlich verwendet wird. Möglicherweise wird Kerberos verwendet. Es kann auch einfach auf einen kennwortbasierten Mechanismus zurückgreifen, bei dem Ihr Benutzername und Ihr Kennwort zur Überprüfung an den Server gesendet und dann Ihr Kennwort zwischengespeichert werden, damit Sie es nicht erneut eingeben müssen. Viele Protokolle ermöglichen beides über Abstraktionsschemata wie SASL. Sie müssten auf den Draht schauen, um zu sehen, was los ist.

Richard E. Silverman
quelle
Wenn Kerberos verwendet wurde, können Sie anschließend das zwischengespeicherte Serviceticket mit dem Befehl "klist" anzeigen. Wenn Sie Zugriff erhalten haben, ohne dass ein Serviceticket zwischengespeichert wird, haben Sie wahrscheinlich stattdessen NTLM verwendet. Um wirklich zu bestätigen, dass Sie Kerberos verwendet haben, müssen Sie wahrscheinlich NTLM deaktivieren (falls Windows nach Erhalt eines Servicetickets immer noch von Kerberos auf NTLM zurückgreifen kann).
Markus Kuhn
1

Im Folgenden finden Sie Anweisungen zur Authentifizierung bei einem Samba-Server mit Kerberos von einem Windows 7/10-Client (möglicherweise anderen). Ich habe nicht für andere Versionen von Client und Server getestet:

Auf dem Windows-Client "Als Administrator ausführen" cmd.exe. Geben Sie dann diesen Befehl ein, um Windows Kenntnisse über den Kerberos-Domänencontroller (KDC) für das Kerberos REALM.COM zu vermitteln.

Wenn sich die KDC in DNS befinden:

ksetup /addkdc REALM.COM

Andernfalls:

ksetup /addkdc REALM.COM kdc01.realm.com

(Geben Sie weitere KDCs für den Bereich REALM.COM ein, falls vorhanden. Sie können auch andere Bereiche in beiden Stilen hinzufügen.)

Verwenden Sie dann den Explorer, um auf die interessierende Netzwerkfreigabe zuzugreifen. (ZB \\samba.realm.com\sharein der Adressleiste.) Eine Kennwortabfrage wird geöffnet, wenn die Freigabe geschützt ist.

Sie müssen den Bereich im Benutzernamen angeben. Dies kann entweder wie [email protected]oder erfolgen REALM.COM\user.

Geben Sie dann das Passwort ein.

Leckdrache
quelle
0

Ich kenne mindestens ein System, das Kerberos verwenden kann, das von Nicht-Domänen-Workstations aus funktioniert. Der Name dieser Anwendung lautet "SAP NETWEAVER Portal". Ich habe ein Netzwerk-Sniffing für Workstation und Kommunikation durchgeführt, als ich mich bei der Webanwendung anmeldete, die sich zwischen Workstation und Domänencontrollern befindet. Zuvor wurde eine DNS-Abfrage für srv _krb-Datensätze der Domäne durchgeführt, die ich an das Feld Benutzername übergeben habe (es muss das FQDN-Domänenformat sein, z. B. mydomain.local \ myusername). Danach treten einige Kerberos-Frames auf.

KatTer
quelle