Wie stellen Sie fest, ob Active Directory Kerberos oder NTLM verwendet?

15

Gibt es ein Befehlszeilenprogramm, das Sie verwenden können?

LeWoody
quelle
Ich habe keinen Zugriff auf den Domänencontroller, nur auf andere Clients.
LeWoody
Laden Sie den Thunderbird-E-Mail-Client herunter und geben Sie Ihre Anmeldeinformationen ein. Thunderbird erkennt automatisch, ob Active Directory Kerberos oder NTLM verwendet.
Eric Leschinski

Antworten:

9

Ich denke, die Frage sollte auf den Kopf gestellt werden. Active Directory unterstützt sowohl Kerberos als auch NTLM. Windows versucht zuerst Kerberos und wenn nicht alle Anforderungen erfüllt sind, wird auf NTLM zurückgegriffen.

Ich werde Ihnen ein Beispiel geben, bei dem der Zugriff auf eine Dateifreigabe mit dem Namen \ server1 \ share Kerberos aufruft und bei entsprechender Berechtigung erfolgreich sein sollte. Der Zugriff auf dieselbe Dateifreigabe über die IP-Adresse würde jedoch zuerst Kerberos aufrufen und fehlschlagen (da es keinen SPN für die IP-Adresse gibt) und dann zu NTLM übergehen.

Stellen Sie also fest, wie Ihr Programm versucht, sich gegenüber AD zu authentifizieren und welches Protokoll verwendet wird.

Ich wäre gespannt, was Sie dazu veranlasst hat, diese Frage zu stellen.

KAPes
quelle
6

Sie können die Liste der aktiven Kerberos-Tickets anzeigen , um festzustellen, ob es einen für den Dienst von Interesse gibt, z . B. indem Sie klist.exe ausführen .

Es gibt auch eine Möglichkeit, Kerberos-Ereignisse zu protokollieren, wenn Sie die Registrierung hacken .

TonyUser
quelle
2

Sie sollten wirklich Anmeldeereignisse überwachen, unabhängig davon, ob der Computer ein Server oder eine Arbeitsstation ist. Es ist hilfreich, herauszufinden, welche Benutzer auf Ihr System zugreifen, und sicherheitsrelevante Probleme zu beheben.

Sie können Ihre Überwachungsrichtlinie mit Gruppenrichtlinien ändern: Start ... Ausführen ... gpedit.msc ... Computerkonfiguration, Windows-Einstellungen, Sicherheitseinstellungen, Lokale Richtlinien, Überwachungsrichtlinie, "Anmeldeereignisse überwachen". Aktivieren Sie die Kontrollkästchen "Erfolgreich" und "Fehlgeschlagen". Melden Sie sich ab und wieder an, um einige typische 540-Ereignisse in Ihrem Windows-Sicherheitsereignisprotokoll anzuzeigen.

Eric H
quelle
0

Netstat zeigt alle empfangsbereiten TCP- und UDP-Verbindungen an. Verwenden der Option -na gilt für alle Verbindungen und keine Auflösung von Namen oder Ports. Die Option 'b' zeigt das zugehörige Programm an. Wenn DNS ausgeführt wird, werden möglicherweise viele andere Verbindungen angezeigt, sodass Sie möglicherweise auch TCP angeben möchten.

Kerberos wird auf jeden Fall ausgeführt, wenn es sich um einen Active Directory-Domänencontroller handelt.

netstat -nab

Jason B Shrout
quelle
The requested operation requires elevation.
Amit Naidu
0

Angenommen, Sie überwachen Anmeldeereignisse, überprüfen Sie Ihr Sicherheitsereignisprotokoll und suchen Sie nach 540 Ereignissen. Sie erfahren, ob eine bestimmte Authentifizierung mit Kerberos oder NTLM durchgeführt wurde.

Boden
quelle
Ich habe keine 540 Ereignisse :(
LeWoody
0
 public string FindAllUsers()
        {
            string strReturn="";
            try
            {
                DirectoryEntry directoryEntry = new DirectoryEntry("WinNT://" + Environment.UserDomainName);
                string userNames = "";
                string authenticationType = "";
                foreach (DirectoryEntry child in directoryEntry.Children)
                {
                    if (child.SchemaClassName == "User")
                    {
                        userNames += child.Name + Environment.NewLine; //Iterates and binds all user using a newline
                        authenticationType += child.Username + Environment.NewLine;
                    }
                }

                strReturn = userNames + "\n\n" + authenticationType;
                //Console.WriteLine("************************Users************************");
                //Console.WriteLine(userNames);
                //Console.WriteLine("*****************Authentication Type*****************");
                //Console.WriteLine(authenticationType);
            }
            catch (Exception)
            {
                Console.WriteLine("Network error occured.");
                strReturn = "";
            }
            return strReturn;
        }
user262211
quelle
4
Dies braucht viel mehr Erklärung, um nützlich zu sein.
Sven
0

Sie können dieses Tool ausprobieren. http://blog.michelbarneveld.nl/media/p/33.aspx

Dies ist ein Tool zum Testen der Authentifizierung auf Websites. Es wird angezeigt, welcher Authentifizierungstyp verwendet wird: Kerberos, NTLM, Basic, None. Es werden aber auch andere Informationen angezeigt, z. B .: Verwendeter SPN, HTTP-Header, entschlüsselte NTLM- und Kerberos-Autorisierungsheader. Außerdem können Ihre Kerberos-Tickets angezeigt und gelöscht werden.

Davis
quelle
-1

Hängt vom beteiligten Client / Server ab. Zum Beispiel gibt es eine Webseite (Entschuldigung, ich habe jetzt keine Zeit, danach zu suchen), die Sie auf eine Website stellen können, auf der angegeben wird, ob Kerberos oder NTLM verwendet wurde. Ich weiß jedoch nicht, welche Authentifizierungsmethode SQL Server verwendet hat. Das Sicherheitsprotokoll kann, wie bereits erwähnt, Aufschluss darüber geben.
Warum versuchst du es herauszufinden?

pipTheGeek
quelle