Kako funkcionira i konfigurira PAM u Linuxu

Sigurnost pri upravljanju korisnicima u Linux okruženjima bitna je i uvijek moramo tražiti najbolje mogućnosti dostupne u tu svrhu bilo interno ili eksterno. Jedna od najsigurnijih metoda za povećanje sigurnosti u Linux sustavima je administracija na mnogo učinkovitiji način. način provjere autentičnosti korisnika u sustavu, to dopušta pristup sustavu samo onim korisnicima koji imaju ispravne vjerodajnice.

U ovom slučaju imamo funkcionalnost pod nazivom Linux -PAM (Pluggable Authentication Modules for Linux - Pluggable Authentication Modules for Linux) koja je razvijena kao skup knjižnica s kojima će administratoru sustava biti omogućen odabir načina na koji aplikacije provjeriti autentičnost korisnika na lokalnoj mreži.
Prilikom sastavljanja aplikacije kompatibilne s PAM -om, možemo se prebacivati ​​između korištenih mehanizama provjere autentičnosti.

Da bismo malo bolje razumjeli ovaj koncept, možemo analizirati način na koji se korisnici trenutno ovjeravaju, prije svega identitet korisnika se provjerava kada se unese lozinka dodijeljena korisniku, te se lozinke spremaju u / etc / passwd datoteku, tada se privilegija definira u obliku osobnog identifikatora korisnika koji se naziva UID i članstvo u dostupnim grupama, uslugama i aplikacijama dostupno je na temelju osobnog i grupnog identiteta svakog korisnika.

PAM knjižnica konfigurirana je lokalno u datoteci sustava /etc/pam.conf ili u nizu datoteka smještenih u /etc/pam.d/ kako bi se autentificirao korisnički zahtjev putem modula za provjeru autentičnosti koji su dostupni samo lokalno.

