Почему использование Kerberos вместо NTLM в IIS?

Даже в местах с 20 + администраторы и 12 + рабочий стол techs администраторы заканчивает тем, что делал поддержку настольных систем, когда вещи должны быть наращены. Человек, устанавливающий приложение, должен ожидать понимать их целое приложение и не, как запустить установщик и сделать несколько задач очистки.

Вы никогда полностью выходите из поддержки настольных систем как администратор. Всегда будут новые случайные вещи, которые повреждают и требуют внимания кого-то с лучшим пониманием того, что продолжается.

41
задан 2 April 2011 в 02:04
5 ответов

С точки зрения Windows только:

NTLM

  • работы и с внешними (недоменными) и с внутренними клиентами
  • работы с обеими учетными записями домена и локальным пользователем считают на ящике IIS
    • с помощью учетных записей домена только сервер требует прямой возможности соединения к контроллеру домена (DC)
    • с помощью локальных учетных записей Вам не нужна возможность соединения нигде :)
    • Вы не должны быть зарегистрированы как рассматриваемый пользователь для использования учетных данных
    • В стороне: дело не в этом редкий, чтобы DC был разбит занятым сервером NTLM (IIS, Exchange, TMG/ISA, и т.д.) с объемом запросов NTLM (для смягчения: MaxConcurrentAPI, AuthPersistSingleRequest (ложь), более быстрый DCS.) (Самосправочная премия.)
  • требует подключения клиента только к серверу IIS (на порте сайта, ничем ином. т.е. Все происходит по HTTP (или HTTPS).)
  • может пересечь любой прокси, поддерживающий Сообщения проверки активности HTTP
    • Вы можете использовать TLS/SSL для работы вокруг других
  • требует, чтобы несколько распространений в прямом и обратном направлениях прошли проверку подлинности с небольшими пакетами
    • (шаблон журнала 401.2, 401.1, 200 с именем пользователя),
  • не может использоваться в сценариях, где аутентификация двойного транзитного участка требуется
    • т.е. учетные данные пользователя должны быть переданы сервису на другой компьютер
  • поддерживает клиенты старшего возраста (<Win2000)
  • Восприимчиво к Подлинным несоответствиям Уровня LM (не соответствовавший lmcompatibilitylevel)
  • используется в качестве нейтрализации Согласовывать пакетом, если Обочина перестала работать.
    • (не, "если доступ запрещен с Обочиной", Обочина должна повредиться, чтобы NTLM использовался - обычно, это похоже на не получение билета. Если клиент получает билет, и это не прекрасно, который не вызывает нейтрализацию.)

Kerberos

  • работы с в настоящее время присоединяемыми доменом клиентами только
    • требует подключения клиента к AD DC (tcp/udp 88), И сервер (билеты получены клиентом от DC через порт Kerb и затем предоставлены серверу с помощью HTTP),
  • смогший, чтобы пересечь прокси, но видеть, что DC указывает выше: все еще необходимо быть в той же сети как активный DC, как делает сервер.

    • таким образом в теории, если у Вас был домен, в котором подключенные к Интернету клиенты болтали непосредственно к подключенному к Интернету DC, это осуществимо. Но не делайте этого, если Вы уже не знали это.
    • В обратных сценариях прокси (ISA/TMG) сервер перехода протокола должен быть в той сети, т.е. не клиенте..., но затем клиент не является действительно тем, делающим бит Kerberos (обязательно - думают автор Форм к переходу Обочины).
  • билет является долговечным (10-м) значением меньше коммуникации DC в течение времени жизни билета - и подчеркнуть: это могло сохранить тысячи к миллионам запросов на клиент за то время жизни - (AuthPersistNonNTLM все еще вещь; Kerberos проверка PAC раньше был вещью),

  • требует, чтобы единственное распространение в прямом и обратном направлениях прошло проверку подлинности, но размер полезной нагрузки аутентификации является относительно большим (обычно 6-16K) (401, {(закодированный) маркерный размер} 200)
  • может использоваться с (всегда ограничиваться), делегация для включения аутентификации Windows соединяющегося пользователя к следующему сервису
    • например, для разрешения UserA получить доступ к IIS и использовать ту же самую учетную запись пользователя, когда SQL Server доступов IIS, это - "делегация аутентификации".
    • (Ограниченный в этом контексте еще означает, "но ничто", например, Exchange или другое поле SQL),
  • в настоящее время основной пакет защиты для, Согласовывают аутентификацию
    • имеющие в виду участники домена Windows предпочитают его, когда они могут получить его
  • требует регистрации SPNs, который может быть хитрым. Правила та справка.
  • требует использования имени как цель, не IP-адреса
  • причины Обочина могли бы перестать работать:
    • использование IP-адреса вместо имени
    • никакой SPN не зарегистрирован
    • копируйте зарегистрированный SPNs
    • SPN зарегистрирован против неправильной учетной записи (KRB_ERR_AP_MODIFIED)
    • никакой клиент DNS / возможность соединения DC
    • клиентский прокси, устанавливающий / Локальная Зона Интранет, не используемая для целевого сайта

