Как я могу проверить с клиентского компьютера (в глобальной группе) (также являющегося локальным администратором), аутентифицирует ли контроллер домена мой запрос на вход в домен с помощью 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.
Один из способов - проверить журнал событий безопасности контроллера домена на наличие событий с кодом 4624 (вход в систему), где 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