Tartsa minden fiókot képesnek a normál bejelentkezésre, de csak egy csoport számára engedje a VPN használatát. A PAM kifejezheti ezt a különbséget egy második jelszótár nélkül, és az OpenVPN bővítmény egy olyan szolgáltatásra irányítható, amely csak a szándékolt ellenőrzéseket tartalmazza. A trükk az, hogy ezt a szolgáltatást anélkül építse fel, hogy véletlenül egy rendszerszintű vermet örökölne.

Az itteni végigvezetés a bővítmény szolgáltatásnevével kezdődik, szabályzatot épít, majd teszteli a három fontos kimenetet: egy tagot, egy érvényes jelszóval rendelkező kívülállót és egy hibás hitelesítő adatot.

Miért külön PAM-szolgáltatás

Az auth-pam bővítmény argumentumként egy szolgáltatásnevet kap. Ez a név egy fájlt választ ki az /etc/pam.d alatt, és az abban lévő verem fut le a VPN-bejelentkezés során. Ha ugyanazt a nevet adja át, amelyet egy rendszerszintű bejelentkezés használ, örökli a verem minden döntését, beleértve a később, független okokból hozzáadottakat is.

Hozzon létre helyette dedikált szolgáltatást. Induljon ki egy működő veremből, amely már a szándékolt backend felé hitelesít, például helyi jelszófájl, SSSD vagy címtárszolgáltatás, majd adja hozzá a jogosultsági szabályt. A két sor üres fájlba másolása a gyakori hiba: a jelszó lejárata, a fiók zárolása és más ellenőrzések abban a veremben lehetnek, amelyet nem másolt át.

A szolgáltatás szétválasztása a kár terjedelmét is korlátozza. Egy csak VPN-re vonatkozó szabály egy megosztott veremben mindenkitől megtagadhatja az SSH- vagy konzolhozzáférést, ami a hozzáférési változtatást kieséssé változtatja.

A csoportszabály megírása

A jogosultsági ellenőrzés a fiókfázisba tartozik, miután a hitelesítő adat ellenőrzése megtörtént. Egy olyan szabály, mint a account required pam_succeed_if.so user ingroup vpnusers, csak akkor engedi folytatni a feldolgozást, ha a hitelesített felhasználó tagja ennek a csoportnak.

Ez a sor töredék, nem teljes szolgáltatás. Integrálja oda, ahová minden elfogadott útvonal eljut, és ellenőrizze a körülötte lévő vezérlőjelzőket. Egy korábbi sufficient vagy ugró vezérlés a veremben befejezheti a feldolgozást, mielőtt a szabálya lefutna, ami a korlátozást javaslattá változtatja.

Ne adja hozzá a use_uid beállítást megszokásból. Nélküle a modul a hitelesítendő felhasználót értékeli; vele a modul azt a fiókot értékeli, amely alatt az OpenVPN folyamat fut, ami általában root vagy szolgáltatásfiók, és ezért nem a bejelentkező személy.

A csoporttagság a rendszer identitásfeloldásából származik, nem egy általa ismert névből. Címtárfelhasználók esetén erősítse meg, hogy ugyanaz a backend válaszol a felhasználó csoportkérdéseire, mert egy ismerős nevű helyi csoport más objektum, mint az azonos nevű címtárcsoport.

Sorrendi és identitáscsapdák

Helyezze a csoportszabályt a hitelesítési verem után és minden olyan ellenőrzés után, amelynek továbbra is érvényesnek kell maradnia, de a megtartott fiókellenőrzések előtt vagy mellettük. A PAM a modulokat fájlsorrendben értékeli, és az egyes sorok vezérlőértéke dönti el, hogy egy hiba végleges-e.

Figyeljen a duplikált vermekre. Gyakori minta egy olyan include, amely már tartalmaz fiókszabályt, majd az Ön csoportszabálya következik, ami két döntést eredményez ott, ahol egyet várt. Olvassa el a beillesztett fájlt, ne csak azt, amelyet szerkesztett. A tényleges sorrend gyors megtekintésének módja a fájl fentről lefelé olvasása és az egyes vezérlőértékek feljegyzése.

Tartsa érintetlenül a többi belépési követelményt. Egy sikeres jelszó nem helyettesíti a tanúsítványellenőrzéseket, egy második tényezőt vagy a kapcsolat utáni engedélyezést, és ez a szabályzat egyikük helyett sem áll. Csak azt dönti el, hogy a fiók jogosult-e a VPN-hozzáférés szempontjából való figyelembevételre.

Tagok, kívülállók és hibás jelszavak tesztelése

Teszteljen három esetet, mielőtt késznek tekinti a szabályzatot. Egy tag sikeresen csatlakozik. A csoporton kívüli érvényes fiók hitelesíti a jelszavát, de a VPN-hozzáférést megtagadják tőle. Bármelyik fiók hibás jelszava a hitelesítési szakaszban utasítható el, nem a csoportszabály által.

Nézze együtt az ügyfél számára látható hibát és a kiszolgálónaplót, mert mindkét hiba hasonlónak tűnhet a csatlakozó személy számára. A különbség fontos a támogatás szempontjából: a helyes jelszóval rendelkező kívülállónak csoportváltásra van szüksége, míg a hibás jelszó a hitelesítő adat visszaállítását igényli.

Tartson nyitva egy második munkamenetet a PAM szerkesztése közben, és a változtatás után ellenőrizze a szokásos SSH-bejelentkezést is. A dedikált szolgáltatás lényege, hogy a rendszerbejelentkezésnek érintetlennek kell maradnia, és ezt csak teszteléssel lehet megtudni.

Ha valami elromlik, állítsa vissza az előző szolgáltatásfájlt egy másolatból. A kívánt szabály egyszerűen megfogalmazható: a tagság jogosultsá teszi a fiókot a VPN-hozzáféréshez, és minden más szükséges ellenőrzés továbbra is érvényes.

Kapcsolódó cikkek