Sauga, valdant vartotojus „Linux“ aplinkoje, yra labai svarbi, ir mes visada turime ieškoti geriausių šiam tikslui skirtų variantų tiek viduje, tiek išorėje. Vienas iš saugiausių būdų padidinti saugumą „Linux“ sistemose yra daug efektyvesnis administravimas. kaip vartotojai yra autentifikuojami sistemoje, tai leidžia tik tiems vartotojams, kurie turi teisingus kredencialus, turėti prieigą prie sistemos.
Šiuo atveju turime funkciją, vadinamą „Linux -PAM“ („Pluggable Authentication Modules for Linux“ - „Pluggable Authentication Modules for Linux“), kuri buvo sukurta kaip bibliotekų rinkinys, su kuriuo sistemos administratorius galės pasirinkti, kaip programos autentifikuoti vartotojus vietiniame tinkle.
Kurdami programą, suderinamą su PAM, galime perjungti naudojamus autentifikavimo mechanizmus.
Kad šiek tiek geriau suprastume šią sąvoką, galime išanalizuoti, kaip šiuo metu autentifikuojami naudotojai, visų pirma vartotojo tapatybė patikrinama įvedus vartotojui priskirtą slaptažodį, šie slaptažodžiai saugomi faile / etc / passwd, tada privilegija apibrėžiama kaip asmeninis vartotojo identifikatorius, vadinamas UID, ir narystė turimose grupėse, paslaugose ir programose yra prieinama pagal kiekvieno vartotojo asmeninę ir grupinę tapatybę.
PAM biblioteka yra sukonfigūruota lokaliai sistemos faile /etc/pam.conf arba failų serijoje, esančioje /etc/pam.d/, siekiant patvirtinti vartotojo užklausą naudojant tik vietoje prieinamus autentifikavimo modulius.
Moduliai yra kataloge / lib / security arba / lib64 / security. /Etc/pam.conf konfigūracijos failo sintaksę sudaro taisyklių sąrašas ir kiekviena taisyklė yra vienoje eilutėje, tačiau ją galima išplėsti eilute, kuri baigiasi „\“. Prieš komentarus rašomi „#“ ženklai ir jie tęsiasi iki kito pasirinktos eilutės galo.
Kiekvienos taisyklės formatas yra skirtukų, atskirtų tarpais, rinkinys, pirmosios trys neskiriamos didžiosiomis ir mažosiomis raidėmis:
paslaugos tipo valdymo modulis-kelio modulis-argumentaiNaudojami šie parametrai:
PaslaugaTai tikrasis programos pavadinimas.
TipasTai modulio / konteksto / sąsajos tipas.
KontrolėNurodo PAM API elgesį tuo atveju, jei modulis negali atlikti autentifikavimo užduoties
Modulio keliasTai absoliutus PAM failo pavadinimas arba santykinis kelias.
modulis-argumentaiNurodo tarpą atskirtą žetonų sąrašą, skirtą modulio elgesiui kontroliuoti.
Kiekvieno failo sintaksė /etc/pam.d/ yra identiška ir susideda iš eilutės su tokia struktūra:
tipas control-flag module modulis-argumentaiPavyzdžiui, faile /etc/pam.d/sshd esanti taisyklės apibrėžtis (be modulio argumentų), kuri neleidžia prisijungti ne prie šaknies, kai yra prieinama /etc /nologin, yra:
reikalinga sąskaita pam_nologin.so
1. Kaip valdyti PAM valdiklius ir grupes „Linux“
PAM autentifikavimo užduotys yra suskirstytos į keturias atskiras administravimo grupes, kiekviena iš šių grupių tvarko skirtingus vartotojo užklausos dėl ribotos paslaugos aspektus.
Modulis yra susietas su vienu iš šių administravimo grupių tipų taip:
sąskaitąŠi vertė siūlo paskyros patvirtinimo paslaugas, susijusias su tokiais aspektais kaip vartotojo slaptažodžio galiojimo laikas arba jei vartotojui leidžiama pasiekti prašomą paslaugą.
autentifikavimasNaudojant šią vertę, vartotojas yra autentifikuojamas ir galima sukonfigūruoti vartotojo kredencialus.
SlaptažodisJie leidžia vartotojams atnaujinti slaptažodžius ir yra integruoti į PAM autentifikavimo modulius
sesijaJis yra atsakingas už sesijos pradžioje ir pabaigoje atliktų veiksmų valdymą.
Priklausomai nuo naudojamos architektūros, PAM objektų failai yra šiame kataloge / lib / security / arba / lib64 / security.
PAM palaikomos valdymo vėliavos:
reikalingasNaudojant šį indikatorių, gedimas akimirksniu grąžina valdymą programai, nurodydamas pirmojo modulio gedimo pobūdį.
reikalaujamaNurodoma, kad visi moduliai yra būtini, kad „libpam“ būtų vykdomas teisingai ir grąžintų programai sėkmę
pakankaŠis modulis leidžia nedelsiant ir teisingai grąžinti programą, šiuo atveju į šio modulio gedimą nekreipiama dėmesio.
neprivalomaŠio rodiklio sėkmė ar nesėkmė paprastai neįrašoma į šį rodiklį
Yra ir kitų vertybių, tokių kaip:
įtrauktiTai apima visas šio tipo eilutes, pagrįstas konkrečiu konfigūracijos failu, kaip šios kontrolės argumentą.
pogrupisApima visas nurodyto tipo eilutes iš nurodyto konfigūracijos failo kaip argumentą šiam konkrečiam valdikliui.
2. Kaip patikrinti, ar programa suderinama su PAM sistemoje „Linux“
Norėdami įdiegti PAM programoje, ji turi būti parašyta ir sudaryta specialiai PAM naudojimui, kad patikrintume, ar ta programa yra suderinama, ar ne, pavyzdžiui, SSH, atliksime šiuos veiksmus:
sudo ldd / usr / sbin / sshd | grep libpam.taip
DIDELIS
3. Kaip apriboti root prieigą per SSH naudojant PAM „Linux“
PAM gali būti naudojamas išjungti root vartotojų prieigą prie sistemos per SSH ir prisijungimo programas, ir tai padeda padidinti sistemos saugumo galimybes.
Jei norime tai padaryti, naudosime /lib/security/pam_listfile.so modulį, kuris suteikia mums galimybę apriboti konkrečių paskyrų privilegijas.
1 žingsnis
Norėdami atlikti šį veiksmą, ketiname pasiekti failą /etc/pam.d/ taip:
sudo nano /etc/pam.d/sshdARBA
sudo nano /etc/pam.d/login2 žingsnis
Ten pamatysime šiuos dalykus:
DIDELIS
3 žingsnis
Šiuo atveju pabaigoje pridėsime šias eilutes:
reikalinga auth pam_listfile.so \ onerr = pavyks elementas = vartotojo pojūtis = paneigti failą = / etc / ssh / deniedusers
DIDELIS
Šiuo atveju buvo pridėti šie parametrai:
autTai modulio tipas, kurį reikia naudoti
reikalaujamaTai valdymo vėliava, su kuria, jei naudojamas modulis, jis turi būti perduotas, nes priešingu atveju bendras rezultatas nepavyks, nepaisant kitų modulių būsenos.
pam_listfile.soTai modulis, su kuriuo leidžiama atmesti arba leisti paslaugas, pagrįstas savavališku failu.
onerr = pavyksTai yra modulio argumentas.
elementas = vartotojasTai yra modulio argumentas, kuriame nurodyta, kas yra išvardyta byloje ir kurią reikia patikrinti.
jausmas = paneigtiTai reiškia modulio, kuriame nurodomas veiksmas, kurį reikia atlikti, argumentą, jei jis yra byloje, jei ne, prašoma priešingo veiksmo.
failas = / etc / ssh / deniedusersTai yra modulio argumentas, kuriame nurodomas failas, kuriame yra vienas elementas eilutėje.
Pakeitimus išsaugome naudodami „Ctrl“ + O klavišus ir išeiname iš redaktoriaus naudodami „Ctrl“ + X.
Po to turime sukurti failą / etc / ssh / deniedusers ir pridėti jame pagrindinį vartotoją, o vėliau priskirti atitinkamus leidimus:
sudo chmod 600 / etc / ssh / deniedusers
4. Kaip konfigūruoti PAM „Linux“
Ypatinga reikšmė yra numatytoji PAM reikšmė, todėl visos vertės nėra aiškiai paminėtos, todėl vertė N atitinka funkcijos, iškviestos modulyje, kuriam apibrėžta eilutė, grąžinimo kodą.
Veiksmas turi keletą argumentų, tokių kaip:
ignoruotiJei šį veiksmą naudojate su krūva modulių, modulio grąžinimo būsena nesukuria grąžinimo kodo iš programos.
blogaiNurodo, kad grąžinimo kodas turėtų būti laikomas naudojamo modulio gedimų požymiu.
mirtiJis atlieka tą pačią funkciją kaip ir blogas, tačiau gali nutraukti modulių krūvą ir PAM iškart grįžta į programą.
GeraiŠi reikšmė nurodo PAM, kad sistemos administratorius naudos šį grąžinimo kodą tiesiai į viso modulių krūvos grąžinimo kodą.
padarytaAtlieka tą patį vaidmenį kaip Gerai, bet gali nutraukti modulio krūvą
N(nepasirašytas sveikasis skaičius) - ekvivalentas gerai, bet gali peršokti kitus kamino N modulius.
Iš naujo nustatytiNaudojant šį parametrą, išvaloma visa modulio kamino būsenos atmintis ir jis paleidžiamas iš naujo sukraunant kitą modulį.
Reikalingas kiekvienas PAM bazinis žodis; reikalingas; pakanka ir neprivaloma, turi lygiavertę išraišką […] sintaksės požiūriu, su kuria bus galima parašyti sudėtingesnes taisykles, tokias kaip:
reikalaujama[sėkmė = gerai new_authtok_reqd = gerai ignoruoti = ignoruoti numatytąjį = blogai]
reikalingas[sėkmė = gerai new_authtok_reqd = gerai ignoruoti = ignoruoti numatytąjį = mirti]
pakanka[sėkmė = padaryta nauja_authtok_reqd = padaryta numatytoji = ignoruoti]
neprivaloma[sėkmė = gerai new_authtok_reqd = gerai numatytasis = ignoruoti]
1 žingsnis
Pavyzdžiui, „CentOS 7“ galime pamatyti PAM failo taisykles vykdydami:
sudo nano /etc/pam.d/postlogin
DIDELIS
2 žingsnis
Jei prieiname prie failo:
sudo nano /etc/pam.d/smartcard-auth
DIDELIS
Norėdami pasiekti daugiau PAM pagalbos, galime atlikti:
vyras pam.dNaudojant PAM, bus galima sukurti ar redaguoti taisykles, kad būtų geriau administruojamas autentifikavimo procesas „Linux“.