В то время как мы в нем:

Основной

  • может мультискачкообразно двинуться. Но делает так путем представления имени пользователя и пароля непосредственно к целевому веб-приложению
    • который может затем сделать что-либо, что это хочет с ними. Что-либо.
    • "О, Администратор домена просто использовал мое приложение? И я просто читал их электронную почту? Затем измените их пароль? Awww. Жалость"
  • безопасность транспортного уровня потребностей (т.е. TLS/SSL) для любой формы безопасности.
    • и затем, посмотрите предыдущую проблему
  • работы с любым браузером
    • (но посмотрите первый выпуск),
  • требует, чтобы единственное распространение в прямом и обратном направлениях прошло проверку подлинности (401, 200)
  • может использоваться в сценариях мультитранзитного участка, потому что Windows может выполнить интерактивный вход в систему с основными учетными данными
    • Возможно, нуждается LogonType быть настроенным для выполнения этого (думают значение по умолчанию, измененное на сетевой открытый текст между 2000 и 2003, но мог бы быть misremembering),
    • но снова, посмотрите первый выпуск.
    • Получение впечатления, что первый выпуск действительно, действительно важен? Это.

Подводя итоги:

Обочина может быть хитрой для установки, но существуют загрузки руководств (мой одно) там, что попытка упростить процесс и инструменты улучшилась значительно с 2003 до 2008 (SetSPN может искать дубликаты, который является наиболее распространенной проблемой повреждения; использовать SETSPN -S каждый раз, когда Вы видите руководство для использования-A, и жизнь будет более счастливой).

Ограниченное делегирование стоит стоимости подтверждения.

67
ответ дан 28 November 2019 в 19:43
  • Kerberos имеет репутацию быть более быстрым и большим количеством механизма безопасной аутентификации, чем NTLM.
  • Также исторически было легче соединиться с через прокси-серверы, чем NTLM, из-за основанной на соединении природы NTLM.
  • Тем не менее как Вы отмечаете, Kerberos более трудно разбудить и выполнение и требует соединения с AD, который не всегда практичен.

Другой подход должен был бы установить аутентификацию на negotiate и используйте обоих, а не один вместо другого.

10
ответ дан 28 November 2019 в 19:43

Kerberos требуется, если необходимо исполнить роль пользователя для доступа к ресурсам, которые не находятся на iis сервере.

1
ответ дан 28 November 2019 в 19:43

Из Microsoft Application Verifier , который обнаруживает типичные ошибки разработчиков. Одна из этих ошибок - использование NTLM :

NTLM - устаревший протокол аутентификации с недостатками, которые потенциально поставить под угрозу безопасность приложений и система. Самый главный недостаток - отсутствие сервера. аутентификация, которая может позволить злоумышленнику обмануть пользователей подключение к поддельному серверу. Как следствие отсутствия сервера аутентификации, приложения, использующие NTLM, также могут быть уязвимы для тип атаки, известный как атака «отражения». Последнее позволяет злоумышленник, чтобы перехватить диалог аутентификации пользователя с законный сервер и использовать его для аутентификации злоумышленника на компьютер пользователя. Уязвимости NTLM и способы их использования являются целью повышения исследовательской активности в сфере безопасности

Хотя Kerberos уже много лет доступен, многие приложения все еще написаны для использования только NTLM. Это без нужды снижает безопасность приложений. Однако Kerberos не может полностью заменить NTLM. сценарии - в основном те, в которых клиенту необходимо пройти аутентификацию для системы, которые не присоединены к домену (возможно, домашняя сеть самый распространенный из них). Пакет безопасности Negotiate позволяет компромисс с обратной совместимостью, который по возможности использует протокол Kerberos и возвращается к NTLM только тогда, когда нет другого варианта. Код переключения использование Negotiate вместо NTLM значительно увеличит безопасность для наших клиентов при небольшом или полном отсутствии приложений совместимость. Переговоры сами по себе - не серебряная пуля. это случаи, когда злоумышленник может принудительно перейти на NTLM, но это значительно труднее эксплуатировать. Однако одно немедленное улучшение состоит в том, что приложения, написанные для правильного использования Negotiate автоматически невосприимчивы к атакам отражения NTLM.

В качестве последнего слова предостережения против использования NTLM: в будущем версии Windows можно будет отключить использование NTLM в операционная система. Если приложения жестко зависят от NTLM они просто не смогут пройти аутентификацию, когда NTLM отключен.

9
ответ дан 28 November 2019 в 19:43

Вы должны добавить очень важный момент:

Kerberos был стандартным и открытым протоколом в Unix более 20 лет, тогда как NTLM - это чисто проприетарное решение от Microsoft, известное только Microsoft.

4
ответ дан 28 November 2019 в 19:43

Теги

Похожие вопросы