Почему Firefox продолжает согласовывать билеты на сервис Kerberos?

Я провел несколько тестов на Kerberos и обнаружил странное поведение, связанное с Firefox и Kerberos. У меня есть сервер под управлением Apache + mod_auh_kerb, который настроен для проверки учетных данных kerberos при обслуживании запросов от клиентов. Проверка подлинности Kerberos выполняется, и пользователь без действительных учетных данных отклоняется. Однако я не понимаю следующее:

Как только первый запрос сделан, TGS кэшируется на клиенте в /tmp/krb5ccXXXX, но захват сети показал, что firefox запрашивает TGS для каждого отдельного соединения. Поскольку мой билет службы кэшируется, то почему он не используется повторно для других запросов? Каждое соединение выглядит следующим образом:

client = GET index.html => сервер
клиент <= 401 требуется авторизация = сервер
клиент = TGS-REQ => KDC
...
клиент <= TGS-REP = KDC
client = GET index.html + kerberos payload => сервер
клиент <= 200 OK = сервер

Это не проблема конфигурации, поскольку Konqueror работает так, как ожидается.

Есть идеи?

Заранее спасибо.

PS: Это не такая большая проблема для запросов GET, но учтите, что данные загрузки на основе форм (POST) не следует отправлять дважды на сервер!!

1 ответ

Я не думаю, что есть проблема. Файлы в /tmp/ означают, что билет Kerberos кэшируется. Apache запрашивает авторизацию с каждым запросом и не применяет кеширование. Konqueror достаточно умен, чтобы выполнять собственное кэширование и автоматически отвечает правильным билетом.

Другие вопросы по тегам