Настройка браузеров для SSO: различия между версиями
(не показана 1 промежуточная версия этого же участника) | |||
Строка 30: | Строка 30: | ||
== Настройка Chromium SSO == | == Настройка Chromium SSO == | ||
В файл {{path|/etc/chromium/policies/managed/policies.json}} добавить | В файл {{path|/etc/chromium/policies/managed/policies.json}} добавить строки: | ||
<syntaxhighlight lang="ini">{ | <syntaxhighlight lang="ini">{ | ||
"AuthServerAllowlist": "*.test.alt" | "AuthServerAllowlist": "*.test.alt" , | ||
"AuthNegotiateDelegateAllowlist": "*.test.alt" | |||
}</syntaxhighlight> | }</syntaxhighlight> | ||
Где '''.test.alt''' — имя | Где '''.test.alt''' — имя Kerberos области (realm). | ||
Для применения настроек необходимо перезапустить браузер. Результат применения параметров политики для Chromium можно проверить, указав в адресной строке URL: "chrome://policy". | Для применения настроек необходимо перезапустить браузер. Результат применения параметров политики для Chromium можно проверить, указав в адресной строке URL: "chrome://policy". | ||
Эти параметры могут быть распространены через [[Групповые_политики|групповые политики]] для [[Групповые_политики/Chromium|Chromium]] ( | [[Файл:Chromium-policies-sso.png|Настройка Chromium для SSO]] | ||
Эти параметры могут быть распространены через [[Групповые_политики|групповые политики]] для [[Групповые_политики/Chromium|Chromium]]: политики «Список разрешенных серверов для аутентификации» («Разрешить аутентификацию на серверах из списка») и «Список разрешенных серверов для делегирования прав по протоколу Kerberos» («Разрешить делегирование прав по протоколу Kerberos на серверах»). | |||
{{note|Для проверки работы аутентификации без изменения настроек браузера можно запустить браузер из командной строки, выполнив команду: | {{note|Для проверки работы аутентификации без изменения настроек браузера можно запустить браузер из командной строки, выполнив команду: | ||
<syntaxhighlight lang="bash">$ chromium-browser --auth-server-allowlist="*.test.alt"</syntaxhighlight>}} | <syntaxhighlight lang="bash">$ chromium-browser --auth-server-allowlist="*.test.alt"</syntaxhighlight>}} | ||
== Настройка «Яндекс.Браузера» == | |||
В файл {{path|/etc/opt/yandex/browser/policies/managed/policies.json}} добавить строки: | |||
<syntaxhighlight lang="ini">{ | |||
"AuthServerAllowlist": "*.test.alt", | |||
"AuthNegotiateDelegateAllowlist": "*.test.alt" | |||
}</syntaxhighlight> | |||
Где '''.test.alt''' — имя Kerberos области (realm). | |||
Для применения настроек необходимо перезапустить браузер. Результат применения параметров политики для «Яндекс.Браузера» можно проверить, указав в адресной строке URL: "browser://policy": | |||
[[Файл:Yandex-policies-sso.png|Настройка Яндекс Браузера для SSO]] | |||
Эти параметры могут быть распространены через [[Групповые_политики|групповые политики]] для [[Групповые_политики/Yandex|Yandex]] (политики «Разрешить аутентификацию на серверах из списка» и «Разрешить делегирование прав по протоколу Kerberos на серверах»). | |||
== Заключение == | == Заключение == |
Текущая версия от 17:59, 3 сентября 2024
Для работы прозрачной аутентификации (SSO) в браузерах необходимо произвести некоторые настройки.
Настройка Mozilla Firefox SSO
- в адресной строке ввести about:config, согласится с тем, что вы понимаете риск;
- в строке поиска ввести negotiate;
- найти параметр network.negotiate-auth.trusted-uris;
- указать в этом параметре имя kerberos области (realm): .test.alt;
В ряде случаев может потребоваться отредактировать еще несколько параметров:
- параметр network.automatic-ntlm-auth.trusted-uris выставить в kerberos realm: .test.alt;
- параметр network.negotiate-auth.delegation-uris выставить в kerberos realm: .test.alt;
- параметр 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",".test.alt");
pref("network.automatic-ntlm-auth.trusted-uris",".test.alt");
pref("network.automatic-ntlm-auth.allow-non-fqdn","true");
pref("network.negotiate-auth.allow-non-fqdn","true");
pref("network.negotiate-auth.delegation-uris",".test.alt");
Эти параметры могут быть распространены через групповые политики для Firefox:
- параметр network.negotiate-auth.trusted-uris — политика «SPNEGO»;
- параметр 'network.automatic-ntlm-auth.trusted-uris — политика «NTLM»;
- параметр network.negotiate-auth.delegation-uris — политика «Делегированная авторизация»;
- параметр network.automatic-ntlm-auth.allow-non-fqdn — политика «Разрешить неполное доменное имя (Non FQDN)»;
- параметр network.negotiate-auth.allow-non-fqdn — политика «Разрешить неполное доменное имя (Non FQDN)».
Настройка Chromium SSO
В файл /etc/chromium/policies/managed/policies.json добавить строки:
{
"AuthServerAllowlist": "*.test.alt" ,
"AuthNegotiateDelegateAllowlist": "*.test.alt"
}
Где .test.alt — имя Kerberos области (realm).
Для применения настроек необходимо перезапустить браузер. Результат применения параметров политики для Chromium можно проверить, указав в адресной строке URL: "chrome://policy".
Эти параметры могут быть распространены через групповые политики для Chromium: политики «Список разрешенных серверов для аутентификации» («Разрешить аутентификацию на серверах из списка») и «Список разрешенных серверов для делегирования прав по протоколу Kerberos» («Разрешить делегирование прав по протоколу Kerberos на серверах»).
$ chromium-browser --auth-server-allowlist="*.test.alt"
Настройка «Яндекс.Браузера»
В файл /etc/opt/yandex/browser/policies/managed/policies.json добавить строки:
{
"AuthServerAllowlist": "*.test.alt",
"AuthNegotiateDelegateAllowlist": "*.test.alt"
}
Где .test.alt — имя Kerberos области (realm).
Для применения настроек необходимо перезапустить браузер. Результат применения параметров политики для «Яндекс.Браузера» можно проверить, указав в адресной строке URL: "browser://policy":
Эти параметры могут быть распространены через групповые политики для Yandex (политики «Разрешить аутентификацию на серверах из списка» и «Разрешить делегирование прав по протоколу Kerberos на серверах»).
Заключение
Пробуем войти на сайт поддерживающий SSO под доменным пользователем.
В системе должен присутствовать рабочий kerberos билет.
Посмотреть билет можно с помощью программы Kerberos Ticket Watche или из командной строки:
$ klist
Ticket cache: KEYRING:persistent:500:500
Default principal: ivanov@TEST.ALT
Valid starting Expires Service principal
02.05.2023 17:20:18 03.05.2023 17:20:18 krbtgt/TEST.ALT@TEST.ALT