Apriboti OpenVPN prisijungimus viena grupe naudojant PAM politiką
Atskira PAM tarnyba gali įleisti tik VPN grupės narius neliesdama sisteminių prisijungimo taisyklių. Nukreipkite auth-pam papildinį į ją ir patikrinkite rezultatus.
Leiskite kiekvienai paskyrai prisijungti įprastai, bet leiskite VPN naudotis tik vienai grupei. PAM gali išreikšti šį skirtumą be antros slaptažodžių saugyklos, o OpenVPN papildinys gali būti nukreiptas į tarnybą, kurioje yra tik jūsų numatytos patikros. Gudrybė yra sukurti tą tarnybą netyčia nepaveldint sisteminio dėklo.
Čia pateikiama eiga pradedama nuo papildinio tarnybos pavadinimo, sukuriama politika, o tada tikrinami trys svarbūs rezultatai: narys, pašalietis su galiojančiu slaptažodžiu ir blogi prisijungimo duomenys.
Kodėl atskira PAM tarnyba
auth-pam papildinys kaip argumentą ima tarnybos pavadinimą. Tas pavadinimas pasirenka failą /etc/pam.d kataloge, ir to failo dėklas vykdomas VPN prisijungimo metu. Jei perduosite tą patį pavadinimą, kurį naudoja sisteminis prisijungimas, paveldėsite kiekvieną to dėklo sprendimą, įskaitant vėliau dėl nesusijusių priežasčių pridėtus.
Vietoj to sukurkite atskirą tarnybą. Pradėkite nuo veikiančio dėklo, kuris jau autentifikuoja numatytą backend, pavyzdžiui, vietinis slaptažodžių failas, SSSD ar katalogų tarnyba, tada pridėkite tinkamumo taisyklę. Dviejų eilučių kopijavimas į tuščią failą yra dažna klaida: slaptažodžio galiojimo pabaiga, paskyros užrakinimas ir kitos patikros gali būti dėkle, kurio nenukopijavote.
Tarnybos atskyrimas taip pat apriboja žalos mastą. Tik VPN skirta taisyklė bendrame dėkle gali uždrausti SSH ar konsolės prieigą visiems, o tai paverčia prieigos pakeitimą sutrikimu.
Grupės taisyklės rašymas
Tinkamumo patikra priklauso paskyros fazei, po to, kai prisijungimo duomenys patikrinti. Taisyklė, tokia kaip account required pam_succeed_if.so user ingroup vpnusers, leidžia apdorojimui tęstis tik tada, kai autentifikuotas naudotojas yra tos grupės narys.
Ta eilutė yra fragmentas, o ne visa tarnyba. Integruokite ją ten, kur pasiekia kiekvienas priimtas kelias, ir patikrinkite valdymo vėliavėles aplink ją. sufficient arba šuolio valdymas anksčiau dėkle gali baigti apdorojimą prieš jūsų taisyklei įvykstant, o tai apribojimą paverčia pasiūlymu.
Nepridėkite use_uid iš įpročio. Be jo modulis vertina autentifikuojamą naudotoją; su juo modulis vertina paskyrą, kuria veikia OpenVPN procesas, o tai paprastai yra root arba tarnybos paskyra ir todėl ne tas asmuo, kuris prisijungia.
Grupės narystė kyla iš sistemos tapatybės sprendimo, o ne iš jums pažįstamo vardo. Katalogo naudotojams patvirtinkite, kad tas pats backend atsako į to naudotojo grupės užklausas, nes vietinė grupė pažįstamu vardu yra kitas objektas nei to paties pavadinimo katalogo grupė.
Tvarkos ir tapatybės spąstai
Įdėkite grupės taisyklę po autentifikavimo dėklo ir po kiekvienos patikros, kuri vis dar turi galioti, bet prieš jūsų paliekamas paskyros patikras arba šalia jų. PAM vertina modulius failo tvarka, o kiekvienos eilutės valdymo reikšmė nusprendžia, ar gedimas yra galutinis.
Saugokitės dvigubų dėklų. Dažnas modelis yra include, kuriame jau yra paskyros taisyklė, o po jo jūsų grupės taisyklė, kuri sukuria du sprendimus ten, kur tikėjotės vieno. Skaitykite įtrauktą failą, o ne tik tą, kurį redagavote. Greitas būdas pamatyti veiksmingą tvarką yra skaityti failą iš viršaus į apačią ir užsirašyti kiekvieną valdymo reikšmę.
Išsaugokite kitus priėmimo reikalavimus nepaliestus. Sėkmingas slaptažodis nepakeičia sertifikato patikrų, antrojo veiksnio ar autorizacijos po prisijungimo, ir ši politika nėra nė vieno jų pakaitalas. Ji tik nusprendžia, ar paskyra yra tinkama būti svarstoma dėl VPN prieigos.
Narių, pašaliečių ir neteisingų slaptažodžių tikrinimas
Išbandykite tris atvejus, prieš laikydami politiką baigta. Narys sėkmingai prisijungia. Galiojanti paskyra už grupės ribų autentifikuoja savo slaptažodį, bet jai atsisakoma VPN prieigos. Neteisingas slaptažodis bet kuriai paskyrai atmetamas autentifikavimo etape, o ne grupės taisyklės.
Žiūrėkite į klientui matomą klaidą ir serverio žurnalą kartu, nes abu gedimai prisijungiančiam asmeniui gali atrodyti panašiai. Skirtumas svarbus pagalbai: pašaliečiui su teisingu slaptažodžiu reikia grupės pakeitimo, o neteisingas slaptažodis reikalauja iš naujo nustatyti prisijungimo duomenis.
Laikykite antrą sesiją atidarytą, kol redaguojate PAM, ir po pakeitimo patikrinkite įprastą SSH prisijungimą. Atskiros tarnybos esmė yra ta, kad sistemos prisijungimas turi likti nepaveiktas, ir vienintelis būdas tai sužinoti yra išbandyti.
Jei kas nors sulūžta, atkurkite ankstesnį tarnybos failą iš kopijos. Norimą taisyklę lengva suformuluoti: narystė padaro paskyrą tinkamą VPN prieigai, ir visos kitos privalomos patikros vis dar galioja.