Hoidke iga konto võimeline normaalselt sisse logima, kuid lubage VPN-i kasutada ainult ühel grupil. PAM saab seda erinevust väljendada ilma teise paroolihoidlata ja OpenVPN-i pistikprogrammi saab suunata teenusele, mis sisaldab ainult neid kontrolle, mida kavatsete. Nipp on ehitada see teenus, ilma et te kogemata süsteemset virna päriksite.

See tutvustus algab pistikprogrammi teenusenimest, ehitab poliitika ja testib seejärel kolme tulemust, mis loevad: liige, kehtiva parooliga kõrvaline ja halb mandaat.

Miks eraldi PAM-teenus

auth-pam pistikprogramm võtab argumendiks teenusenime. See nimi valib faili asukohas /etc/pam.d ja selle faili virn on see, mis VPN-i sisselogimisel töötab. Kui edastate sama nime, mida kasutab süsteemne sisselogimine, pärite iga otsuse selles virnas, sealhulgas need, mis lisati hiljem mitteseotud põhjustel.

Looge selle asemel sihtotstarbeline teenus. Alustage töötavast virnast, mis juba autendib kavandatud backend'i vastu, näiteks kohalik paroolifail, SSSD või kataloogiteenus, ja lisage seejärel kõlblikkusreegel. Kahe rea kopeerimine tühja faili on tavaline viga: parooli aegumine, konto lukustamine ja muud kontrollid võivad asuda virnas, mida te ei kopeerinud.

Teenuse eraldamine piirab ka kahju ulatust. Ainult VPN-ile mõeldud reegel jagatud virnas võib keelata SSH või konsooli juurdepääsu kõigile, mis muudab juurdepääsumuudatuse katkestuseks.

Grupireegli kirjutamine

Kõlblikkuskontroll kuulub konto faasi, pärast mandaadi kontrollimist. Reegel nagu account required pam_succeed_if.so user ingroup vpnusers lubab töötlemist jätkata ainult siis, kui autenditud kasutaja on selle grupi liige.

See rida on fragment, mitte täielik teenus. Integreerige see sinna, kuhu jõuab iga aktsepteeritud tee, ja kontrollige selle ümber olevaid juhtimislippe. sufficient või hüppejuhtimine varem virnas võib töötlemise lõpetada enne, kui teie reegel käivitub, mis muudab piirangu soovituseks.

Ärge lisage use_uid harjumusest. Ilma selleta hindab moodul kasutajat, keda autenditakse; sellega hindab moodul kontot, mille all OpenVPN-i protsess töötab, mis on tavaliselt root või teenusekonto ja seega mitte sisselogiv isik.

Grupiliikmelisus tuleb süsteemi identiteedi lahendamisest, mitte nimest, mida tunnete. Kataloogikasutajate puhul kinnitage, et sama backend vastab selle kasutaja grupipäringutele, sest tuttava nimega kohalik grupp on teine objekt kui sama nimega kataloogigrupp.

Järjekorra ja identiteedi lõksud

Asetage grupireegel autentimisvirna järele ja iga kontrolli järele, mis peab endiselt kehtima, kuid enne või kõrvale kontokontrollidega, mida hoiate. PAM hindab mooduleid failijärjekorras ja iga rea juhtimisväärtus otsustab, kas tõrge on lõplik.

Jälgige dubleeritud virnu. Tavaline muster on kaasamine, mis juba sisaldab kontoreeglit, millele järgneb teie enda grupireegel, mis annab kaks otsust seal, kus te ootasite ühte. Lugege kaasatud faili, mitte ainult seda, mida muutsite. Kiire viis tegeliku järjekorra nägemiseks on lugeda faili ülalt alla ja märkida üles iga juhtimisväärtus.

Hoidke muud vastuvõtunõuded puutumatuna. Õnnestunud parool ei asenda sertifikaadikontrolle, teist faktorit ega pärast ühendust toimuvat autoriseerimist, ja see poliitika ei asenda ühtegi neist. See otsustab ainult, kas konto on VPN-i juurdepääsuks kõlblik.

Liikmete, kõrvaliste ja valede paroolide testimine

Testige kolme juhtumit enne, kui poliitika valmis loete. Liige ühendub edukalt. Väljaspool gruppi olev kehtiv konto autendib oma parooli, kuid VPN-i juurdepääs keelatakse. Vale parool kummagi konto jaoks lükatakse tagasi autentimise etapis, mitte grupireegli poolt.

Vaadake kliendile nähtavat viga ja serveri logi koos, sest mõlemad tõrked võivad ühenduva inimese jaoks sarnased tunduda. Erinevus on toe jaoks oluline: õige parooliga kõrvaline vajab grupimuudatust, vale parool aga mandaadi lähtestamist.

Hoidke PAM-i muutes teist sessiooni avatuna ja kontrollige pärast muudatust ka tavalist SSH-sisselogimist. Sihtotstarbelise teenuse mõte on, et süsteemne sisselogimine peaks jääma mõjutamata, ja ainus viis seda teada on seda testida.

Kui midagi katki läheb, taastage eelmine teenusefail koopiast. Reegel, mida soovite, on lihtne sõnastada: liikmelisus muudab konto VPN-i juurdepääsuks kõlblikuks ja iga muu nõutav kontroll kehtib endiselt.

Seotud artiklid