Вопрос: Как я могу проверить, использует ли мой сайт IIS NTLM или Kerberos?


Как я могу проверить, использует ли мой сайт IIS NTLM или Kerberos? И как я могу изменить аутентификацию от Kerberos до NTLM? Я использую IIS 7.5.


8
2017-08-23 08:19


Источник




Ответы:


Из:

Определите, является ли HTTP-аутентификация NTLM или Kerberos
http://support.microsoft.com/kb/891032

[...] «Поскольку мы просматриваем эту трассировку, чтобы узнать, отправляет ли клиент информацию аутентификации, мы можем использовать сегменты TCP для отслеживания запросов HTTP GET и ответа от сервера. Вот фрагмент из фрейма, который отправляет информацию аутентификации из клиент:

23 4294967263.4294641621 LOCAL 00045A420DBC HTTP GET Request (от клиента, использующего порт 3135) 192.168.0.2 192.168.0.4 IP HTTP: запрос GET (от клиента, использующего порт 3135)   HTTP: метод запроса = GET   HTTP: унифицированный идентификатор ресурса = /webapplication1/webform1.aspx   HTTP: версия протокола = HTTP / 1.1   HTTP: Accept = image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, application / vnd.   HTTP: Accept-Language = ru-us   HTTP: Accept-Encoding = gzip, deflate   HTTP: User-Agent = Mozilla / 4.0 (совместимый; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR   HTTP: Host = alien   HTTP: Connection = Keep-Alive   HTTP: Авторизация = Переговоры TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAA 44 77 3D 3D 0D 0A 0D 0A AAADw == ....

«Что это говорит нам? Мы можем видеть, что заголовок авторизации установлен в« Negotiate », и мы можем видеть длинную строку символов, отправленных в этом заголовке. Этот ответ говорит нам, что клиент и сервер ведут переговоры о подключении NTLM. Мы знаем, что аутентификация NTLM используется здесь, потому что первый символ - это «T». Если это «Y», это будет Kerberos, Заголовок имеет значение «Negotiate» вместо «NTLM». Это не означает, что он будет использовать Kerberos или NTLM, но что он «проведет переговоры» с методом авторизации и сначала попробует Kerberos, если это возможно. Если он не может использовать Kerberos, он будет использовать NTLM. "

// if it is Negotiate...
if (String.Compare(Request.ServerVariables["HTTP_AUTHORIZATION"].Substring(10, 1), "Y", true) == 0)
{
    // we are using Kerberos
}
else
{
   // we are using NTLM
}

5
2017-10-19 01:15



Я получаю первые символы как oXcw, любая идея, что это значит? Может быть, более новая версия kerberos? - Mark Adamson


Если у вас есть доступ к вашему серверу IIS, ответ гораздо проще, чем проверка HTTP-трафика. Просто просмотрите конфигурацию модуля аутентификации сайта для проверки подлинности Windows.

  1. В диспетчере IIS
  2. Выберите свой сайт
  3. Нажмите модуль проверки подлинности
  4. Выберите Аутентификацию Windows
  5. Выберите поставщиков ...

IIS Manager > Site > Authentication module > Providers


3
2017-08-22 21:01





используйте код ниже на странице html / asp:

<%
    authType=UCase(Request.ServerVariables("AUTH_TYPE"))
    authHeader=Request.ServerVariables("HTTP_AUTHORIZATION")
    response.write " Authentication Method : " & authType & "<BR>"
    LenAuthHeader = len(authHeader)
    response.write " Protocol : "
    if Len(authType ) =0 then response.write " Anonymous" else if authType<>"NEGOTIATE" then response.write authType else if LenAuthHeader>1000 then response.write "Kerberos" else response.write "NTLM"
%> 

1
2017-10-18 21:31





Этот ответ не совсем завершен. Существует два способа подключения NTLM. Один из них - через метод WWW-аутентификации «NTLM»; другой - через переговоры. В переговорах используется GSSAPI, который, в свою очередь, может использовать различные механизмы; в Windows это включает как Kerberos, так и NTLM.

Wireshark может декодировать все это и быстро показать, что происходит, если вы не используете TLS. Если да, вы можете договориться, что Wireshark сможет расшифровать трафик TLS; это требует особых усилий.


0
2017-08-23 16:06





В заголовке запроса HTTP (вы можете видеть это из поджигатель, Хром Инструмент Devили обманщик) вы увидите что-то подобное, если вы используете NTLM

Авторизация:   NTLM = TlRMTVNTGD6XAAAAGAAYAG425qAAYABgAhgAAAAAAAABIAAAADgAOAEgAAAAYABgAVgAAAAAAAACeAAAABYKIogUBKAoAAAAPcwBpAG0AcABsAGkAcABOADMAUgBXAEsAVwBBAEwAVABFAFIAQQAzVtleqNj7HAAAAAAAAAAAAAAAAAAAAACW3g66aPaiileWScIYweBj6fs2iGY / TA3 =

На панели управления IIS вы можете пройти проверку подлинности и выбрать предпочитаемую вами аутентификацию.


0
2017-08-23 12:29



но нет, если переговоры используют NTLM - Aardvark