table of contents
SSSD-KRB5(5) | Форматы файлов и рекомендации | SSSD-KRB5(5) |
NAME¶
sssd-krb5 - Поставщик данных Kerberos SSSD
ОПИСАНИЕ¶
На этой справочной странице представлено описание настройки внутреннего сервера проверки подлинности Kerberos 5 для sssd(8). Подробные сведения о синтаксисе доступны в разделе “ФОРМАТ ФАЙЛА” справочной страницы sssd.conf(5).
Внутренний сервер проверки подлинности Kerberos 5 содержит поставщиков данных для проверки подлинности (auth) и смены пароля (chpass). Для корректной работы его необходимо использовать совместно с поставщиком данных идентификации (например, id_provider = ldap). Некоторые данные, которые требуются внутреннему серверу проверки подлинности Kerberos 5, должны предоставляться поставщиком данных идентификации (например, имя участника Kerberos пользователя (UPN)). В конфигурации поставщика данных идентификации должна быть запись с указанием UPN. Сведения о том, как выполнить такую настройку, доступны на справочной странице соответствующего поставщика данных идентификации.
Этот внутренний сервер также предоставляет возможность управления доступом на основе файла .k5login в домашнем каталоге пользователя. Дополнительные сведения доступны на справочной странице k5login(5). Обратите внимание, что пользователю будет отказано в доступе, если файл .k5login пуст. Чтобы активировать эту возможность, укажите «access_provider = krb5» в конфигурации SSSD.
Если на внутреннем сервере идентификации недоступен UPN, sssd создаст UPN в формате username@krb5_realm.
ПАРАМЕТРЫ КОНФИГУРАЦИИ¶
Если в домене SSSD используется модуль проверки подлинности krb5, необходимо использовать следующие параметры. Сведения о конфигурации домена SSSD доступны на справочной странице sssd.conf(5), в разделе “РАЗДЕЛЫ ДОМЕНА”.
krb5_server, krb5_backup_server (строка)
При использовании обнаружения служб для серверов KDC или kpasswd SSSD сначала выполняет поиск записей DNS, в которых в качестве протокола указан _udp. Если такие записи не удаётся найти, SSSD выполняет поиск записей DNS, в которых в качестве протокола указан _tcp.
В предыдущих версиях SSSD этот параметр назывался “krb5_kdcip”. Это устаревшее имя всё ещё распознаётся, но пользователям рекомендуется перейти на использование “krb5_server” в файлах конфигурации.
krb5_realm (строка)
krb5_kpasswd, krb5_backup_kpasswd (строка)
Дополнительные сведения об отработке отказа и избыточности сервера доступны в разделе “ОТРАБОТКА ОТКАЗА”. ПРИМЕЧАНИЕ: даже если список серверов kpasswd будет исчерпан, внутренний сервер не перейдёт в автономный режим работы, если всё ещё возможна проверка подлинности с помощью KDC.
По умолчанию: использовать KDC
krb5_ccachedir (строка)
По умолчанию: /tmp
krb5_ccname_template (строка)
%u
%U
%p
%r
%h
%d
%P
%%
Если шаблон заканчивается на «XXXXXX», для безопасного создания уникального имени файла используется mkstemp(3).
Если используются типы KEYRING, единственным поддерживаемым механизмом является “KEYRING:persistent:%U”, то есть использование набора ключей ядра Linux для хранения учётных данных на основе разделения по UID. Этот вариант также является рекомендуемым, так как этот способ обеспечивает наибольшую безопасность и предсказуемость.
Источником стандартного значения имени кэша учётных данных является профиль, который хранится в общесистемном файле конфигурации krb5.conf в разделе [libdefaults]. Имя параметра — default_ccache_name. Дополнительные сведения о формате расширения, определённом krb5.conf, доступны в абзаце о расширении параметров (PARAMETER EXPANSION) krb5.conf(5).
ПРИМЕЧАНИЕ: обратите внимание, что в шаблоне расширения ccache libkrb5 из krb5.conf(5) используются другие последовательности расширения, чем в SSSD.
По умолчанию: (из libkrb5)
krb5_keytab (строка)
По умолчанию: системная таблица ключей, обычно /etc/krb5.keytab
krb5_store_password_if_offline (логическое значение)
ПРИМЕЧАНИЕ: эта возможность доступна только в Linux. Пароли, сохранённые таким образом, хранятся как простой текст в наборе ключей ядра и потенциально доступны пользователю root (потребуются некоторые усилия).
По умолчанию: false
krb5_use_fast (строка)
never — никогда не использовать FAST. Это равнозначно тому варианту, когда значение этого параметра вообще не указано.
try — пытаться использовать FAST. Если сервер не поддерживает FAST, проверка подлинности будет продолжена без него.
demand — требовать использования FAST. Проверка подлинности будет неудачной, если сервер не требует использования FAST.
По умолчанию: не задано, то есть FAST не используется.
ПРИМЕЧАНИЕ: для использования FAST необходима таблица ключей или поддержка анонимного PKINIT.
ПРИМЕЧАНИЕ: SSSD поддерживает FAST только для MIT Kerberos версии 1.8 и выше. Если SSSD используется с более ранней версией MIT Kerberos, использование этого параметра является ошибкой конфигурации.
krb5_fast_principal (строка)
krb5_fast_use_anonymous_pkinit (логическое значение)
По умолчанию: false
krb5_use_kdcinfo (логическое значение)
Дополнительные сведения о модуле локатора доступны на справочной странице sssd_krb5_locator_plugin(8).
По умолчанию: true
krb5_kdcinfo_lookahead (строка)
Параметр krb5_kdcinfo_lookahead содержит два числа, разделённых двоеточием. Первое число представляет количество используемых основных серверов, а второе — количество резервных серверов.
Например, 10:0 означает, что sssd_krb5_locator_plugin(8) будут переданы 10 основных серверов, но ни одного резервного сервера.
По умолчанию: 3:1
krb5_use_enterprise_principal (логическое значение)
По умолчанию: false (поставщик данных AD: true)
Поставщик данных IPA установит этот параметр в значение «true», если определит, что сервер может обрабатывать участников-предприятия, и если этот параметр не задан в явном виде в файле конфигурации.
krb5_use_subdomain_realm (логическое значение)
По умолчанию: false
krb5_map_user (строка)
пример:
krb5_realm = REALM krb5_map_user = joe:juser,dick:richard
“joe” и “dick” — имена пользователей UNIX, а “juser” и “richard” — основные части участников Kerberos. Для пользователей “joe” и “dick” SSSD попытается выполнить kinit как, соответственно, “juser@REALM” и “richard@REALM”.
По умолчанию: не задано
krb5_auth_timeout (целое число)
По умолчанию: 6
krb5_validate (логическое значение)
По умолчанию: false (для поставщиков данных IPA и AD: true)
Обратите внимание, что проверка билета — это первый шаг при проверке PAC (дополнительные сведения доступны в описании параметра «pac_check» на справочной странице sssd.conf(5)). Если проверка билета отключена, проверки PAC также будут пропущены.
krb5_renewable_lifetime (строка)
s для секунд
m для минут
h для часов
d для дней.
Если единица измерения не указана, предполагается, что используется значение s.
ПРИМЕЧАНИЕ: единицы измерения нельзя смешивать. Чтобы установить обновляемое время жизни равным полутора часам, укажите «90m», а не «1h30m».
По умолчанию: не задано, то есть TGT не является обновляемым
krb5_lifetime (строка)
s для секунд
m для минут
h для часов
d для дней.
Если единица измерения не указана, предполагается, что используется значение s.
ПРИМЕЧАНИЕ: единицы измерения нельзя смешивать. Чтобы установить время жизни равным полутора часам, укажите «90m», а не «1h30m».
По умолчанию: не задано, то есть стандартное время жизни билета, настроенное в параметрах KDC.
krb5_renew_interval (строка)
s для секунд
m для минут
h для часов
d для дней.
Если единица измерения не указана, предполагается, что используется значение s.
ПРИМЕЧАНИЕ: единицы измерения нельзя смешивать. Чтобы установить обновляемое время жизни равным полутора часам, укажите «90m», а не «1h30m».
Если этот параметр не указан или установлен в значение «0», автоматическое обновление отключено.
По умолчанию: не задано
krb5_canonicalize (логическое значение)
По умолчанию: false
ОТРАБОТКА ОТКАЗА¶
Функция обработки отказа позволяет внутренним серверам автоматически переключаться на другой сервер в случае сбоя текущего сервера.
Синтаксис обработки отказа¶
Список серверов разделяется запятыми; рядом с запятыми допускается любое количество пробелов. Серверы перечислены в порядке приоритета. Список может содержать любое количество серверов.
Для каждого параметра конфигурации с поддержкой отработки отказа существуют два варианта: основной (primary) и резервный (backup). Смысл в том, что приоритет получают серверы из списка основных, а поиск резервных серверов выполняется только в том случае, если не удалось связаться с основными серверами. Если выбран резервный сервер, устанавливается 31-секундный тайм-аут. По его истечении SSSD будет периодически пытаться восстановить подключение к одному из основных серверов. Если попытка будет успешной, текущий активный (резервный) сервер будет заменён на основной.
Механизм отработки отказа¶
Механизм отработки отказа различает компьютеры и службы. Внутренний сервер сначала пытается разрешить имя узла указанного компьютера; если попытка разрешения завершается неудачей, компьютер считается работающим в автономном режиме. Дальнейшие попытки подключиться к этому компьютеру для доступа к другим службам не выполняются. Если попытка разрешения успешна, внутренний сервер пытается подключиться к службе на этом компьютере. Если попытка подключения к службе завершается неудачей, работающей в автономном режиме будет считаться только эта служба, и внутренний сервер автоматически переключится на следующую службу. Компьютер продолжает считаться находящимся в сети, возможны дальнейшие попытки подключения к другим службам на нём.
Дальнейшие попытки подключения к компьютерам или службам, обозначенным, как работающие в автономном режиме, выполняются по истечении определённого периода времени; в настоящее время это значения является жёстко заданным и составляет 30 секунд.
Если список компьютеров исчерпан, внутренний сервер целиком переключается на автономный режим и затем пытается восстановить подключение каждые 30 секунд.
Тайм-ауты и тонкая настройка отработки отказа¶
Разрешение имени сервера, к которому следует подключиться, может быть выполнено как за один запрос DNS, так и за несколько шагов, например, при поиске корректного сайта или переборе нескольких имён узлов, если некоторые из настроенных серверов недоступны. Для более сложных сценариев требуется больше времени, и SSSD требуется соблюсти баланс между предоставлением достаточного количества времени для завершения процесса разрешения и не слишком долгим ожиданием перед переходом в автономный режим. Если в журнале отладки SSSD есть данные о том, что время на разрешение сервера истекло до обращения к реальному серверу, рекомендуется изменить значения тайм-аутов.
В этом разделе перечислены доступные настраиваемые параметры. Их описание содержится на справочной странице sssd.conf(5).
dns_resolver_server_timeout
По умолчанию: 1000
dns_resolver_op_timeout
По умолчанию: 3
dns_resolver_timeout
По умолчанию: 6
Для поставщиков данных на основе LDAP операция разрешения выполняется как часть операции установления LDAP-соединения. Следовательно, тайм-аут “ldap_opt_timeout” также следует установить в большее значение, чем “dns_resolver_timeout”, который, в свою очередь, следует установить в большее значение, чем “dns_resolver_op_timeout”, который должен быть больше “dns_resolver_server_timeout”.
ОБНАРУЖЕНИЕ СЛУЖБ¶
Функция обнаружения служб позволяет внутренним серверам автоматически находить серверы, к которым следует подключиться, с помощью специального запроса DNS. Эта возможность не поддерживается для резервных серверов.
Конфигурация¶
Если серверы не указаны, внутренний сервер будет автоматически использовать обнаружение служб, чтобы попытаться найти сервер. Пользователь может (необязательно) задать использование сразу и фиксированных адресов серверов, и обнаружения служб, вставив в список серверов специальное ключевое слово “_srv_”. Обработка выполняется в порядке приоритета. Эта возможность полезна, например, если пользователь предпочитает использовать обнаружение служб всегда, когда это возможно, и подключаться к определённому серверу только в тех случаях, когда серверы не удалось обнаружить с помощью DNS.
Имя домена¶
Дополнительные сведения доступны в описании параметра “dns_discovery_domain” на справочной странице sssd.conf(5).
Протокол¶
В запросах обычно указан протокол _tcp. Исключения задокументированы в описаниях соответствующих параметров.
См. также¶
Дополнительные сведения о механизме обнаружения служб доступны в RFC 2782.
ПРИМЕР¶
В следующем примере предполагается, что конфигурация SSSD корректна и что FOO — один из доменов в разделе [sssd]. В примере показана только конфигурация проверки подлинности Kerberos; он не включает какого-либо поставщика данных идентификации.
[domain/FOO] auth_provider = krb5 krb5_server = 192.168.1.1 krb5_realm = EXAMPLE.COM
СМ. ТАКЖЕ¶
sssd(8), sssd.conf(5), sssd-ldap(5), sssd-ldap-attributes(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(8), sss_ssh_knownhostsproxy(8), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5)
AUTHORS¶
Восходящий источник («апстрим») SSSD — https://github.com/SSSD/sssd/
10/01/2024 | SSSD |