2

Предположим, что клиент хочет выполнить аутентификацию HTTP-прокси. Прокси-сервер настроен с использованием кеберосов и имеет явно имя службы HTTP/proxy.foo.bar, установленное в его конфигурациях. Как клиент узнает, какое имя службы запрашивает билет? Просит ли он запрос на доменное имя, которое он делает для запроса (в данном случае это proxy.foo.bar действительно), или он получает имя в последовательности аутентификации в ответе 407 в этом случае (что делает содержат переговорный вызов, но я просто не знаю, есть ли способ изучить его)?kerberos: как клиент знает имя службы для запроса билета?

Я пытаюсь отладить ошибки kerberos на прокси-сервере, который внезапно прекратил проверку подлинности клиентов. Дело в том, что, глядя в Wireshark, я вижу, что клиент запрашивает билет не для имени службы, настроенного на прокси (то же имя, которое ему поручено использовать), HTTP/proxy.foo.bar, но для имя, которое разрешает IP-адрес прокси, HTTP/host.foo.bar (ну, по крайней мере, это имя, которое разрешает прокси-сервер, может быть, хотя клиент получает его другой способ), а TGS просто не может найти один, таким образом, происходит ошибка.

+0

По умолчанию трастов Kerberos только * каноническое * записи DNS, которые могут быть проблемой (т.е. кто является то, что под паранджи ??) –

+0

В DNS, является ли IP-адрес, связанный с proxy.foo.bar и host.foo.bar тем же или другим? –

ответ

2

Итак, у вас есть два вопроса (вы не спросили, как на самом деле решить проблему, для этого потребуется больше деталей - см. Комментарии).

  1. Вы спросили "Прокси-сервер настроен с Kerberos, и имеет четко имя службы HTTP/proxy.foo.bar установлен в это конфига. Как клиенту знать, какие службы имен просить билет? "

A. Это очень похоже на это. Клиент отображает URL-адрес в веб-браузере или нажимает на гиперссылку. Он ищет IP-хост в домене DNS, который соответствует имени узла в URL-адресе. Затем он переходит на этот IP-хост, ища службу, определенную в URL-адресе, в этом случае это HTTP-служба. Если он получает вызов HTTP 401 Negotiate (это 401, а не 407) с веб-сервера, из-за того, что он защищен Kerberos, он переходит в свой KDC и запрашивает билет службы Kerberos для HTTP/proxy.foo.bar, zips back на proxy.foo.bar и представляет билет на этот хост для HTTP-сервиса, запущенного на нем. Хост проверяет этот билет, и если все хорошо, и клиентский веб-браузер отображает HTML. Вы видели билет на билет Kerberos, когда вы запускали klist на клиенте. У меня нет веб-ссылок для вас, это все с головы до ног.

  1. Вы также попросили «просить ли билет на доменное имя, он делает запрос (в данном случае это действительно proxy.foo.bar), или же он получит имя в последовательности аутентификации, в ответ 407 в этом случае (который содержит вызов для переговоров, но я просто не знаю, есть ли способ изучить его)?»

A. Ваш вопрос был немного трудно следовать, но если я правильно понять вас, ответ веб-клиент запрашивает билет в результате HTTP 401 Обсуди аутентификации вызов с веб-сервера (см. выше).

Там же многие диаграммы последовательности этого процесса в Интернете, в том числе здесь: http://www.zeroshell.org/kerberos/Kerberos-operation/

 Смежные вопросы

  • Нет связанных вопросов^_^