negotiate

___ tag123windowsauthentication ___ Die integrierte Windows-Authentifizierung ist ein mit Microsoft-Produkten verknüpfter Begriff, der sich auf die Authentifizierungsprotokolle SPNEGO, Kerberos und NTLM bezieht. Verwenden Sie das Tag generell mit Windows-Authentifizierung. Es kann jedoch am besten sein, eines der protokollspezifischen Tags (z. B. Kerberos oder NTLM) zu verwenden, wenn das verwendete Protokoll bekannt ist. ___ tag123ntlm ___ NTLM (NT LAN Manager) ist eine Suite von Microsoft-Sicherheitsprotokollen, die Benutzern Authentifizierung, Integrität und Vertraulichkeit bietet. ___ tag123windowssecurity ___ hilf uns dieses Wiki zu bearbeiten ___ tag123kerberos ___ Kerberos ist ein Single-Sign-On (SSO) -Netzwerkauthentifizierungsprotokoll, mit dem Knoten, die über ein nicht sicheres Netzwerk kommunizieren, ihre Identität gegenseitig auf sichere Weise nachweisen können. ___ qstnhdr ___ Windows-ausführbare Dateiauthentifizierung ___ qstntxt ___

Bei der Suche nach den Windows-Authentifizierungsmethoden und -protokollen habe ich entschieden, den genauen Unterschied zwischen Negotiate, Kerberos und NTLM, der in einer einfachen ausführbaren Datei verwendet wird, zu verstehen, bevor ich ihn mit IIS und der Web-Authentifizierung mag.

Ich habe gute Ergebnisse erreicht, ABER ich brauche noch mehr Details über die Negotiate und Kerberos.

Ich habe folgendes Szenario:

Ich habe sehr einfache C # Windows Forms-Anwendung erstellt, die ein Meldungsfeld zeigt den Wert für zeigt:

%Vor%

Beachten Sie, dass ich ein Domänenbenutzer mit Administratorrechten auf meinem lokalen Computer bin. Ich habe folgende Ergebnisse:

  1. Wenn ich die EXE-Datei (Doppelklick) ausführe, während ich aktiv mit dem DC verbunden bin, habe ich "Negotiate".

  2. Wenn ich die exe-Datei ausführe (als diffenet user / local user), während ich aktiv mit dem DC verbunden bin, habe ich "NTLM".

  3. Wenn ich die EXE-Datei mit "Als Administrator ausführen" oder "Als anderer Benutzer ausführen" starte, habe ich "Kerberos".

  4. Wenn ich die EXE-Datei ausführe, während ich lokal mit einem lokalen Benutzerkonto angemeldet bin, habe ich "NTLM".

Ich verstehe, dass die LSA NTLM für lokale Konten verwendet. Außerdem verstehe ich, dass Active Directory Kerberos verwendet, um Domänenbenutzer und Computer zu authentifizieren.

Meine Frage ist, warum ich den Negotiate Authentifizierungstyp erhalte, wenn ich die exe mit meinem Konto entweder mit (Doppelklick) oder "als anderer Benutzer ausführen" unter Verwendung meines gleichen Kontos ausführe.

Update: Ich habe folgendes bemerkt:

- Wenn lokaler Benutzer die exe ausführt, ist NTLM
- Wenn Domänenbenutzer die exe ausführt, ist Aushandeln (Wenn dieser Benutzer der lokale Administrator ist), ist aber Kerberos (wenn dieser Benutzer dies nicht tut) lokaler Administrator)
- Wenn Domänenadministrator die exe ausführt, ist Kerberos

Ich habe nur eine Erklärung über dieses Verhalten.

    
___ tag123nagiere ___ hilf uns dieses Wiki zu bearbeiten ___ answer36245482 ___

Zunächst einmal (was Sie in der Frage zu verstehen scheinen, aber nur um klar zu sein): Eine EXE hat keine Authentifizierung - es ist nur eine ausführbare Datei. Das OS erstellt ein Prozessobjekt , das es ausführt innerhalb einer Anmeldesitzung, die von einem Prinzipal identifiziert wird. Es ist dieser Prinzipal, der von NTLM oder Kerberos (oder einem anderen Protokoll) authentifiziert wurde.

Als Nächstes bedeutet Negotiate, dass beim Erstellen der Anmeldesitzung die %code% . Dies meldet Details der Anmeldesitzung, die zum Ausführen des Prozesses verwendet wird, den Sie ausführen. Die Art und Weise, in der diese Anmeldesitzung erstellt wurde, hat wahrscheinlich die größte Auswirkung auf das Authentifizierungspaket, das zum Überprüfen der Anmeldeinformationen verwendet wird.

Wenn Sie sich das erste Mal bei Windows anmelden, baut Winlogon.exe ein interaktives Tool auf Anmeldung durch Aufruf von LsaLogonUser . Es fragt die Authentifizierungspakete in %code% der Reihe nach ab, bis eine gefunden wird, die die angegebenen Anmeldeinformationen authentifizieren kann. Sobald eine interaktive Anmeldung eingerichtet wurde, können Sie neue Prozesse mit nicht interaktiven Anmeldungen unter verschiedenen Anmeldeinformationen erstellen, und in diesem Fall %code% Funktion wird wahrscheinlich aufgerufen. Einer der Parameter für diese Funktion ist %code% , der den folgenden Standardwert hat (der wahrscheinlich derselbe ist):

%Vor%

Das Paket, das für die Anmeldesitzung berichtet wird, in der der Prozess unter ausgeführt wird, hängt davon ab, wie die Anmeldesitzung erstellt wurde . (Es ist nicht klar aus Ihrer Frage genau, wie Sie die Anmeldesitzungen erstellen, die Sie testen ... tun "Ausführen als" in allen Fällen? Abmelden / Logon Windows in einigen Fällen?) Es hängt auch davon ab, welches Paket Winlogon konnte erfolgreich zuerst mit der interaktiven Anmeldesitzung authentifizieren. Beachten Sie jedoch, dass die Authentifizierungsmechanismen alle zu einem Authentifizierungspaket aufrufen, und wenn Negotiate verwendet wird, wird Kerberos bevorzugt, obwohl Negotiate das ist, was berichtet wird.

Hier ist ein altes, aber immer noch relevantes Diagramm, das zeigt, wie die gesamte Authentifizierung in Windows zusammenpasst:

Quelle

    
___
1
Antwort

Windows-ausführbare Dateiauthentifizierung

Bei der Suche nach den Windows-Authentifizierungsmethoden und -protokollen habe ich entschieden, den genauen Unterschied zwischen Negotiate, Kerberos und NTLM, der in einer einfachen ausführbaren Datei verwendet wird, zu verstehen, bevor ich ihn...
22.03.2016, 12:04