[devel] Нелокальный вариант настроек PAM (system-auth и system-policy)

Evgeny Sinelnikov sin на altlinux.org
Вс Ноя 24 03:52:01 MSK 2019


Доброй ночи.

Сборка проверена в различных конфигурациях и отправлена на одобрение:
#240988 EPERM #8 sisyphus pam-config.git=1.8.0-alt1

чт, 21 нояб. 2019 г. в 02:45, Evgeny Sinelnikov <sin at altlinux.org>:

> Здравствуйте,
>
> Хочу напомнить об актуальной до сих пор теме нелокальных вариантов
> настроек PAM. С момента последнего обсуждения появились дополнительные
> вопросы, задачи и проблемы. А, между тем, с тех пор ничего не
> изменилось:
> https://lists.altlinux.org/pipermail/devel/2017-April/202654.html
>
> Отмечу, что условие uid >= 500 для любых глобальных пользователей. И
> настройку этой политики с помощью control я пока оставил - это
> отдельная не столь актуальная проблема (осталась текущая схема).
>
> Текущие изменения, которые я хочу предложить протестировать и
> внедрить, включают в себя следующие проблемы и решения:
> - "путаница при наличии совпадающих логинов". По умолчанию вводится
> строгий контроль на уровне стека PAM-модулей с помощью модуля
> pam_localuser для методов krb5, krb5_ccreds и winbind (для sss это уже
> внедрено);
> - Для сохранения возможностей логики с использованием "путаницы", как
> фичи (а такие варианты использования существуют) вводится метод
> krb5_local;
> - Для управления политиками настройки сессии вводится новый control -
> system-policy.
>
> Тестовая сборка готова и сейчас находится на стадии отладки (основные
> тесты успешно завершены, требуются добровольцы для участия в
> расширенной проверке):
> #240988 EPERM #7 [test-only] sisyphus pam-config.git=1.8.0-alt1
>
>
> PS: На текущем этапе всё зависит от мейнтенера pam-config:
> $ ssh girar acl sisyphus pam-config show
> pam-config      ldv
>
> PPS: Я не стал трогать три метода pkcs11 (выглядит прилично для своих
> задач), ldap и multi (pam-модули на базе ldap не понимаю как
> отлаживать - предпочитаю не трогать, как наследие).
>
> ________________________________________
>
> О последнем подробнее:
>
> sin at xpi pam-config $ ls -1 /etc/pam.d/system-*
> /etc/pam.d/system-auth -> system-auth-krb5_local
> /etc/pam.d/system-auth-krb5
> /etc/pam.d/system-auth-krb5_ccreds
> /etc/pam.d/system-auth-krb5_local
> /etc/pam.d/system-auth-ldap
> /etc/pam.d/system-auth-local
> /etc/pam.d/system-auth-multi
> /etc/pam.d/system-auth-pkcs11
> /etc/pam.d/system-auth-sss
> /etc/pam.d/system-auth-use_first_pass ->
> system-auth-use_first_pass-krb5_local
> /etc/pam.d/system-auth-use_first_pass-krb5
> /etc/pam.d/system-auth-use_first_pass-krb5_ccreds
> /etc/pam.d/system-auth-use_first_pass-krb5_local
> /etc/pam.d/system-auth-use_first_pass-ldap
> /etc/pam.d/system-auth-use_first_pass-local
> /etc/pam.d/system-auth-use_first_pass-multi
> /etc/pam.d/system-auth-use_first_pass-pkcs11
> /etc/pam.d/system-auth-use_first_pass-sss
> /etc/pam.d/system-auth-use_first_pass-winbind
> /etc/pam.d/system-auth-winbind
> /etc/pam.d/system-policy -> system-policy-global
> /etc/pam.d/system-policy-global
> /etc/pam.d/system-policy-local
>
> Настройка system-policy расширяемая и включает в себя, по умолчанию,
> две политики - local и global.
>
> ~ # control system-policy help
> global: global session policy with mkhomedir
> local: local session policy
> ~ # control system-policy summary
> system session policy type
> ~ # control system-policy help
> global: global session policy with mkhomedir
> local: local session policy
> ~ # control system-policy
> local
>
> По сути, первая от второй отличается только одним - наличием модуля
> pam_mkhomedir.so
>
> ~ # cat /etc/pam.d/system-policy-local
> #%PAM-1.0
> session         required        pam_mktemp.so
> session         required        pam_limits.so
> ~ # cat /etc/pam.d/system-policy-global
> #%PAM-1.0
> session         required        pam_mktemp.so
> session         required        pam_mkhomedir.so silent
> session         required        pam_limits.so
>
> Ещё одна особенность - при переключении system-auth с local на любую
> другую - system-policy автоматически переключается на global и
> обратно:
> ~ # control system-auth local
> ~ # control system-policy
> local
> ~ # control system-auth sss
> ~ # control system-policy
> global
>
> Это делает поведение по умолчанию аналогичным тому, которое было
> раньше. При этом, если system-policy задано, то system-auth возвращает
> system-policy в исходное только при переключении на local, но не
> наоборот:
> ~ # control system-auth
> sss
> ~ # control system-policy
> global
> ~ # control system-auth local
> ~ # control system-policy
> local
>
> ~ # control system-policy test
> ~ # control system-policy
> test
> ~ # control system-auth krb5
> ~ # control system-policy
> test
> ~ # control system-auth sss
> ~ # control system-policy
> test
> ~ # control system-auth local
> ~ # control system-policy
> local
>
> Для конфигураций, где вместо pam_mkhomedir.so нужно использовать
> pam_oddjob_mkhomedir (а это SELinux конфигурации, в первую очередь), а
> также для применения так называемых групповых политик, модули
> system-policy планируется устанавливать дополнительно (аналогично
> тому, как это делается для system-auth):
> ~ # rpm -qf /etc/pam.d/system-auth-local
> pam-config-1.8.0-alt1.noarch
> ~ # rpm -qf /etc/pam.d/system-auth-sss
> sssd-client-2.2.2-alt2.x86_64
>
>
> --
> Sin (Sinelnikov Evgeny)
>


-- 
Sin (Sinelnikov Evgeny)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20191124/f225eba1/attachment.html>


Подробная информация о списке рассылки Devel