Moduli su dostupni u direktoriju / lib / security ili / lib64 / security. Sintaksa konfiguracijske datoteke /etc/pam.conf sastoji se od popisa pravila, a svako pravilo nalazi se u jednom retku, ali se može proširiti retkom koji završava `\ '. Komentari prethode oznake "#" i protežu se do sljedećeg kraja odabranog retka.

Format svakog pravila je zbirka kartica odvojenih razmacima, prve tri ne razlikuju velika i mala slova ovako:

 tip usluge kontrolni modul-put modul-argumenti
Korišteni parametri su:

ServisTo je pravi naziv aplikacije.
TipTo je tip modula / konteksta / sučelja.
KontroliratiOdnosi se na ponašanje PAM API -ja u slučaju da modul ne može izvršiti zadatak provjere autentičnosti
Staza modulaTo je apsolutni naziv datoteke ili relativni put PAM -a.
module-argumentiOznačava popis žetona odvojenih razmakom u svrhu kontrole ponašanja modula.

Sintaksa svake datoteke u /etc/pam.d/ identična je i sastoji se od redaka sa sljedećom strukturom:

 upišite control-flag module module-arguments
Na primjer, definicija pravila (bez argumenata modula) dostupna u /etc/pam.d/sshd datoteci, koja ne dopušta prijave bez korijena kada je /etc /nologin dostupna je:
 potreban račun pam_nologin.so

1. Kako upravljati PAM kontrolama i grupama na Linuxu


Zadaci PAM provjere autentičnosti katalogizirani su u četiri zasebne administracijske grupe, od kojih svaka upravlja različitim aspektima korisničkog zahtjeva za ograničenu uslugu.

Modul je povezan s jednom od ovih vrsta administrativnih grupa na sljedeći način:

računOva vrijednost nudi usluge za provjeru računa sa aspektima kao što je istek korisničke lozinke ili ako je korisniku dopušten pristup traženoj usluzi.
ovjeraS ovom vrijednošću korisnik je autentificiran i korisničke vjerodajnice se mogu konfigurirati.
lozinkaOmogućuju korisnicima ažuriranje lozinki i integrirani su s PAM modulima za provjeru autentičnosti
sjednicaOn je zadužen za upravljanje radnjama provedenim na početku i na kraju sesije.

PAM objektne datoteke nalaze se u sljedećem direktoriju / lib / security / ili / lib64 / security, ovisno o korištenoj arhitekturi.

Kontrolne zastavice podržane u PAM -u su:

potrebanS ovim indikatorom kvar odmah vraća kontrolu aplikaciji, što ukazuje na prirodu kvara prvog modula.
potrebanNavedeno je da su svi moduli potrebni za ispravno izvršavanje libpama i vraćanje uspjeha u aplikaciju
dovoljanOvaj modul vodi do trenutnog i ispravnog vraćanja aplikacije, u ovom slučaju se zanemaruje kvar ovog modula.
izbornoUspjeh ili neuspjeh ovog modula općenito se ne bilježi u ovom pokazatelju

Postoje i druge vrijednosti, kao što su:

uključujuUključuje sve retke tipa na temelju određene konfiguracijske datoteke kao argument za ovu kontrolu.
podskupUključuje sve retke zadane vrste iz navedene konfiguracijske datoteke kao argument ove posebne kontrole.

2. Kako provjeriti je li program kompatibilan s PAM -om u Linuxu


Za implementaciju PAM -a u aplikaciju, mora biti napisan i sastavljen posebno za upotrebu PAM -a, da bismo provjerili je li ta aplikacija kompatibilna ili ne, na primjer, SSH, izvršit ćemo sljedeće:
 sudo ldd / usr / sbin / sshd | grep libpam.tako

POVEĆAJTE

3. Kako ograničiti root pristup putem SSH -a s PAM -om na Linuxu


PAM se može koristiti za onemogućavanje pristupa root korisnika sustavu putem SSH -a i programa za prijavu, što pomaže povećati sigurnosne mogućnosti sustava.

Ako to želimo učiniti, koristit ćemo modul /lib/security/pam_listfile.so koji nam daje mogućnost ograničavanja privilegija određenih računa.

Korak 1
Da bismo izvršili ovu radnju, pristupit ćemo datoteci /etc/pam.d/ na sljedeći način:

 sudo nano /etc/pam.d/sshd
ILI
 sudo nano /etc/pam.d/login
Korak 2
Tamo ćemo vidjeti sljedeće:

POVEĆAJTE

Korak 3
U ovom slučaju na kraju ćemo dodati sljedeće retke:

 potrebna auth. pam_listfile.so \ onerr = uspješna stavka = korisnički smisao = odbijanje datoteke = / etc / ssh / disabledusers

POVEĆAJTE

U ovom slučaju dodani su sljedeći parametri:

authTo je vrsta modula za korištenje
potrebanTo je kontrolna zastavica s kojom se, ako se koristi modul, mora proći ili će ukupni rezultat pasti bez obzira na status drugih modula.
pam_listfile.takoTo je modul s kojim je dopušteno odbiti ili dopustiti usluge na temelju proizvoljne datoteke.
onerr = uspjetiTo je argument modula.
item = korisnikTo je argument modula u kojem je naznačeno što je navedeno u datoteci i to se mora provjeriti.
smisao = nijekanjeOdnosi se na argument modula u kojem je navedena radnja koju treba provesti ako se nađe u datoteci, ako nije, traži se suprotna radnja.
datoteka = / itd / ssh / odbijenikorisniciTo je argument modula u kojem je navedena datoteka koja sadrži jedan element po retku.

Spremamo promjene pomoću tipki Ctrl + O i izlazimo iz uređivača pomoću Ctrl + X.

Nakon toga moramo stvoriti datoteku / etc / ssh / disabledusers i dodati root korisnika u nju te kasnije dodijeliti odgovarajuća dopuštenja:

 sudo chmod 600 / etc / ssh / disabledusers

4. Kako napredno konfigurirati PAM na Linuxu


Posebna vrijednost je zadana vrijednost u PAM -u, pa sve vrijednosti nisu izričito navedene, stoga vrijednost N odgovara povratnom kodu funkcije dozvane u modulu za koji je definiran redak.
Radnja ima neke argumente kao što su:

zanemaritiU slučaju korištenja ove radnje sa hrpom modula, status povratka modula ne generira povratni kôd iz aplikacije.
lošePokazuje da se povratni kôd treba smatrati indikativnim za kvarove korištenog modula.
umrijetiOn ispunjava istu funkciju kao i loš, ali može prekinuti hrpu modula i PAM se odmah vraća u aplikaciju.
u reduOva vrijednost govori PAM -u da će administrator sustava koristiti ovaj povratni kôd izravno u povratnom kodu cijelog snopa modula.
učinjenoIspunjava istu ulogu kao Ok, ali može prekinuti stog modula
N(cijeli bezznačni broj) - Ekvivalentno je ok, ali može preskočiti sljedećih N modula u stogu.
PoništiKorištenjem ovog parametra briše se sva memorija stanja snopa modula i ponovno se pokreće sa sljedećim složenim modulom.

Svaka od osnovnih PAM riječi, potrebna; potreban; dovoljne i izborne, imaju ekvivalentan izraz u smislu sintakse […], s kojom će biti moguće napisati složenija pravila kao što su:

potreban[uspjeh = u redu new_authtok_reqd = ok zanemariti = zanemariti zadano = loše]
potreban[uspjeh = u redu new_authtok_reqd = ok zanemari = zanemari zadano = umri]
dovoljan[uspjeh = učinjeno new_authtok_reqd = učinjeno zadano = zanemari]
izborno[uspjeh = u redu new_authtok_reqd = ok zadano = zanemari]

Korak 1
Na primjer, u CentOS 7 možemo vidjeti pravila PAM datoteke izvršavanjem:

 sudo nano /etc/pam.d/postlogin

POVEĆAJTE

Korak 2
Ako pristupimo datoteci:

 sudo nano /etc/pam.d/smartcard-auth

POVEĆAJTE

Za pristup dodatnoj PAM pomoći možemo izvršiti:

 čovjek pam.d
S PAM -om bit će moguće stvoriti ili urediti pravila za bolju administraciju procesa provjere autentičnosti u Linuxu.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave