PAM - Pluggable Authentication Modules

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Базова інформація

PAM (Pluggable Authentication Modules) діє як механізм безпеки, який перевіряє ідентичність користувачів, які намагаються отримати доступ до комп'ютерних служб, контролюючи їх доступ на основі різних критеріїв. Це схоже на цифрового сторожа, який забезпечує, що лише авторизовані користувачі можуть взаємодіяти з конкретними службами, при цьому можливо обмежуючи їх використання для запобігання перевантаження системи.

Файли конфігурації

  • Системи Solaris та UNIX зазвичай використовують центральний файл конфігурації, розташований за шляхом /etc/pam.conf.

  • Системи Linux віддають перевагу підходу з каталогами, зберігаючи конфігурації для конкретних служб у каталозі /etc/pam.d. Наприклад, файл конфігурації для служби входу знаходиться за шляхом /etc/pam.d/login.

Приклад конфігурації PAM для служби входу може виглядати так:

auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_unix_auth.so try_first_pass
account sufficient /lib/security/pam_ldap.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_ldap.so
password required /lib/security/pam_pwdb.so use_first_pass
session required /lib/security/pam_unix_session.so

Реалми керування 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