Upravljalni vtič OpenVPN: krmilni kanal, ne meritve
Sprejet upravljalni odjemalec drži krmilne ukaze, ne pogleda samo za branje. Imejte vtič Unix v lasti, preskočite sejo pri posnetkih in držite TCP zunaj.
Vprašajte upravljalni vmesnik enkrat za stanje in začne izgledati kot vrata za stanje. Pa ni. Ko je odjemalec sprejet, lahko izdaja krmilne ukaze protokola, in račun, ki poganja tega odjemalca, podeduje vse, kar lahko ti ukazi storijo demonu. Obravnavanje tega kot toka samo za branje je napaka, ki integracijo nadzora spremeni v konzolo brez overjanja.
Prepričanje in koliko stane
Prepričanje je, da je upravljalni poslušalec enakovreden končni točki meritev: priključite zbiralnik, preberite števce in nadaljujte. V resnici zbiralnik odpre sejo s krmilnimi zmožnostmi, in vsaka druga predpostavka o uvedbi je zdaj odvisna od tega, da se ta zbiralnik obnaša dobro.
Nič v vmesniku ne oglašuje načina samo za branje. Ni vloge opazovalca, ki bi jo izbrali, in uporabniško ime v konfiguraciji je ne ustvari.
Kaj sprejeti odjemalec v resnici drži
Skupnostni demon sprejme hkrati samo enega dejavnega upravljalnega odjemalca. Ta en sam prostor pomeni, da se GUI, skript in nadzorni agent ne morejo vsi povezati; drugi čaka ali ne uspe, medtem ko prvi drži sejo. Če vaša zasnova predpostavlja sočasne bralce, je že napačna.
Kjer zadošča občasni posnetek, izhod v datoteko stanja da iste številke brez žive seje. Pisanje te datoteke v presledkih in branje z običajnimi datotečnimi dovoljenji drži zbiralnik popolnoma zunaj krmilne ravnine, in to je ureditev, ki jo večina nadzora dejansko potrebuje.
Lastni vtič, ne odprt
Vtič domene Unix drži krmilno pot zunaj omrežja, kar iz težave odstrani spreminjajoči se naslov tunela. Ne odstrani pa vprašanja dovoljenj. Nadrejena mapa mora biti za storitveni račun zapisljiva in za račun krmilnika dosegljiva, in to sta dve ločeni dovoljenji:
management /run/openvpn/office-management.sock unix /etc/openvpn/management.password
management-client-user vpn-observer
management-client-group vpn-observerDatoteka z geslom nosi upravljalno skrivnost v svoji prvi vrstici. Zaščitite to datoteko kot vsako drugo poverilnico in njeno vsebino držite zunaj dnevnikov in zahtevkov za podporo. Omejitve uporabnika in skupine so preverjanja sopotnika na vtiču Unix, ne dovoljenja datotečnega sistema, zato predvideni proces potrebuje tako dostop do datoteke kot ustrezno identiteto.
Narediti vtič dostopen vsemu svetu, da bi odpravili napako dovoljenj, je edini popravek, ki se mu je treba izogniti. Spremeni krajevni krmilni kanal v nekaj, kar lahko krmili kateri koli proces na gostitelju.
Objavljanje prek TCP ni enaka zasnova
Premik poslušalca na vrata TCP ga ne naredi varnejšega ali priročnejšega. Upravljalno geslo se pošilja v odprtem besedilu, zato poslušalec TCP izpostavi tako poverilnico kot sejo vsakomur, ki lahko opazuje pot. Doseganje z drugega gostitelja zahteva pooblaščen upravni kanal ali majhnega krajevnega agenta, ki izpostavlja le opažanja, ki jih potrebujete.
Geslo na prenosu v odprtem besedilu je overjanje brez zaupnosti in ta kombinacija je slabša, kot izgleda, ker se zdi zaščitena.
Zagonske odvisnosti, ki jih niste zahtevali
Več upravljalnih možnosti spremeni življenjski cikel demona. Zadrževanje zagona, dokler se krmilnik ne poveže, ali končanje, ko krmilnik izgine, spremeni izbirnega opazovalca v trdo odvisnost. Nadzorni agent, ki se sesuje, bi takrat s seboj vzel tudi tunel.
Preglejte te možnosti, preden omogočite karkoli razen samega vtiča. Izbirno opazovanje mora ostati izbirno, politika ponovnega zagona pa ne sme biti povezana z zbiralnikom, dodanim za grafe.
Datoteka vtiča, ki ostane po neuspelem procesu, ni dokaz, da poslušalec obstaja. Preden jo odstranite, ugotovite, katera instanca ima pot v lasti, in uporabite lastni tok obnove storitve, namesto da brišete datoteke pod delujočim demonom.
Kako izgleda sprejetje
Zasnovo pokrivajo štiri preverjanja: predvidena identiteta krmilnika se poveže, proces brez te identitete je zavrnjen, demon preživi krmilnik, ki se odklopi brez opozorila, in tunel po nadzorovanem ponovnem zagonu še vedno prenaša promet. Uspešna upravljalna povezava dokaže le krmilno ravnino. O tem, ali promet zasebnih aplikacij deluje, ne pove ničesar, zato to preizkusite ločeno. Štiri izide zapišite tja, kjer jih bo našel naslednji operater.
Dokumentacija upravljalnega vmesnika opisuje model enega odjemalca in privilegirano naravo protokola, in to je del, ki se ga splača prebrati, preden nanj usmerite nadzorno ploščo.