Назад | Перейти на главную страницу

Единый вход для интрасети с Apache и Linux MIT Kerberos

РЕДАКТИРОВАТЬ: РЕШЕНО! Смотрите мой ответ ниже.

Приветствую, я ищу способ выполнить единый вход в интрасеть следующим образом:

  1. Пользователь Linux входит в систему через графический интерфейс (например, GNOME).
  2. Он автоматически запрашивает TGT для своего имени пользователя из MIT Kerberos KDC.
  3. Тем или иным способом сервер Apache (который, как мы предположим, находится на том же сервере, что и KDC) получает информацию о том, что этот пользователь вошел в систему.
  4. Когда пользователь обращается к интрасети, ему автоматически предоставляется доступ к своим веб-приложениям.

Я не думаю, что видел такую ​​функциональность при поиске в сети. Я знаю, что существуют следующие возможности:

Любые предложения, критика и идеи приветствуются. Это для школьного проекта, чтобы продемонстрировать доказательство концепции, поэтому любая полезная информация более чем приветствуется. :)

Я нашел это!

Я следовал инструкциям на https://help.ubuntu.com/community/SingleSignOn (См .: «Установка приложения») для настройки веб-сервера Apache.

Вот мой httpd.conf [ОБРАЗ]:

Имя сервера www.eindwerk.lan

<Directory / var / www /> Параметры индексов FollowSymLinks MultiViews

   AllowOverride None
   Order allow,deny
   allow from all

  AuthType Kerberos

KrbMethodNegotiate on

KrbMethodK5Passwd на

  AuthName "Kerberos Login"
  KrbAuthRealm EINDWERK.LAN
  Krb5Keytab /etc/apache2/auth/apache2.keytab
  require valid-user

</ Каталог>

  1. Затем я настроил Mozilla Firefox на доверие моему внутреннему сайту (www.eindwerk.lan) [ОБРАЗ]:

    network.negotiate-auth.delegation-uris: eindwerk.lan

    network.negotiate-auth.trusted-uris: eindwerk.lan

  2. Сделать kinit в терминале. [ОБРАЗ]

  3. Перейдите на внутренний сайт: Теперь вы автоматически вошли в систему!

    Как это работает?

    • Mozilla Firefox выполняет обычный запрос HTTP / GET.
    • Apache отвечает с требованием авторизации HTTP / 401.
    • Mozilla Firefox отвечает только что полученным токеном Kerberos kinit. [ИЗОБРАЖЕНИЕ ЗАХВАТА WIRESHARK]
    • Происходит аутентификация Kerberos, и Apache отвечает HTTP / 200 OK.
  4. Сделать klist в терминале. Вы должны увидеть билет для веб-сервера! [ОБРАЗ]

  5. Сделать kdestroy в терминале. [ОБРАЗ]

  6. Аппаратное обновление (CTRL + F5) внутреннего сайта. Теперь вам будет предложено войти в систему! [ОБРАЗ]