PAM - Pluggable Authentication Modules
Reading time: 3 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne Informacije
PAM (Pluggable Authentication Modules) deluje kao bezbednosni mehanizam koji verifikuje identitet korisnika koji pokušavaju da pristupe računarskim uslugama, kontrolišući njihov pristup na osnovu različitih kriterijuma. Slično je digitalnom čuvaru, osiguravajući da samo ovlašćeni korisnici mogu da koriste određene usluge, dok potencijalno ograničava njihovu upotrebu kako bi se sprečilo preopterećenje sistema.
Konfiguracione Datoteke
- Solaris i UNIX-bazirani sistemi obično koriste centralnu konfiguracionu datoteku smeštenu na
/etc/pam.conf
. - Linux sistemi preferiraju pristup putem direktorijuma, čuvajući konfiguracije specifične za uslugu unutar
/etc/pam.d
. Na primer, konfiguraciona datoteka za uslugu prijavljivanja se nalazi na/etc/pam.d/login
.
Primer PAM konfiguracije za uslugu prijavljivanja može izgledati ovako:
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 upravljački domeni
Ovi domeni, ili upravljačke grupe, uključuju auth, account, password i session, svaki odgovoran za različite aspekte procesa autentifikacije i upravljanja sesijama:
- Auth: Validira identitet korisnika, često tražeći lozinku.
- Account: Rukuje verifikacijom naloga, proveravajući uslove kao što su članstvo u grupi ili ograničenja vremena.
- Password: Upravljanje ažuriranjima lozinki, uključujući provere složenosti ili prevenciju napada rečnikom.
- Session: Upravljanje radnjama tokom početka ili završetka sesije usluge, kao što su montiranje direktorijuma ili postavljanje ograničenja resursa.
PAM kontrola modula
Kontrole određuju odgovor modula na uspeh ili neuspeh, utičući na celokupni proces autentifikacije. Ove uključuju:
- Required: Neuspeh obaveznog modula rezultira konačnim neuspehom, ali tek nakon što su svi naredni moduli provereni.
- Requisite: Odmah prekida proces u slučaju neuspeha.
- Sufficient: Uspeh zaobilazi ostale provere istog domena osim ako neki naredni modul ne ne uspe.
- Optional: Uzrokuje neuspeh samo ako je jedini modul u steku.
Primer scenarija
U postavci sa više auth modula, proces prati strogi redosled. Ako pam_securetty
modul pronađe da je terminal za prijavu neovlašćen, root prijave su blokirane, ali se svi moduli i dalje obrađuju zbog njegovog "required" statusa. pam_env
postavlja promenljive okruženja, potencijalno pomažući u korisničkom iskustvu. Moduli pam_ldap
i pam_unix
rade zajedno na autentifikaciji korisnika, pri čemu pam_unix
pokušava da koristi prethodno dostavljenu lozinku, poboljšavajući efikasnost i fleksibilnost u metodama autentifikacije.
Reference
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.