Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Введение в PAM.

Рубрика: Безопасность -> Основные меры защиты Linux
Метки:
Понедельник, 20 апреля 2009 г.
Просмотров: 5499

Что такое PAM?

     Как правило, аутентификация в Linux осуществляется с помощью файла /etc/passwd. Со временем стали популярны и другие методы. Центральная проблема применения другой системы аутентификации - это то, что все приложения, имеющие хоть какое-нибудь отношение к системе аутентификации, должны быть перекомпилированы и настроены заново, а это огромная работа.

     Эту проблему дает возможность решить РАМ (Pluggable Authentication Module - Подключаемый модуль аутентификации), отделяющий приложения от самой аутентификации. Изменение системы аутентификации в данный момент заключается в изменении используемого РАМ-модуля.


     Во многих книгах расхваливают достоинства РАМ, но мы будем более реалистичны. Да, РАМ немножко облегчает администратору жизнь, но только в том случае, если постоянно изменять методы аутентификации, в противном случаене очень-то и нужен такой РАМ.

     Если РАМ все же нужен, можно читать дальше. Не нужно думать, что, если РАМ легко устанавливается, то его также легко и настраивать. Нужно отметить, что РАМ не был включен в дистрибутив Slackware Linux, из-за дыр в системе безопасности.

    В составе РАМ находятся следующие модули:

  • pam_console: дает применять специальные правила для пользователей, вошедших в систему через консоль.

  • pamdeny: запрещает все формы доступа (к примеру, SSH, вход по консоли, FTP) определенного пользователя или группы.
  • pam_env: конфигурируемый список переменных окружения.
  • pam_filter: используется для протоколирования и фильтрации стандартного ввода (STDIN) и вывода (STDOUT) процесса.
  • pam_ftp: разрешает анонимный FTP-доступ. Имя пользователя — ftp или anonymous, в качестве пароля нужно указать e-mail-адрес.
  • pam_group: расширенное использование групп учетных записей.
  • pamlimits: нужен для ограничения ресурсов системы: дискового пространства, памяти, CPU. Отдельные ограничения можно задать для определенного пользователя или группы пользователей.
  • pam_listfile: используется альтернативный метод аутентификации, основанный на содержимом специального файла.
  • pam_nologin: запрещает регистрацию не root-пользователей, если существует файл /etc/nologin. Этот файл показывается при регистрации пользователя — в нем можно описать причину, по которой временно запрещена регистрация пользователей в системе.
  • pam_passwd+: проверяет «силу» пароля.
  • pam_pwdb+: заменяет модуль pma_unix_*, который использует библиотеку паролей PDL (Password Database Library).
  • pam_radius: RADIUS (Remote Authentication Dial In User Service) — аутентификация, основанная на Password Database Library.
  • pam_rootok: аутентифицирует пользователей с UID=0.
  • pamsecuretty: предоставляет доступ к терминалам, перечисленным в файле /etc/securetty (преимущественно виртуальные консоли).
  • pam_shells: аутентификация, основанная на пользовательской оболочке, которая указана в /etc/passwd.
  • pam_stress: stress-тестирование приложений.
  • pam_tally: позволяет отключать учетную запись после определенного числа попыток ввода неправильного пароля.
  • pam_time: аутентификация, основанная на времени регистрации.
  • pam_unix_*: стандартный модуль аутентификации Unix с поддержкой теневых паролей.
  • pam_wheel: предоставляет полномочия, связанные с wheel-группой.