¿Hay un programa de línea de comandos que pueda usar?
¿Hay un programa de línea de comandos que pueda usar?
Respuestas:
Creo que la pregunta debería ser torcida en su cabeza. Active Directory es compatible con Kerberos y NTLM. Windows primero intentará Kerberos y si no se cumplen todos los requisitos, recurrirá a NTLM.
Le daré un ejemplo: acceder al recurso compartido de archivos por nombre como \ server1 \ share invocaría Kerberos y debería tener éxito si se le da el permiso adecuado. Pero acceder al mismo recurso compartido de archivos usando la dirección IP invocaría primero a Kerberos y fallaría (ya que no hay SPN para la dirección IP) y luego fallaría a NTLM.
Por lo tanto, determine cómo su programa intenta autenticarse contra AD y debería decirle qué protocolo se está utilizando.
Me gustaría saber qué fue lo que provocó que te hiciera esta pregunta.
Realmente debería auditar los eventos de inicio de sesión, ya sea que la computadora sea un servidor o una estación de trabajo. Es útil averiguar qué usuarios están accediendo a su sistema y solucionar problemas relacionados con la seguridad.
Puede modificar su Política de auditoría con la Política de grupo: Inicio ... Ejecutar ... gpedit.msc ... Configuración del equipo, Configuración de Windows, Configuración de seguridad, Políticas locales, Política de auditoría, "Auditar eventos de inicio de sesión". Marque las casillas de verificación "Éxito" y "Fracaso". Intente cerrar sesión e iniciar sesión para ver algunos eventos típicos de 540 en su Registro de eventos de seguridad de Windows.
Netstat muestra todas las conexiones de escucha TCP y UDP. El uso de la opción -na es para todas las conexiones y no hay resolución de nombres o puertos. La opción 'b' es mostrar el programa asistido con él. Si se está ejecutando DNS, puede mostrar muchas otras conexiones, por lo que es posible que también desee especificar TCP.
Kerberos se ejecuta más definitivamente si se trata de implementar un controlador de dominio de Active Directory.
netstat -nab
The requested operation requires elevation.
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;
}
Puedes probar esta herramienta. http://blog.michelbarneveld.nl/media/p/33.aspx
Esta es una herramienta para probar la autenticación en sitios web. Mostrará qué tipo de autenticación se utiliza: Kerberos, NTLM, básico, ninguno. Pero también muestra otra información como: SPN usado, encabezados HTTP, NTLM descifrado y encabezados de autorización Kerberos. Y también puede mostrar y eliminar sus tickets de Kerberos.
Depende del cliente / servidor que esté involucrado. Por ejemplo, hay una página web (lo siento, no tengo tiempo para buscarla ahora) que puede poner en un sitio web que le dirá si se utilizó kerberos o NTLM. Sin embargo, no conozco ninguna manera de saber qué método de autenticación ha utilizado el servidor SQL. Aunque como se ha sugerido anteriormente, el registro de seguridad puede indicarle.
¿Por qué estás tratando de averiguarlo?