OpenVPN-Anmeldungen op eng Grupp mat enger PAM-Politik beschränken
En eegene PAM-Service kann nëmme Membere vun enger VPN-Grupp zouloossen, ouni d'systemwäit Umeldungsregelen unzepaken. Richt den auth-pam-Plugin drop a test d'Resultater.
Halt all Kont fäeg fir normal unzemellen, awer loos nëmmen eng Grupp de VPN benotzen. PAM kann deen Ënnerscheed ausdrécken ouni en zweeten Passwuertspeicher, an den OpenVPN-Plugin kann op e Service geriicht ginn, deen nëmmen d'Kontrollen enthält, déi Dir wëllt. Den Trick ass dee Service ze bauen, ouni onbedéngt e systemwäite Stack ze ierwen.
D'Rundgang hei fänkt beim Servicenumm vum Plugin un, baut eng Politik a test dann déi dräi Resultater déi zielen: e Member, en Ausseistehenden mat engem gültege Passwuert an eng schlecht Umeldungsinformatioun.
Firwat en eegene PAM-Service
Den auth-pam-Plugin hëlt e Servicenumm als Argument. Dee Numm wielt eng Datei ënner /etc/pam.d, an de Stack an där Datei ass dat, wat bei enger VPN-Umeldung leeft. Wann Dir deen nämmlechten Numm gëfft, deen eng systemwäit Umeldung benotzt, ierft Dir all Entscheedung an deem Stack, och déi, déi spéider aus onzefrackenen Grënn derbäi koumen.
Erstellt amplaz en eegene Service. Fänkt mat engem funktionéierende Stack un, deen sech schonn um virgesi Backend authentifizéiert, wéi eng lokal Passwuertdatei, SSSD oder en Verzeechnisservice, a füügt dann d'Qualifikatiounsregel derbäi. Zwou Zeilen an eng eidel Datei ze kopéieren ass de geleefeg Feeler: Passwuertsofaf, Kontsperrung an aner Kontrollen kënnen am Stack sinn, deen Dir net kopéiert hutt.
De Service ze trennen limitéiert och de Schued. Eng nëmme-VPN-Regel an engem gedeelten Stack kann SSH- oder Konsolzougang fir all eenzele verweigeren, wat eng Zougangsännerung an en Ausfall ëmwandelt.
D'Gruppregel schreiwen
D'Qualifikatiounspréifung gehéiert an d'Kontphas, nodeems d'Umeldungsinformatioun verifizéiert gouf. Eng Regel wéi account required pam_succeed_if.so user ingroup vpnusers erlaabt d'Veraarbechtung nëmmen dann weiderzeféieren, wann de verifizéierte Benotzer Member vun där Grupp ass.
Déi Zeil ass e Fragment, keen vollständege Service. Integréiert se do, wou all akzeptéierte Wee se erreecht, a kontrolléiert d'Steierflags ronderëm. Eng sufficient- oder Sprongsteierung méi fréi am Stack kann d'Veraarbechtung ophalen, ier är Regel leeft, wat d'Beschränkung zu engem Virschlag mécht.
Füügt use_uid net aus Gewunnecht derbäi. Ouni se bewäert de Modul de Benotzer, deen authentifizéiert gëtt; mat hir bewäert de Modul de Kont, ënner deem den OpenVPN-Prozess leeft, wat normalerweis root oder e Servicekont ass an domat net d'Persoun, déi sech umellt.
D'Gruppememberschaft kënnt aus der Identitéitsopléisung vum System, net aus engem Numm, deen Dir erkennt. Fir Verzeechnisbenotzer bestätegt, datt dee selwechte Backend Gruppenufroen fir dee Benotzer beäntwert, well eng lokal Grupp mat engem bekannten Numm en anert Objet ass wéi d'Verzeechnisgrupp mat demselwechten Numm.
Falen an Uerdnung an Identitéit
Setzt d'Gruppregel no dem Authentifizéierungsstack an no all Kontroll, déi nach musse gëllen, awer virun oder niewent den Kontkontrollen, déi Dir behält. PAM bewäert Moduler an der Dateiuerdnung, an de Steierwäert op all Zeil entscheet, ob e Feeler definitiv ass.
Passt op duebel Stacke op. E geleefeg Muster ass en Include, deen schonn eng Kontregel enthält, gefolgt vun ärer eegener Gruppregel, wat zwou Entscheedungen erzeugt, wou Dir eng erwaart hutt. Liest d'agebaut Datei, net nëmmen déi, déi Dir geännert hutt. Eng séier Manéier déi effektiv Uerdnung ze gesinn ass d'Datei vun uewen no ënnen ze liesen an all Steierwäert ze notéieren.
Halt déi aner Zouloossungsufuerderungen intakt. E gelungen Passwuert ersetzt keng Zertifikatskontrollen, en zweete Faktor oder d'Autorisatioun no der Verbindung, an dës Politik ass keen Ersatz fir eng dovun. Se entscheet nëmmen, ob de Kont qualifizéiert ass, fir VPN-Zougang consideréiert ze ginn.
Memberen, Ausseistehend an falsch Passwierder testen
Test dräi Fäll, ier Dir d'Politik als fäerdeg ugesitt. E Member verbënnt sech erfollegräich. E gültege Kont ausserhalb vun der Grupp authentifizéiert säi Passwuert, awer VPN-Zougang gëtt him verweigert. E falscht Passwuert fir ee vun de béiden Konten gëtt an der Authentifizéierungsphas ofgeleent, net duerch d'Gruppregel.
Kuckt de clientvisibele Feeler an de Serverlog zesummen, well béid Feeler fir d'Persoun déi sech verbënnt ähnlech ausgesi kënnen. Den Ënnerscheed ass wichteg fir de Support: en Ausseistehenden mam richtege Passwuert brauch eng Gruppenännerung, wärend e falscht Passwuert en Zerécksetze vun der Umeldungsinformatioun erfuerdert.
Halt eng zweet Sitzung op, wärend Dir PAM ännert, a verifizéiert no der Ännerung och déi normal SSH-Umeldung. De Punkt vum eegene Service ass, datt d'Systemumeldung onbeaflosst soll bleiwen, an den eenzege Wee fir dat ze wëssen ass et ze testen.
Wann eppes briechen geet, restauréiert déi viregt Service-Datei aus enger Kopie. D'Regel déi Dir wëllt ass einfach ze soen: Memberschaft mécht e Kont qualifizéiert fir VPN-Zougang, an all aner néideg Kontroll gëllt nach ëmmer.