ALTE DOCUMENTE
|
||||
Sistemul de autentificare PAM
Sistemul de autentificare PAM (Pluggable Authentication Modules) permite administratorului de sistem sa stabileasca politicile de autentificare fara a interveni asupra programelor de autentificare. Acest sistem consta dintr-un set de biblioteci care ofera o interfata comuna pentru programele care necesita proceduri de autentificare. De cele mai multe ori nu sunt necesare configurari speciale pentru PAM, întrucât la instalarea pachetelor acestea sunt realizate automat.
Fisierele de configurare PAM 14414c27o se gasesc în directorul /etc/pam.d. Fiecare serviciu are propriul fisier. Fiecare linie din aceste fisiere contine cinci elemente: numele serviciului, tipul modulului, câmpul de control, locatia modulului si argumente.
PAM defineste patru tipuri de module pentru a controla accesul la un anumit serviciu:
auth furnizeaza autentificarea propriu-zisa (în general solicitarea si apoi
verificarea parolei);
account verifica daca utilizatorului îi este permis accesul (daca contul nu a expirat etc.);
password seteaza parolele;
session este folosit dupa ce utilizator a fost autentificat, pentru a efectua anumite operatiuni necesare (montarea directorului home a utilizatorului etc.).
Aceste module pot fi suprapuse (stacked) sau plasate unul lânga altul, astfel încât sa fie utilizate mai multe module. Ordinea unei stive de module este importanta în cadrul procesului de autentificare, pentru ca face mai usor administratorului sa impuna mai multe conditii pentru a permite autentificarea utilizatorilor.
Fiecare modul genereaza un rezultat care semnalizeaza succesul sau esecul executiei sale. Câmpul de control stabileste modul de interpretare a acestui rezultat. Câmpul de control decide cât de important sa fie considerat tipul respectiv de modul în vederea acordarii accesului la respectivul serviciu. Exista patru tipuri de câmpuri de control:
required: modulul trebuie sa returneze succes pentru ca autentificarea sa fie permisa. Daca rezultatul este negativ, utilizatorul nu este informat pâna când toate celelalte module nu au fost executate;
Setari avansate ale sistemului
requisite:
sufficienf.
optional:
modulul trebuie sa returneze succes pentru ca autentificarea sa fie
permisa. Daca rezultatul este negativ, utilizatorul este informat
imediat;
modulul este ignorat daca rezultatul este negativ. Daca modulul
returneaza succes si nici un modul marcat required nu a esuat, nu
mai este verificat nici un modul de acest tip;
aceste module nu sunt esentiale pentru succesul sau esecul
autentificarii.
#%PAM-1.0
auth
auth
auth
account
password
password
use_authok
session
requiLeci required required
required
/ liij/security/pam_securetty. so /lib/security/pam_unix.so shadow nullok ' b/,---:Curi ty/pam_nologin. so /Iii'./ oecurity/pam_unix. so /lib/security/pam_cracklib.so /lib/security/pam_unix.so shadow nullok
/lib/security/pam_unix.so
Vom descrie în continuare modulele cele mai importante:
pam_access
Furnizeaza posibilitatea de control al accesului. Se configureaza prin intermediul fisierului /etc/security/access.conf. Numele acestui fisier de configurare poate fi modifîcat-cu ajutorul argumentului accessfiie=fi?ier. Este structurat pe linii, fiecare continând trei câmpuri, separate prin caracterul ":":
| permisiune : utilizatori : origini unde:
permisiune poate fi caracterul "+" pentru acordarea permisiunii sau "-" pentru
refuzarea acesteia; utilizatori este o lista de utilizatori, grupuri sau cuvântul-cheie ALL (toti
utilizatorii), la care se refera regula; origini este o lista de masini, domenii (începând cu "."), adrese IP sau
cuvântul-cheie ALL (orice masina), la care se refera regula.
In cadrul listelor pot fi utilizate si cuvintele-cheie EXCEPT (exceptând o anumita valoare) si LOCAL (masina sau domeniul local). De exemplu:
# refuza accesul utilizatorilor (mai putin lui dragos si lui sabin)
t de pe masinile din afara
-:ALL EXCEPT dragos sabin:ALL EXCEPT LOCAL
Administrarea si configurarea sistemelor Linux
pam_cracklib
Furnizeaza diferite modalitati de verificare a parolelor. Acest modul solicita utilizatorului o parola, o verifica pentru a nu fi cuvânt de dictionar si verifica îndeplinirea anumitor reguli. Accepta urmatoarele argumente:
retry=nr stabileste numarul de reîncercari de introducere a parolei. Implicit:
i;
difok=nr specifica numarul de caractere din vechea parola care nu trebuie sa fie prezente în noua parola. Implicit: 10. în plus, daca jumatate din caracterele din noua parola sunt diferite, aceasta va fi acceptata;
minlen=nr dimensiunea minima a parolei plus unu. Implicit: 9. în plus fata de aceasta valoare, va fi acordat un credit de +1 pentru fiecare tip diferit de caracter (alt caracter, caractere mari, mici si cifra);
dcredit=nr creditul maxim pentru folosirea cifrelor în cadrul parolei. Implicit:
ucredit=nr creditul maxim pentru folosirea caracterelor mari. Implicit: /;
lcredit=nr creditul maxim pentru folosirea caracterelor mici. Implicit: 7;
ocredit=nr creditul maxim pentru folosirea caracterelor diferite. Implicit: 1.
pam_deny
Refuza acceptul neconditionat.
pam_ftp
Daca numele utilizatorului este ftp sau anonymous, este verificata adresa e-mail introdusa ca parola.
pam_limits
Acest modul stabileste anumite limite asupra resurselor sistemului. Se configureaza prin intermediul fisierului /etc/security/limits.conf. Utilizatorul root nu este afectat de limitele definite. Numele fisierului de configurare poate fi modificat cu ajutorul argumentului conf=fisier.
Fiecare linie din fisierul de configurare descrie o limita pentru un utilizator, în urmatorul format:
| domeniu tip obiect valoare
unde:
domeniu poate fi un utilizator, un grup (cu sintaxa @grup) sau caracterul tip poate lua una dintre valorile:
Setari avansate ale sistemului
o hard\ limitele sunt stabilite de nucleul Linux si nu pot fi încalcate;
o soft: limite care pot fi modificate de utilizator, în plaja limitelor
stabilite de nucleu;
o -:
ambele tipuri de limite;
obiect poate lua una dintre valorile:
o core: limiteaza dimensiunea segmentului de program (KB);
o data: limiteaza dimensiunea segmentului de date (KB);
o fsize: limiteaza dimensiunea fisierelor (KB);
o nofile: limiteaza numarul de fisiere deschise simultan;
o stack. limiteaza dimensiunea stivei (KB);
o nproc: limiteaza numarul de procese executate simultan;
o maxlogins: limiteaza numarul de intrari în sistem;
o priority: prioritatea cu care vor fi executate procesele.
o -: nu impune nici o limita.
Un exemplu:
|
@student - maxlogins 3
Sstudent hard nprocs
pamJUstfîle
Permite acordarea / refuzarea accesului, în urma verificarii unor obiecte specificate într-un fisier. Accepta urmatoarele argumente:
onerr=succeed \fail
Stabileste valoarea returnata de modul în caz de eroare: succes,
respectiv esec. sense=allow \ deny
Stabileste semnificatia regulii: acorda sau refuza accesul. file^fisier Specifica locatia fisierului care contine numele obiectelor cu
care se face verificarea. item=user \ tty \ rhost \ ruser \ group \ shell
Specifica tipul obiectelor continute de fisier. apply=utilizator \ @grup
Aplica regula utilizatorului, respectiv a grupului specificat.
pam_nologin
Furnizeaza autentificarea în functie de existenta fisierului /etc/noiogin. Daca acesta exista, accesul va fi refuzat, exceptând utilizatorul root.
pam_pwdb
Permite autentificarea pe baza verificarii parolei. Recunoaste urmatoarele argumente:
Administrarea si configurarea sistemelor Linux
nullok Permite si parole vide.
mdS Criptarea parolelor se face prin metoda MD5.
pam_rhosts_auth
Permite autentificarea stil .rhosts.
pam_securetty
Permite accesul utilizatorului root numai de pe terminalele specificate în fisierul
/etc/securetty.
pam_time
Acest modul permite restrictionarea utilizatorilor în functie de momentul intrarii în sistem. Se configureaza prin intermediul fisierului /etc/security/time.conf, care este alcatuit din mai multe seturi de reguli. Regulile au urmatorul format:
| servicii; terminale; utilizatori; momente_timp
unde:
servicii este lista de servicii la care se aplica regula;
terminale este lista de terminale la care se aplica regula;
utilizatori este lista de utilizatori pentru care se aplica regula. Lista de
utilizatori este o însiruire de directive separate prin caracterul "&" (si logic) sau "i" (sau logic). Fiecare directiva poate contine cel mult un caracter wildcard "*" si poate începe optional cu caracterul "!" (negare);
momente timp este lista de momente de timp în care se aplica regula. Fiecare element este un interval de date/timp (de exemplu, MoFr înseamna de luni pâna vineri, Mol800-2030 înseamna luni de la ora 18 pâna la 20:30).
De exemplu: | ssh;tty* & ttyp*;dragos;MoSu0700-1800
va accepta utilizatorul dragos prin serviciul ssh în toate zilele saptamânii, dar numai între orele 07:00 si 18:00.
pam_unix
Furnizeaza serviciul obisnuit de autentificare prin parola. Sunt permise urmatoarele argumente:
Setari avansate ale sistemului
nullok Accepta si parole vide.
mdS Criptarea se face prin metoda MD5.
shadow Parolele sunt stocate în sistemul shadow (în /etc/shadow).
Mai multe informatii despre sistemul PAM pot fi
obtinute apelând comanda
mân pam.
|