Настройка браузеров для SSO

Материал из ALT Linux Wiki

Для работы прозрачной аутентификации (SSO) в браузерах необходимо произвести некоторые настройки.

Настройка Mozilla Firefox SSO

  • В адресной строке вводим about:config, соглашаемся с тем, что мы понимаем риск
  • В строке поиска вводим negotiate
  • Находим параметр network.negotiate-auth.trusted-uris
  • Указываем в этом параметре имя нашей kerberos области (realm): .mydomain.ru

В ряде случаев потребуется отредактировать еще несколько параметров:

  • Параметр network.automatic-ntlm-auth.trusted-uris также выставляем в kerberos realm .mydomain.ru
  • Параметр network.negotiate-auth.delegation-uris также выставляем в kerberos realm .mydomain.ru
  • Параметр network.automatic-ntlm-auth.allow-non-fqdn выставляем в true
  • Параметр network.negotiate-auth.allow-non-fqdn выставляем в true

Также можно создать файл /usr/lib64/firefox/browser/defaults/preferences/prefs.js со следующим содержимым:

pref("network.negotiate-auth.trusted-uris",".aorti.ru, .k-tech.ru");
pref("network.automatic-ntlm-auth.trusted-uris",".aorti.ru, .k-tech.ru");
pref("network.automatic-ntlm-auth.allow-non-fqdn","true");
pref("network.negotiate-auth.allow-non-fqdn","true");
pref("network.negotiate-auth.delegation-uris",".aorti.ru");

Настройка Chromium SSO

Создать каталог:

# mkdir -p /etc/chromium/policies/managed/

В ней создать файл mydomain.json следующего содержания:

{ 
    "AuthServerWhitelist": "*.mydomain.ru" 
    "AuthNegotiateDelegateAllowlist": "*.mydomain.ru"
}

Где .mydomain.ru - имя kerberos области (realm).

Заключение

Пробуем войти на сайт поддерживающий SSO под доменным пользователем.
В системе должен присутствовать рабочий kerberos билет.
Посмотреть билет можно с помощью программы Kerberos Ticket Watcher.
Так же можно посмотреть из командной строки:

$ klist
Ticket cache: KEYRING:persistent:500:500
Default principal: user@IPA.EXAMPLE.TEST

Valid starting       Expires              Service principal
15.06.2017 10:20:18  16.06.2017 10:20:18  krbtgt/IPA.EXAMPLE.TEST@EXAMPLE.TEST