SASL-аутентификация в TERA

Настройка SASL-аутентификации

Информация о работе аутентификации в TERA приведена в подразделе Аутентификация подключений к TERA в ОС Linux.

Для основной настройки SASL-аутентификации следует:

  • проверить наличие установленных пакетов sasl2-bin, libsasl2-2, libsasl2-modules, libsasl2-modules-gssapi-mit, gssproxy. Если пакеты не найдены, то установить их:

sudo apt install sasl2-bin libsasl2-2 libsasl2-modules libsasl2-modules-gssapi-mit gssproxy
  • выполнить настройку службы saslauthd:

    • убедиться, что в файле /etc/default/saslauthd установлены параметры:

      MECHANISMS="pam"
      START=yes
      OPTIONS="-r -c -m /var/run/saslauthd"

      Ключ -r в секции OPTIONS объединяет домен (realm) с логином пользователя через разделитель - @. Например, при значении логина - user, а домена - local будет передано: user@local.

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

      При использовании имени пользователя в формате sAMAccountName (без доменной части) файл конфигурации службы sssd (/etc/sssd/conf.d/*.conf) в секции описания домена (например, domain/local.domain) должен содержать:

      use_fully_qualified_names = False
    • если в конфигурационном файле /etc/sasl2/host.conf в секции mech_list есть plain, то убедиться, что пользователь fly-dm добавлен в группу sasl. Если пользователя в группе нет, то добавить его:

      sudo usermod -a -G sasl fly-dm
  • активировать и запустить службы sssd, saslauthd, gssproxy:

    sudo systemctl enable sssd saslauthd gssproxy
    sudo systemctl start sssd saslauthd gssproxy
  • в конфигурационном файле /etc/X11/xorg.conf.d/30-teraqxl.xorg.conf задать параметру TeraSasl значение True;

  • проверить корректность конфигурационного файла /etc/sasl2/host.conf. Пример файла по умолчанию после установки:

mech_list: plain
log_level: 7
pwcheck_method: saslauthd
auxprop_plugin: pam
После завершения настройки рекомендуется перезагрузить узел TERA.

Для дополнительной настройки SASL-аутентификации в режиме Kerberos следует (см. подраздел Kerberos-аутентификация):

  • настроить прокси-сервис gssproxy для протокола GSSAPI:

    • создать файл конфигурации /etc/gssproxy/30-xorg-sasl.conf:

      sudo touch /etc/gssproxy/30-xorg-sasl.conf
    • внести в созданный файл следующую конфигурацию:

      [service/xorg-sasl]
      mechs = krb5
      cred_store = keytab:/etc/krb5.keytab
      cred_usage = accept
      euid = 0
      allow_any_uid = yes
      program = /usr/lib/xorg/Xorg
    • в конфигурационном файле /etc/X11/xorg.conf.d/30-teraqxl.xorg.conf задать параметру TeraGssUseProxy значение True;

  • привести конфигурационный файл /etc/sasl2/host.conf к виду:

mech_list: gssapi
log_level: 7
  • при изменении файла /etc/sasl2/host.conf нужно перезапустить службу display-manager:

sudo systemctl restart display-manager
  • выполнить настройку службы SSSD:

    • убедиться, что используется имя пользователя в формате UPN и в файле конфигурации службы sssd (/etc/sssd/conf.d/*.conf) в секции описания домена (например, domain/local.domain) присутствует строка:

      use_fully_qualified_names = True
    • перезапустить службы sssd, saslauthd, gssproxy:

      sudo systemctl restart sssd saslauthd gssproxy

SASL-аутентификация может быть настроена на одновременную работу как в режиме авторизации по логину и паролю, так и в Kerberos. Для этого нужно объединить настройки необходимых параметров в один файл /etc/sasl2/host.conf:

mech_list: plain gssapi
log_level: 7
pwcheck_method: saslauthd
auxprop_plugin: pam