Soketi i administrimit të OpenVPN: një kanal kontrolli, jo metrika
Një klient administrimi i pranuar mban komanda kontrolli, jo një pamje vetëm-lexim. Zotëroni soketin Unix, kaloni sesionin për fotografi dhe mbajeni TCP jashtë.
Pyetni një herë ndërfaqen e administrimit për gjendje dhe ajo fillon të duket si një port gjendjeje. Por nuk është. Sapo një klient pranohet, ai mund të lëshojë komandat e kontrollit të protokollit, dhe llogaria që ekzekuton atë klient trashëgon gjithçka që ato komanda mund t'i bëjnë daemon-it. Trajtimi i tij si një rrjedhë vetëm-lexim është gabimi që e kthen një integrim monitorimi në një konsolë pa vërtetim.
Besimi, dhe sa kushton
Besimi është se dëgjuesi i administrimit është i barabartë me një pikë fundore metrikash: lidh një grumbullues, lexo numëruesit, vazhdo. Në fakt grumbulluesi hap një sesion me aftësi kontrolli, dhe çdo supozim tjetër që bëtë për vendosjen tani varet nga sjellja e mirë e atij grumbulluesi.
Asgjë në ndërfaqe nuk reklamon një modalitet vetëm-lexim. Nuk ka rol vëzhguesi për të zgjedhur, dhe një emër përdoruesi në konfigurim nuk krijon një të tillë.
Çfarë mban në të vërtetë një klient i pranuar
Daemon-i i komunitetit pranon vetëm një klient administrimi aktiv në një kohë. Ky vend i vetëm do të thotë që një GUI, një skript dhe një agjent monitorimi nuk mund të lidhen të gjithë; i dyti pret ose dështon ndërsa i pari mban sesionin. Nëse dizajni juaj supozon lexues të njëkohshëm, ai tashmë është i gabuar.
Ku mjafton një fotografi periodike, dalja e skedarit të gjendjes ju jep të njëjtat numra pa një sesion të drejtpërdrejtë. Shkrimi i atij skedari në intervale dhe leximi i tij me leje normale skedari e mban grumbulluesin plotësisht jashtë planit të kontrollit, dhe ky është rregullimi që shumica e monitorimit ka nevojë në të vërtetë.
Një soket i vetin, jo një i hapur
Një soket domeni Unix e mban rrugën e kontrollit jashtë rrjetit, gjë që e heq adresën ndryshuese të tunelit nga problemi. Nuk e heq çështjen e lejeve. Direktoria prind duhet të jetë e shkrueshme nga llogaria e shërbimit dhe e arritshme nga llogaria e kontrolluesit, dhe këto janë dy leje të veçanta:
management /run/openvpn/office-management.sock unix /etc/openvpn/management.password
management-client-user vpn-observer
management-client-group vpn-observerSkedari i fjalëkalimit mban sekretin e administrimit në rreshtin e tij të parë. Mbroni atë skedar si çdo kredencial tjetër, dhe mbajini përmbajtjet e tij jashtë regjistrave dhe tiketave të mbështetjes. Kufizimet e përdoruesit dhe grupit janë kontrolle të palës tjetër në soketin Unix, jo leje të sistemit të skedarëve, kështu që procesi i synuar ka nevojë si për aksesin në skedar ashtu edhe për identitetin përkatës.
Bërja e soketit të aksesueshëm nga e gjithë bota për të hequr një gabim lejeje është e vetmja rregullim që duhet shmangur. Ai e kthen një kanal kontrolli lokal në diçka që çdo proces në host mund ta drejtojë.
Publikimi përmes TCP nuk është i njëjti dizajn
Zhvendosja e dëgjuesit në një port TCP nuk e bën atë më të sigurt ose më të përshtatshëm. Fjalëkalimi i administrimit dërgohet në tekst të qartë, kështu që një dëgjues TCP ekspozon si kredencialin ashtu edhe sesionin ndaj kujtdo që mund të vëzhgojë rrugën. Arritja e tij nga një host tjetër kërkon një kanal administrimi të autorizuar, ose një agjent lokal të vogël që ekspozon vetëm vëzhgimet që ju nevojiten.
Një fjalëkalim mbi një transport me tekst të qartë është vërtetim pa konfidencialitet, dhe ky kombinim është më i keq sesa duket sepse ndihet i mbrojtur.
Varësi nisjeje që nuk i kërkuat
Disa opsione administrimi ndryshojnë ciklin e jetës së daemon-it. Mbajtja e nisjes derisa të lidhet një kontrollues, ose përfundimi kur kontrolluesi zhduket, e kthen një vëzhgues opsional në një varësi të fortë. Një agjent monitorimi që rrëzohet do të merrte atëherë tunelin me vete.
Shqyrtoni ato opsione përpara se të aktivizoni çdo gjë përtej vetë soketit. Vëzhgimi opsional duhet të mbetet opsional, dhe një politikë rindezjeje nuk duhet të lidhet me një grumbullues të shtuar për grafikët.
Një skedar soketi i mbetur pas një procesi të dështuar nuk është provë se ekziston një dëgjues. Identifikoni cila instancë zotëron rrugën përpara se ta hiqni, dhe përdorni rrjedhën e vetë shërbimit për rikuperim në vend që të fshini skedarë nën një daemon që punon.
Si duket pranimi
Katër kontrolle mbulojnë dizajnin: identiteti i synuar i kontrolluesit lidhet, një proces pa atë identitet refuzohet, daemon-i i mbijeton një kontrolluesi që shkëputet pa paralajmërim, dhe tuneli vazhdon të mbajë trafik përmes një rindezjeje të kontrolluar. Një lidhje administrimi e suksesshme provon vetëm planin e kontrollit. Ajo nuk thotë asgjë për atë nëse trafiku i aplikacioneve private funksionon, prandaj testojeni veçmas. Shkruani katër rezultatet atje ku operatori i ardhshëm mund t'i gjejë.
Dokumentacioni i ndërfaqes së administrimit përshkruan modelin me një klient dhe natyrën e privilegjuar të protokollit, dhe kjo është pjesa që ia vlen të lexohet përpara se të drejtoni një panel drejt tij.