Настройка браузеров для SSO: различия между версиями

Материал из ALT Linux Wiki
 
(не показана 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''' — имя kerberos области (realm).
Где '''.test.alt''' — имя Kerberos области (realm).


Для применения настроек необходимо перезапустить браузер. Результат применения параметров политики для Chromium можно проверить, указав в адресной строке URL: "chrome://policy".
Для применения настроек необходимо перезапустить браузер. Результат применения параметров политики для Chromium можно проверить, указав в адресной строке URL: "chrome://policy".


Эти параметры могут быть распространены через [[Групповые_политики|групповые политики]] для [[Групповые_политики/Chromium|Chromium]] (политика «[[Групповые_политики/Chromium#AuthServerAllowlist|Список разрешенных серверов для аутентификации]]»).
[[Файл: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;

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

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

  • параметр 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 для SSO

Эти параметры могут быть распространены через групповые политики для 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":

Настройка Яндекс Браузера для SSO

Эти параметры могут быть распространены через групповые политики для 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