Spør administrasjonsgrensesnittet om ein status éin gong, og det byrjar å sjå ut som ein statusport. Det er det ikkje. Når ein klient fyrst er innlate, kan han senda ut kontrollkommandoane til protokollen, og kontoen som køyrer klienten arvar alt desse kommandoane kan gjera med daemonen. Å handsame det som ein skriveverna straum er feilen som gjer ein overvakingsintegrasjon om til ein uautentisert konsoll.

Oppfatninga, og kva ho kostar

Oppfatninga er at administrasjonslyttaren svarar til eit måleendepunkt: kople til ein innsamlar, les teljarane, gå vidare. Det som faktisk skjer, er at innsamlaren opnar ein sesjon med kontrollhøve, og kvar andre føresetnad du gjorde om utrullinga heng no på at innsamlaren oppfører seg pent.

Ingenting i grensesnittet annonserer ein skriveverna modus. Det finst inga observatørrolle å velje, og eit brukarnamn i konfigurasjonen skapar inga.

Kva ein innlate klient faktisk held

Fellesskapsdaemonen godtek berre éin aktiv administrasjonsklient om gongen. Den eine plassen gjer at eit GUI, eit skript og ein overvakingsagent ikkje kan kople til alle; den andre ventar eller feilar medan den fyrste held sesjonen. Viss designet ditt føreset samtidige lesarar, er det allereie feil.

Der eit periodisk augneblinksbilete er nok, gir statusfilutskrifta dei same tala utan ein levande sesjon. Å skrive den fila med mellomrom og lese henne med vanlege filrettar held innsamlaren heilt utanfor kontrollplanet, og det er ordninga dei fleste overvakingsløysingar faktisk treng.

Ein eigen sokkel, ikkje ein open

Ein Unix-domenesokkel held kontrollstien utanfor nettverket, noko som fjernar den skiftande tunneladressa frå problemet. Det fjernar ikkje løyvetsspørsmålet. Foreldrekatalogen må vere skrivbar for tenestekontoen og nåbar for kontoen til kontrolløren, og det er to separate løyve:

management /run/openvpn/office-management.sock unix /etc/openvpn/management.password
management-client-user vpn-observer
management-client-group vpn-observer

Passordfila ber administrasjonsløyndomen på den fyrste linja si. Vern den fila som kvar annan legitimasjon, og hald innhaldet unna loggar og støttebillettar. Brukar- og gruppeavgrensingane er partssjekkar på Unix-sokkelen, ikkje filsystemrettar, så den tiltenkte prosessen treng både filtilgangen og den samsvarande identiteten.

Å gjere sokkelen verdsvidt tilgjengeleg for å fjerne ein løyvefeil er den eine rettinga du bør unngå. Det gjer ein lokal kontrollkanal om til noko kvar prosess på verten kan styre.

Å publisere han over TCP er ikkje same design

Å flytte lyttaren til ein TCP-port gjer han ikkje tryggare eller meir praktisk. Administrasjonspassordet vert sendt i klartekst, så ein TCP-lyttar legg både legitimasjonen og sesjonen open for alle som kan sjå stien. Å nå han frå ein annan vert krev ein autorisert administrasjonskanal, eller ein liten lokal agent som berre legg fram dei observasjonane du treng.

Eit passord over ein klarteksttransport er autentisering utan konfidensialitet, og den kombinasjonen er verre enn han ser ut, fordi han kjennest verna.

Oppstartsavhengnader du ikkje bad om

Fleire administrasjonsval endrar livssyklusen til daemonen. Å halde oppstarten tilbake til ein kontrollør koplar til, eller å avslutte når kontrolløren forsvinn, gjer ein valfri observatør til ei hard avhengnad. Ein overvakingsagent som krasjar vil då ta tunnelen med seg ned.

Gå gjennom desse vala før du aktiverer noko utover sokkelen sjølv. Valfri observasjon bør halde fram som valfri, og ein omstartspolicy bør ikkje koplast til ein innsamlar som vart lagd til for grafar.

Ei sokkel fil som ligg att etter ein mislukka prosess er ikkje prov på at ein lyttar finst. Finn ut kva instans som eig stien før du fjernar han, og bruk den eigne attopprettingsflyten til tenesta i staden for å slette filer under ein køyrande daemon.

Korleis aksept ser ut

Fire kontrollar dekkjer designet: den tiltenkte kontrolløridentiteten koplar til, ein prosess utan den identiteten vert avvist, daemonen overlever ein kontrollør som koplar frå utan varsel, og tunnelen fraktar framleis trafikk gjennom ein kontrollert omstart. Ei vellukka administrasjonstilkopling provar berre kontrollplanet. Ho seier ingenting om korvidt trafikk frå private applikasjonar verkar, så test det separat. Skriv ned dei fire resultata der neste operatør kan finne dei.

Dokumentasjonen for administrasjonsgrensesnittet skildrar einklientmodellen og den privilegerte naturen til protokollen, og det er den delen som er verd å lese før du peikar eit dashbord mot han.

Relaterte artiklar