[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Принципы управления системой: Операционная система и устройства


Обзор модуля расширения идентификации (PAM)

Среда модуля расширения идентификации (PAM) позволяет встраивать новые способы идентификации, не внося изменения в такие команды приложений, как web_auth, file_copy и screen_save. Она позволяет объединить вход в систему AIX с другими механизмами идентификации, такими как DCE и Kerberos. Эта среда позволяет также интегрировать механизмы управления учетом, сеансами и паролями.

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

Термины, связанные с PAM

PAM состоит из встраиваемых модулей времени выполнения, выполняющих функции, связанные с идентификацией. Эти модули подразделяются на четыре категории: идентификации, управления учетом, управления сеансами и управления паролями.

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

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

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

Модули паролей
Предназначены для управления изменением паролей и связанных с ними атрибутов.

Для идентификации пользователей с помощью нескольких методов идентификации в PAM применяется принцип, называемый хранением. В зависимости от конфигурации пользователю понадобится ввести один или несколько паролей для каждого способа идентификации. Для идентификации пользователю на нужно запоминать или вызывать дополнительные команды. Порядок, в котором применяются способы идентификации, задается в файле /etc/pam.conf.

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

Администрирование среды PAM

На приведенной ниже схеме изображены зависимости между приложениями, библиотекой PAM и модулями PAM. Приложения (web_auth, file_copy и screen_save) применяют модули PAM с помощью библиотеки PAM. Модули, применяемые для каждого приложения, определены в файле pam.conf. Выходные данные модулей возвращаются приложениям через библиотеку.

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

Figure pam not displayed.

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

Библиотека PAM

Библиотека PAM, /usr/lib/libpam, обеспечивает среду для загрузки необходимых модулей и управления хранением. Она является общей структурой, в которую встраиваются все модули.

Модули PAM

Каждый модуль PAM реализует определенных механизм. С каждым модулем может быть связано несколько типов модуля (идентификации, учета, сеансов или паролей), но не менее одного. Ниже приведено описание некоторых модулей.

Так как модуль pam_unix, /usr/lib/security/pam_unix.so.1, обеспечивает поддержку идентификации, управления учетом, управления сеансами и паролями, с этим модулем могут применяться определения любых типов модулей. Модуль pam_unix применяет для идентификации пароли AIX.

Модуль dial_auth, /usr/lib/security/pam_dial_auth.so.1 , может применяться только для идентификации. Он применяет для идентификации данные, хранящиеся в файлах /etc/dialups и /etc/d_passwd. Этот модуль обычно применяется командой login .

Модуль rhosts_auth, /usr/lib/security/pam_rhosts_auth.so.1, также может применяться для идентификации. Для идентификации он получает и данные из файлов ~/.rhosts и /etc/host.equiv с помощью процедуры ruserok. Этот модуль обычно применяется командами rlogin и rsh.

Модуль pam_dce, /usr/lib/security/pam_dce.so.1, обеспечивает поддержку идентификации, управления учетом и паролями. С ним могут быть связаны любые определения данных типов модулей. Для идентификации модуль применяет реестр DCE.

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

Файл настройки PAM

Изменив файл /etc/pam.conf, можно выбрать механизм идентификации для каждого приложения входа в систему. Файл состоит из записей в следующем формате:

имя_службы тип_модуля флаг_управления путь_к_модулю
опции_модуля

где:

имя_службы
Обозначает имя службы

тип_модуля
Обозначает тип модуля для службы

флаг_управления
Выбирает результат обработки модуля

путь_к_модулю
Указывает путь к объекту библиотеки, в котором реализованы функции службы

опции_модуля
Список параметров, которые могут быть переданы в модули службы

Единственный необязательный элемент - module_options. Остальные значения должны быть указаны. Комментарии в файле должны начинаться со знака фунтов (#). Поля разделяются пробелами.

Запись в файле игнорируется при следующих условиях:

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

required
Обязательно. Чтобы общий результат был успешным, обработка данного модуля должна быть выполнена успешно.

optional
Необязательно. Если обработка этого модуля не будет выполнена успешно, результат общей операции будет зависеть от обработки остальных модулей данного стека.

sufficient
Достаточно. Если обработка данного модуля завершена успешно, остальные модули стека не выполняются, даже если для них установлен флаг required.

Для для всех модулей установлены флаги required, для идентификации пользователя необходима успешная обработка всех модулей. Если какие-либо модули не будут выполнены успешно, сообщается код ошибки первого такого модуля. Если обработка не выполняется успешно для обязательного модуля, выполняются все модули стека, но доступ не предоставляется.

Если в стеке нет обязательных модулей, то для успешной идентификации пользователя достаточно успешной обработки одного модуля. В случае, если для предоставления доступа достаточно успешной обработки одного модуля из стека, следует использовать флаг optional. Этот флаг следует устанавливать для модуля, только если успешная обработка соответствующего механизма необязательна. Например, если для выполнения операции пользователям необходимы права доступа, связанные с определенным механизмом идентификации, то для соответствующего модуля не следует указывать флаг optional.

При применении флага sufficient для предоставления доступа пользователю достаточно успешной обработки одного модуля идентификации.

Настройка PAM

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

При настройке PAM для конкретной системы следуйте общей процедуре:

  1. Определите требования к идентификации и выберите необходимые модули.
  2. Определите наиболее важные службы.
  3. Выберите последовательность выполнения модулей.
  4. Выберите для каждого модуля флаг управления.
  5. При необходимости, выберите опции для каждого модуля

Перед изменением файла настройки ознакомьтесь со следующими рекомендациями:

Отключение записей ~/.rhosts

Для того, чтобы отключить чтение файлов ~/.rhosts в сеансе rlogin, удалите из файла настройки запись rlogin auth rhosts_auth.so.1. Это позволит защитить локальные ресурсы от доступа неидентифицированных пользователей удаленных систем. Пользователи должны будут ввести пароль, чтобы получить права доступа rlogin, независимо от наличия или содержимого файлов ~/.rhosts и /etc/hosts.equiv.

Чтобы закрыть доступ прочим неидентифицированным пользователям, применяющим файлы ~/.rhosts , следует отключить службу rsh. Для отключения конкретной службы лучше всего удалить запись об этой службе из файла /etc/inetd.conf. Внесения изменений в файл настройки PAM недостаточно для отключения службы.

Добавление модуля PAM DCE

Для того чтобы добавить модуль PAM DEC, измените файл /etc/pam.conf, в соответствии со следующим примером:

# # PAM configuration # # Authentication management # login auth sufficient 
/usr/lib/security/pam_dce.so.1 login auth required /usr/lib/security/pam_unix.so.1
rlogin auth required /usr/lib/security/pam_unix.so.1 rsh auth required 
   /usr/lib/security/pam_rhost_auth.so.1
OTHER auth required /usr/lib/security/pam_unix.so.1 # # Account management
# login account required /usr/lib/security/pam_dce.so.1 login account required
/usr/lib/security/pam_unix.so.1 OTHER account required 
   /usr/lib/security/pam_unix.so.1
# # Session management # OTHER session required /usr/lib/security/pam_unix.so.1
# # Password management # passwd password required /usr/lib/security/pam_dce.so.1
passwd password required /usr/lib/security/pam_unix.so.1

Флаг sufficient в записи входа в систему означает, что если пользователь идентифицируется в случае успешной обработки модуля pam_dce, независимо от других модулей, таких как pam_unix. В данном случае модуль pam_unix проверяется, только если модуль pam_dce не будет обработан успешно.

Две записи для идентификации login обеспечивают доступ к локальной системе пользователю root. Дополнительная строка нужна, так как DCE не предоставляет доступ пользователю root по умолчанию. При этом доступ к системе может получить только пользователь, применяющий локальную учетную запись root, а остальные пользователи без пароля AIX не могут войти в систему.

В приведенном выше примере показано только применение с модулем DCE команды login. Однако модуль DCE может применяться и для других служб. Если модуль pam_dce будет добавлен как модуль auth для входа в систему, его также необходимо добавить как модуль учета. Запись DCE для службы passwd обеспечивает изменение пароля DCE при запуске пользователем команды password.

Изменение файла /etc/pam.conf

Примечание: Если файл настройки PAM составлен неправильно или испорчен, существует вероятность того, что даже пользователь root не сможет войти в систему. В этом случае пользователь root может воспользоваться командой su, так как она не применяет PAM, затем перезагрузить систему как систему с одним пользователем и исправить файл настройки /etc/pam.conf.

Для внесения исправлений в файл /etc/pam.conf у вас должны быть права доступа root. Каждый раз изменяя файл /etc/pam.conf как пользователь root, проверьте все команды, на которые могли повлиять внесенные изменения, чтобы убедиться в правильности файла настройки. Например, добавив новый модуль в службу telnet, вызовите команду telnet, чтобы проверить изменения и убедиться в правильности файла /etc/pam.conf.

Добавление модуля

Выполните следующие действия, чтобы добавить модуль PAM:

  1. Изучите документацию модуля и определите необходимый флаг управления и другие опции.
  2. Скопируйте новый модуль в каталог /usr/lib/security.
  3. Настройте права доступа таким образом, чтобы файл модуля принадлежал пользователю root, а значения прав доступа были 555.
  4. Внесите изменения в файл настройки PAM, /etc/pam.conf, чтобы добавить модуль к нужной службе.
  5. Проверьте изменения.

Активация сообщений об ошибках

Добавьте в файл /etc/syslog.conf записи, чтобы активизировать сообщения об ошибках. Для того чтобы изменения вступили в силу, необходимо перезапустить демон syslogd или отправить ему сигнал SIGHUP. Для сбора информации о PAM в файл могут быть добавлены следующие опции:

auth.alert
Сообщения об ошибках, требующих немедленного исправления

auth.crit
Сообщения о критических ситуациях

auth.err
Сообщения об ошибках

auth.info
Информационные сообщения

auth.debug
Сообщения отладки

Следующая запись выводит все сообщения об ошибках, требующих немедленного исправления, на консоль. Сообщения о критических ситуациях отравляются по почте пользователю root. Информационные сообщения и сообщения отладки заносятся в файл /var/log/pamlog.

auth.alert /dev/console
auth.crit 'root'
auth.info;auth.debug /var/log/pamlog

Каждая строка протокола содержит системное время, имя системы, создавшей запись, и сообщение. Файл /var/log/pamlog может содержать большой объем информации.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]