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