PAM - Pluggable Authentication Modules
Базова інформація
PAM (Pluggable Authentication Modules) діє як механізм безпеки, який перевіряє ідентичність користувачів, які намагаються отримати доступ до комп'ютерних служб, контролюючи їх доступ на основі різних критеріїв. Це схоже на цифрового сторожа, який забезпечує, що лише авторизовані користувачі можуть взаємодіяти з конкретними службами, при цьому можливо обмежуючи їх використання для запобігання перевантаження системи.
Файли конфігурації
Системи Solaris та UNIX зазвичай використовують центральний файл конфігурації, розташований за шляхом
/etc/pam.conf
.Системи Linux віддають перевагу підходу з каталогами, зберігаючи конфігурації для конкретних служб у каталозі
/etc/pam.d
. Наприклад, файл конфігурації для служби входу знаходиться за шляхом/etc/pam.d/login
.
Приклад конфігурації PAM для служби входу може виглядати так:
Реалми керування PAM
Ці реалми, або групи керування, включають auth, account, password та session, кожен відповідальний за різні аспекти процесу аутентифікації та керування сеансом:
Auth: Підтверджує ідентифікацію користувача, часто шляхом запиту пароля.
Account: Обробляє перевірку облікового запису, перевіряючи умови, такі як членство в групі або обмеження за часом доби.
Password: Керує оновленням пароля, включаючи перевірку складності або запобігання атакам словником.
Session: Керує діями під час початку або завершення сеансу служби, такими як монтування каталогів або встановлення обмежень ресурсів.
Керування модулем PAM
Керування визначає відповідь модуля на успіх або невдачу, впливаючи на загальний процес аутентифікації. Ці включають:
Required: Невдача обов'язкового модуля призводить до кінцевої невдачі, але лише після перевірки всіх наступних модулів.
Requisite: Негайне припинення процесу при невдачі.
Sufficient: Успіх обходить решту перевірок того ж реалму, якщо наступний модуль не вдасться.
Optional: Спричиняє невдачу лише у випадку, якщо він єдиний модуль у стеку.
Приклад сценарію
У налаштуванні з кількома модулями аутентифікації процес відбувається відповідно до строгого порядку. Якщо модуль pam_securetty
виявляє, що вхідний термінал несанкціонований, заборонені входи root, але всі модулі все ще обробляються через його статус "required". Модуль pam_env
встановлює змінні середовища, що потенційно сприяє зручності користувача. Модулі pam_ldap
та pam_unix
співпрацюють для аутентифікації користувача, причому pam_unix
намагається використати раніше введений пароль, підвищуючи ефективність та гнучкість методів аутентифікації.
References
Last updated