Existe um programa de linha de comando que você pode usar?
Existe um programa de linha de comando que você pode usar?
Respostas:
Eu acho que a pergunta deve estar distorcida. O Active Directory suporta Kerberos e NTLM. O Windows tentará primeiro o Kerberos e, se todos os requisitos não forem atendidos, ele fará o fallback para o NTLM.
Vou dar um exemplo: acessar o compartilhamento de arquivos por nome como \ server1 \ share chamaria o Kerberos e deve ser bem-sucedido, com a permissão adequada. Mas acessar o mesmo compartilhamento de arquivos usando o endereço IP invocaria o Kerberos primeiro e falharia (como não há SPN para o endereço IP) e, em seguida, efetuaria o failover para o NTLM.
Portanto, determine como o seu programa está tentando se autenticar no AD e informe qual protocolo está sendo usado.
Gostaria de saber o que levou a fazer essa pergunta.
Você realmente deve auditar eventos de logon, se o computador é um servidor ou estação de trabalho. É útil descobrir quais usuários estão acessando seu sistema e solucionar problemas relacionados à segurança.
Você pode modificar sua Diretiva de auditoria com a Diretiva de Grupo: Iniciar ... Executar ... gpedit.msc ... Configuração do computador, Configurações do Windows, Configurações de segurança, Diretivas locais, Diretiva de auditoria, "Eventos de logon de auditoria". Marque as caixas de seleção "Sucesso" e "Falha". Tente fazer logoff e logon para ver alguns eventos 540 típicos no log de eventos de segurança do Windows.
O Netstat mostra todas as conexões TCP e UDP de escuta. usar a opção -na é para todas as conexões e sem resolução de nomes ou portas. A opção 'b' é mostrar o programa associado a ele. Se o DNS estiver em execução, ele poderá mostrar muitas outras conexões, portanto, você também pode especificar o TCP.
O Kerberos está em execução mais definida se for um implante do Controlador de Domínio 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;
}
Você pode tentar esta ferramenta. http://blog.michelbarneveld.nl/media/p/33.aspx
Esta é uma ferramenta para testar a autenticação em sites. Ele mostrará que tipo de autenticação é usado: Kerberos, NTLM, básico, nenhum. Mas também mostra outras informações como: SPN usado, cabeçalhos HTTP, NTLM descriptografados e cabeçalhos de autorização Kerberos. E também pode mostrar e excluir seus tíquetes Kerberos.
Depende do cliente / servidor envolvido. Por exemplo, há uma página da Web (desculpe, não tenha tempo para procurá-la agora) que você pode colocar em um site que informará se o Kerberos ou NTLM foi usado. No entanto, não sei como saber qual método de autenticação o SQL Server usou. Embora como sugerido anteriormente, o log de segurança pode informar.
Por que você está tentando descobrir?