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