Встраиваемые модули идентификации

Архитектура встраиваемых модулей идентификации (PAM) предоставляет системным администраторам возможность встраивать в существующую систему несколько механизмов защиты с помощью встраиваемых модулей.

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

  • Выбирать для приложения системную службу идентификации
  • Применять с данной службой несколько механизмов идентификации
  • Добавлять новые модули службы идентификации без изменения существующих приложений
  • Применять указанные ранее пароли для идентификации с помощью различных модулей

PAM состоит из библиотеки, встраиваемых модулей и файла конфигурации. Библиотека PAM реализует интерфейс прикладных программ (API) PAM и служит для управления транзакциями PAM и вызова служебных интерфейсов (SPI) PAM, определенных во встраиваемых модулях. Встраиваемые модули динамически загружаются библиотекой на основании вызывающих служб и соответствующих им записей файла конфигурации. Успешность идентификации определяется не только встраиваемым модулем, но и алгоритмом работы службы. Применение концепции стека позволяет настроить службу для применения нескольких методов идентификации. Модули также можно настроить на применение уже введенного пароля, без повторного запроса пароля у пользователя.

Администратор может настроить систему AIX для работы с PAM, изменив атрибут auth_type в разделе usw файла /etc/security/login.cfg. Значение auth_type = PAM_AUTH позволяет настроить команды PAM таким образом, чтобы для идентификации вызывались не традиционные функции AIX, а API PAM. Этот параметр можно изменять динамически. Изменение значения вступает в силу без перезагрузки системы. Дополнительная информация об атрибуте auth_type приведена в описании файла /etc/security/login.cfg. Для распознавания атрибута auth_type и получения возможности идентификации с помощью PAM были изменены следующие стандартные команды и приложения AIX:
  • login
  • passwd
  • su
  • ftp
  • telnet
  • rlogin
  • rexec
  • rsh
  • snappd
  • imapd
  • dtaction
  • dtlogin
  • dtsession

Ниже проиллюстрировано взаимодействие между приложениями, библиотекой PAM, файлом конфигурации и модулями PAM в системе, настроенной для использования PAM. Приложения с поддержкой PAM, вызывают API PAM из библиотеки PAM. На основании указанной в файле конфигурации записи приложения и вызовов SPI PAM в модуле библиотека определяет модуль для загрузки. Модуль PAM взаимодействует с приложением с помощью функции ведения диалога, реализованной в приложении. Затем, в зависимости от успеха или неудачи выполненной модулем проверки, а также в зависимости от алгоритма, определенного в файле конфигурации, определяется необходимость загрузки следующего модуля. Если такая необходимость есть, то обработка продолжается; в противном случае результат возвращается приложению.

Рис. 1. Среда и объекты PAM. На рисунке показаны команды, с помощью которых команды с поддержкой PAM обращаются через библиотеку PAM к соответствующим модулям.