PAM (Русский)

Linux Pluggable Authentication Modules (PAM) — фреймворк для аутентификации пользователей в системе. Со страницы проекта[устаревшая ссылка 2022-09-22]:

PAM предоставляет возможность разрабатывать программы, которые не зависят от схемы аутентификации. Во время выполнения к программам подключаются «модули аутентификации». Какой конкретно модуль аутентификации должен быть подключен, зависит от настроек локальной системы и остаётся на усмотрение локального системного администратора.
Состояние перевода: На этой странице представлен перевод статьи PAM. Дата последней синхронизации: 22 июня 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

В этой статье объясняются базовые настройки Arch Linux по умолчанию для PAM для аутентификации локальных и удалённых пользователей. Внесение изменений в настройки по умолчанию описывается в отдельных статьях.

Установка

Пакет pam является зависимостью мета-пакета и таким образом уже установлен в Arch по умолчанию. Модули PAM устанавливаются в /usr/lib/security.

В репозиториях доступны дополнительные пакеты, примеры есть в разделе #Руководства по настройке.

Настройка

PAM использует несколько путей в ; список стандартных файлов настроек можно посмотреть с помощью команды . Они настраивают либо #Параметры безопасности для модулей, либо #Базовый стек PAM.

Параметры безопасности

Каталог содержит системные настройки переменных, предлагаемых методами аутентификации. При базовой установке он заполняется стандартными файлами конфигурации из апстрима.

Arch Linux не предоставляет специфичную для дистрибутива конфигурацию этих файлов. Например, файл /etc/security/pwquality.conf можно использовать для определения общесистемных значений по умолчанию для контроля качества паролей. Однако для его использования нужно в #Базовый стек PAM включить модуль pam_pwquality.so, который по умолчанию отключен.

Некоторые возможности описаны в разделе #Настройка параметров безопасности.

Базовый стек PAM

Настройки в каталоге связывают приложения с определёнными системными схемами аутентификации. Во время установки базовой системы в этот каталог добавляются настройки:

  • из пакета , который содержит базовый стек специфичной для Arch Linux конфигурации PAM для использования приложениями, и
  • из других базовых пакетов. Например, добавляет конфигурацию для программы login и других программ, пакет добавляет стандартные настройки Arch Linux для защиты и изменения базы данных пользователей (смотрите Пользователи и группы).

Различные файлы настроек базовой установки связываются вместе и складываются во время выполнения. Например, при входе локального пользователя в систему программа login считывает политику , которая, в свою очередь, считывает другие политики:

Другие приложения могут применять другие политики. Например, устанавливает свою собственную PAM-политику :

Следовательно, выбор файла для настройки в стеке имеет значение. В приведённом выше примере можно затребовать специальный метод аутентификации или только для путём изменения одноимённого файла, или для всех удалённых входов путём изменения файла system-remote-login; оба изменения не повлияют на локальные входы. Изменение настроек или повлияет и на локальные, и на удалённые входы.

Как и в случае с , любое приложение, использующее pam, должно установить свою политику в , чтобы интегрироваться в стек PAM и полагаться на него должным образом. Если приложение этого не сделает, будет применяться политика по умолчанию , запрещающая вход и выводящая предупреждение в журнал.

Совет: PAM динамически связывается с программой во время выполнения. Например:
$ ldd /usr/bin/login | grep pam
libpam.so.0 => /usr/lib/libpam.so.0 (0x000003d8c32d6000)
libpam_misc.so.0 => /usr/lib/libpam_misc.so.0 (0x000003d8c30d2000)
Программа login использует PAM и, следовательно, должна иметь свой файл политики.

Справочные страницы и описывают стандартизированное содержимое файлов настроек. В частности, они объясняют четыре группы PAM: account, auth, password и session, а также управляющие значения, которые могут быть использованы для настройки стека и поведения модулей.

Кроме того, в устанавливается обширная документация установлена, которая, помимо различных руководств, содержит man-страницы для каждого из стандартных модулей.

Руководства по настройке

В этом разделе представлен обзор статей, описывающих, как изменять конфигурацию PAM и как интегрировать специальные новые модули PAM в стек PAM. Обратите внимание, что man-страницы для модулей обычно не имеют расширения .so в своём названии.

Настройка параметров безопасности

В следующих разделах описаны примеры изменения параметров PAM по умолчанию:

показывает, как включить требование использования сложных паролей с помощью .
показывает, как настроить ограничение на число попыток входа с помощью .
ограничивает вход пользователей с помощью .
подробно о том, как настроить ограничения процессов с помощью .
показывает примеры установки переменных окружения с помощью .

Настройка стека PAM и модулей

Следующие статьи описывают, как изменить #Базовый стек PAM для специальных случаев использования.

Модули PAM, доступные в официальных репозиториях:

подробные примеры использования для автоматического монтирования зашифрованных каталогов при входе пользователя в систему.
использует для автоматического монтирования зашифрованного каталога.
показывает, как использовать pam_exec.so для выполнения пользовательского скрипта при входе.
использует и pam_krb5.so для аутентификации пользователей через службы Active Directory (LDAP, Kerberos).
статья об интеграции LDAP-клиента или аутентификации на стороне сервера с помощью .
описывает использование U2F () и проприетарной реализации Yubico OTP () от YubiKey с PAM.
показывает пример реализации программной двухфакторной аутентификации с помощью .
использует для настройки аутентификации по отпечаткам пальцев.

Модули PAM, доступные в пользовательском репозитории Arch:

сохраняет имя пользователя и пароль для автоматического входа в систему.
показывает, как настроить для использования USB-устройства для (опционально двухфакторной) аутентификации.
использует для аутентификации в качестве удалённого пользователя.
объясняет, как можно использовать pam_abl.so для ограничения атак перебором через ssh.
настройка автоматического монтирования с помощью .
показывает, как настроить двухфакторную аутентификацию с помощью .
объясняет, как настроить FTP chroot с помощью pam_pwdfile.so для аутентификации пользователей без локальной системной учётной записи.

Дополнительные пакеты PAM

Помимо упомянутых выше пакетов, в пользовательском репозитории Arch есть дополнительные модули и инструменты PAM.

    Хотя в AUR есть тег PAM, не все доступные пакеты его содержат. Поэтому может понадобиться поиск по описанию пакета.

    Смотрите также

    gollark: ++apioform
    gollark: ++apioform
    gollark: ++apioform
    gollark: ++apioform
    gollark: <@!160279332454006795> <@!160279332454006795> <@!160279332454006795>
    This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.