Есть ли программа командной строки, которую вы можете использовать?
Думаю, вопрос следует перевернуть с ног на голову. Active Directory поддерживает как Kerberos, так и NTLM. Windows сначала попробует Kerberos, а если все требования не будут выполнены, она вернется к NTLM.
Я приведу вам пример, доступ к общему ресурсу по имени, например \ server1 \ share, вызовет Kerberos и должен быть успешным при наличии надлежащего разрешения. Но доступ к той же общей папке с использованием IP-адреса сначала вызовет Kerberos и завершится ошибкой (поскольку для IP-адреса нет SPN), а затем переключится на NTLM.
Итак, определите, как ваша программа пытается пройти аутентификацию в AD, и должна сообщить вам, какой протокол используется.
Мне было бы любопытно узнать, что побудило вас задать этот вопрос.
Вы можете просмотреть список активных билетов Kerberos, чтобы узнать, есть ли один для интересующей службы, например бегом klist.exe.
Также есть способ регистрировать события Kerberos, если вы взломаете реестр.
Вам действительно следует проводить аудит событий входа в систему, независимо от того, является ли компьютер сервером или рабочей станцией. Полезно выяснить, какие пользователи имеют доступ к вашей системе, и устранить проблемы, связанные с безопасностью.
Вы можете изменить свою политику аудита с помощью групповой политики: Пуск ... Выполнить ... gpedit.msc ... Конфигурация компьютера, Параметры Windows, Параметры безопасности, Локальные политики, Политика аудита, «Аудит событий входа в систему». Установите флажки «Успех» и «Ошибка». Попробуйте выйти и войти в систему, чтобы увидеть некоторые типичные события 540 в журнале событий безопасности Windows.
Netstat показывает все прослушиваемые TCP и UDP-соединения. использование опции -na предназначено для всех подключений и не разрешает имена или порты. Параметр «b» - показать связанную с ним программу. Если DNS работает, он может отображать множество других подключений, поэтому вы можете также указать TCP.
Kerberos наиболее точно работает, если это развернутый контроллер домена Active Directory.
netstat -nab
Предполагая, что вы проводите аудит событий входа в систему, проверьте журнал событий безопасности и найдите 540 событий. Они сообщат вам, была ли выполнена конкретная проверка подлинности с помощью Kerberos или NTLM.
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;
}
Вы можете попробовать этот инструмент. http://blog.michelbarneveld.nl/media/p/33.aspx
Это инструмент для проверки аутентификации на веб-сайтах. Он покажет, какой тип аутентификации используется: Kerberos, NTLM, basic, none. Но он также показывает другую информацию, такую как: используемое SPN, заголовки HTTP, расшифрованные заголовки авторизации NTLM и Kerberos. И он также может отображать и удалять ваши билеты Kerberos.
Зависит от задействованного клиента / сервера. Например, есть веб-страница (извините, у вас нет времени искать ее сейчас), которую вы можете разместить на веб-сайте, который сообщит вам, использовался ли Kerberos или NTLM. Однако я не знаю, как определить, какой метод аутентификации использовал SQL-сервер. Хотя, как и предполагалось ранее, журнал безопасности может вам сказать.
Почему вы пытаетесь узнать?