На этот вопрос уже есть ответ здесь:
Как я могу проверить с клиента машине (в глобальной группе) (также является локальным администратором), проверяет ли контроллер домена мой запрос на вход в домен с помощью NTLM или Kerberos?
Я знаю, что Kerberos включен по умолчанию, но администратор домена всегда может заставить клиентов для авторизации с другими протоколами. Поэтому я просто хочу быть уверенным, какой протокол они используют. Есть ли какие-либо методы проверки?
Любая помощь будет принята с благодарностью
Ответ Грега нормальный, но в вашем вопросе конкретно указано, что вы хотите проверить это с клиента, а не с контроллера домена. Так что я займусь этим.
Во-первых, включите ведение журнала Kerberos на вашем клиенте:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
LogLevel DWORD 0x1
После включения ведения журнала Kerberos войдите в систему и просмотрите журнал событий. Если вы используете Kerberos, вы увидите активность в журнале событий. Если вы передаете свои учетные данные и не видите никаких действий Kerberos в журнале событий, значит, вы используете NTLM.
Во-вторых, вы можете использовать утилиту klist.exe, чтобы увидеть ваши текущие билеты Kerberos. Это определенно поможет вам, если вы впервые аутентифицируетесь в службе, потому что вы получите новый билет ... но для последующих аутентификаций в той же службе вы можете повторно использовать один и тот же билет, поэтому klist.exe может
В-третьих, наблюдайте, как аутентификация происходит с помощью Wireshark.
Один из способов - проверить журнал событий безопасности контроллера домена на наличие событий с идентификатором 4264 (вход в систему), где AuthenticationPackageName - NTLM или Kerberos. Вы также должны убедиться, что на ваших контроллерах домена включен аудит и фиксируются ли необходимые события аудита.
Вы можете создавать собственные фильтры средства просмотра событий, чтобы упростить эту задачу, и фильтровать другие поля, такие как имя пользователя или имя рабочей станции:
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[EventData[Data[@Name="AuthenticationPackageName"] = "NTLM"] and System[(EventID=4624)]]</Select>
</Query>
</QueryList>
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[EventData[Data[@Name="AuthenticationPackageName"] = "Kerberos"] and System[(EventID=4624)]]</Select>
</Query>
</QueryList>
Вы можете заставить своего клиента использовать только один или другой, чтобы убедиться, что вы используете Kerberos (или NTLM, если вы предпочитаете это по какой-то причине).
У Microsoft есть руководство, которое может оказаться полезным. В нем рассказывается, как оценивать и ограничивать использование NTLM. Руководство по аудиту и ограничению использования NTLM