Firefox kerberos authentication linux

Настройка Kerberos-аутентификации для Linux

Настройки kerberos-аутентификации под Linux отличаются в зависимости от дистрибутива. В таблице представлены пакеты, которые необходимо установить для настройки аутентификации.

RHEL/ CentOS/ Fedora Debian/ Ubuntu/ Astra Alt
krb5-workstation
krb5-libs
krb5-pkinit
pam_krb5
sssd-krb5
sssd-krb5-common
gssntlmssp
krb5-user
krb5-config
krb5-pkinit
sssd-krb5
sssd-krb5-common
gss-ntlmssp
krb5-kinit
pam_krb5
sssd-krb5
sssd-krb5-common
gssntlmssp

Настройка подключения к серверу Kerberos

Чтобы настроить подключение к серверу Kerberos, внесите изменения в файл «/etc/krb5.conf»:

  1. В секции [libdefaults] укажите:
    • allow_weak_crypto = true
    • default_ccache_name = FILE:/home/%/krb5cc
    • default_tgs_enctypes = rc4-hmac
    • default_tkt_enctypes = rc4-hmac
    • permitted_enctypes = rc4-hmac
    • default_realm = название_домена_в_котором_находится_сервер_Kerberos_в_верхнем_регистре (например, default_realm = V2016.TESTINFOMAXIMUM.COM )

    Примечания:

    1. Если на сервере Kerberos включено другое шифрование, тогда его нужно указать вместо rc4-hmac.
    2. Если это шифрование относится к стойким, то параметр allow_weak_crypto можно поставить в false.
    • имя_домена = имя_домена_в_верхнем_регистре
    • имя_домена_с_сточкой_впереди = имя_домена_в_верхнем_регистре
    • [domain_realm]
    • v2016.testinfomaximum.com = V2016.TESTINFOMAXIMUM.COM
    • .v2016.testinfomaximum.com = V2016.TESTINFOMAXIMUM.COM
    • kinit пользователь_под_которым_будем_входить_в_систему@домен_в_верхнем_регистре
    • kinit SuperUser@V2016.TESTINFOMAXIMUM.COM

    После ввода пароля создается билет Kerberos, по которому можно будет входить в систему. Билет имеет время жизни, которое можно установить в «krb5.conf» в секции [libdefaults] (например, ticket_lifetime = 24h) или при вызове kinit (добавив перед именем пользователя ключ -l от времени жизни). После истечения времени жизни билет необходимо пересоздавать командой kinit.

    При использовании стойких шифров сервер Kerberos (KDC) добавляет к паролю дополнительные символы («соль»). В качестве «соли» Kerberos использует имя домена, объединённое с именем сервера. Клиент Kerberos под Linux в качестве «соли» по умолчанию использует имя домена, объединённое с именем сотрудника, под которым необходимо залогиниться. Таким образом, при использовании стойкого шифрования не удаётся наладить связь между KDC и клиентом, так как пароли оказываются разными. Чтобы избежать данной проблемы, мы советуем задать в клиенте Kerberos шифрование rca4-hmac.

    Настройки браузеров

    Firefox

    Чтобы настроить браузер Firefox:

    1. На вкладке about:config найдите все параметры со словом negotiate.
    2. Установите в true:
      • network.negotiate-auth.allow-non-fqdn ;
      • network.negotiate-auth.allow-proxies ;
      • network.negotiate-auth.using-native-gsslib .
    3. В параметрах network.negotiate-auth.delegation-uris и network.negotiate-auth.trusted-uris введите имя компьютера, на котором запущен сервер, с точкой вначале. Например:
      • .base2016.v2016.testinfomaximum.com

    Active Directory в браузере FireFox не работает со встроенной библиотекой обработки GSS-API. Инструкция по решению данной проблемы представлена на странице Настройка Kerberos-аутентификации для Firefox.

    Chrome/Chromium

    Чтобы настроить браузеры Chrome/Chromium, в директории /etc/chromium/policies/managed (или /etc/chromium-browser/policies/managed) создайте json-файл с произвольным именем (например, kerberos.json):

    Этот файл настроен на принятие любых адресов для использования Kerberos. Можно заменить «*» на конкретное доменное имя сервера.

    Вход в систему

    После создания билета и настройки браузера вход в систему осуществляется через нажатие кнопки Войти с помощью Active Directory. При этом ни имя, ни пароль дополнительно не запрашиваются (запрос пароля происходит в процессе создания билета Kerberos).

    Источник

    Enabling Kerberos in Firefox for all users

    Users can enable Kerberos single sign-on (SSO) authentication using preference in their browser profile but it’s also possible to set the default for all Firefox users on the system.

    During my ApacheCon talk this year, one of the questions from the audience focused on Kerberos authentication in Web browsers, which needs to be explicitly enabled, and specifically how to do that for all users in the organization.

    User settings in about:config

    Firefox users may change the preferences of their profiles using Edit → Preferences , which in latest Firefox versions actually leads to about:preferences page. However, preferences related to the Negotiate HTTP authentication which is the mechanism used for GSS-API and Kerberos authentication are not here but in about:config page which lists all options in tabular form.

    The option we are looking for is network.negotiate-auth.trusted-uris . Users can set it to contain comma-separated list of domains or URL prefixes for which the Negotiate HTTP authentication should be attempted.

    1: Modifying trusted-uris value

    Modifying trusted-uris value

    2: The trusted-uris was set by user

    The trusted-uris was set by user

    For Kerberos it means that when accessing site matching the domain or URL and if the request is met with HTTP status 401 Unauthorized and HTTP response header WWW-Authenticate: Negotiate , the browser will check the Kerberos ticket cache and if it finds ticket-granting ticket for realm corresponding to the domain (check /etc/krb5.conf ), it will attempt to get service ticket for HTTP/ service. It then retries the request with the GSS-API data containing the service ticket, which the server verifies and authenticates the user. Or in simpler terms, the browser will use Kerberos authentication against servers that support it and that match the domain or URL prefix in the network.negotiate-auth.trusted-uris list, for example www.example.com.

    Changing the defaults

    When Firefox is started, it reads global preferences files from /usr/lib64/firefox/browser/defaults/preferences/ directory (on 32-bit systems, use /usr/lib/. ). To change the default for all users that will run Firefox on that system, run

    # echo 'pref("network.negotiate-auth.trusted-uris", ".example.com");' > /usr/lib64/firefox/browser/defaults/preferences/kerberos.js
    pref("network.negotiate-auth.trusted-uris", ".example.com");

    in some .js file in that directory. Configuration management will work and so will distributing that file packaged in rpm — check a .spec file which can be used to build configuration rpm for your organization.

    3: Modified default value

    Modified default value

    Note that the value .example.com is now marked as default. The user can still modify the value in their profile, to perhaps add additional domains, but if they Reset the value (right click on the line brings the menu), it will revert to this default value.

    Configuring with ipa-client-install

    In setups when the machine is being IPA-enrolled using ipa-client-install , it is possible to let it also configure the Firefox defaults using the mechanism described above. The option is called —configure-firefox and typical process would be:

    ipa$ ipa host-add --random client1.example.com -------------------------------- Added host "client1.example.com" -------------------------------- Host name: client1.example.com Random password: A5dGy0WlXK5E Password: True Keytab: False Managed by: client1.example.com
    client1# ipa-client-install -w A5dGy0WlXK5E --configure-firefox -U [. ] Firefox sucessfully configured. [. ] Client configuration complete.

    In Firefox default preference directory, file all-ipa.js will be created with the IPA domain configured as the trusted URI:

    /* Kerberos SSO configuration */ pref("network.negotiate-auth.trusted-uris", ".example.com");

    There are also additional network.negotiate-auth.* value configured in that file but they just repeat the defaults that are already there on latest Firefox versions.

    Jan Pazdziora

    Docs, tutorials

    Источник

    Настройка Kerberos-аутентификации для Linux

    Настройки kerberos-аутентификации под Linux отличаются в зависимости от дистрибутива. В таблице представлены пакеты, которые необходимо установить для настройки аутентификации.

    RHEL/ CentOS/ Fedora Debian/ Ubuntu/ Astra Alt
    krb5-workstation
    krb5-libs
    krb5-pkinit
    pam_krb5
    sssd-krb5
    sssd-krb5-common
    gssntlmssp
    krb5-user
    krb5-config
    krb5-pkinit
    sssd-krb5
    sssd-krb5-common
    gss-ntlmssp
    krb5-kinit
    pam_krb5
    sssd-krb5
    sssd-krb5-common
    gssntlmssp

    Настройка подключения к серверу Kerberos

    Чтобы настроить подключение к серверу Kerberos, внесите изменения в файл «/etc/krb5.conf»:

      В секции [libdefaults] укажите:

    default_ccache_name = FILE:/home/%/krb5cc 
    default_tgs_enctypes = rc4-hmac 
    default_tkt_enctypes = rc4-hmac 
    permitted_enctypes = rc4-hmac 
    default_realm = название_домена_в_котором_находится_сервер_Kerberos_в_верхнем_регистре 
    1. Если на сервере Kerberos включено другое шифрование, тогда его нужно указать вместо rc4-hmac.
    2. Если это шифрование относится к стойким, то параметр allow_weak_crypto можно поставить в false.
    • имя_домена = имя_домена_в_верхнем_регистре
    • имя_домена_с_сточкой_впереди = имя_домена_в_верхнем_регистре
    • [domain_realm]
    • v2016.testinfomaximum.com = V2016.TESTINFOMAXIMUM.COM
    • .v2016.testinfomaximum.com = V2016.TESTINFOMAXIMUM.COM
    kinit пользователь_под_которым_будем_входить_в_систему@домен_в_верхнем_регистре 

    После ввода пароля создается билет Kerberos, по которому можно будет входить в систему. Билет имеет время жизни, которое можно установить в «krb5.conf» в секции [libdefaults] (например, ticket_lifetime = 24h) или при вызове kinit (добавив перед именем пользователя ключ -l от времени жизни). После истечения времени жизни билет необходимо пересоздавать командой kinit.

    При использовании стойких шифров сервер Kerberos (KDC) добавляет к паролю дополнительные символы («соль»). В качестве «соли» Kerberos использует имя домена, объединённое с именем сервера. Клиент Kerberos под Linux в качестве «соли» по умолчанию использует имя домена, объединённое с именем пользователя, под которым необходимо залогиниться. Таким образом, при использовании стойкого шифрования не удаётся наладить связь между KDC и клиентом, так как пароли оказываются разными. Чтобы избежать данной проблемы, мы советуем задать в клиенте Kerberos шифрование rca4-hmac.

    Настройки браузеров

    Firefox

    Чтобы настроить браузер Firefox:

    1. На вкладке about:config найдите все параметры со словом negotiate.
    2. Установите в true:
    network.negotiate-auth.allow-non-fqdn 
    network.negotiate-auth.allow-proxies 
    network.negotiate-auth.using-native-gsslib 

    Active Directory в браузере FireFox не работает со встроенной библиотекой обработки GSS-API. Инструкция по решению данной проблемы представлена на странице Настройка Kerberos-аутентификации для Firefox.

    Chrome/Chromium

    Чтобы настроить браузеры Chrome/Chromium, в директории /etc/chromium/policies/managed (или /etc/chromium-browser/policies/managed) создайте json-файл с произвольным именем (например, kerberos.json):

    Этот файл настроен на принятие любых адресов для использования Kerberos. Можно заменить «*» на конкретное доменное имя сервера.

    Вход в систему

    После создания билета и настройки браузера вход в систему осуществляется через нажатие кнопки Войти с помощью Active Directory. При этом ни имя, ни пароль дополнительно не запрашиваются (запрос пароля происходит в процессе создания билета Kerberos).

    Источник

    Читайте также:  Astra linux fly astra update
Оцените статью
Adblock
detector