Meshnet, Docker og løyvet imellom
Ein mesh-peer som når ein publisert container, kryssar eit vertsløyve og ei Docker-omsetjing. Vurder dei to kvar for seg, elles godkjenner du feil omfang.
To URL-ar kan sjå identiske ut frå nettlesaren til ein peer og likevel tyde svært ulike ting for brannmuren. Den eine peikar på ei teneste som lyttar på verten sjølv. Den andre peikar på ei vertsadresse der porten er publisert inn i eit containarnettverk, der eit omsetjingstrinn overlet sambandet til ein annan IP. I eit peer-til-peer-mesh som styrer tilgangen til det lokale nettverket med eit løyve per peer, er den skilnaden heile gjennomgangen.
Løyvet gjeld vertsendepunktet, omsetjinga gjeld Docker, og innlogginga gjeld applikasjonen. Tre avgjerder, tre stader å sjå.
Følg destinasjonen etter publisering
Ta ein Linux Docker-vert som publiserer port 80 i ein container på vertsport 8080. Ein peer koplar til mesh-adressa til verten på 8080, verten godtek sambandet, og ei destinasjonsomsetjing skriv det om mot bru-adressa til containeren, vanlegvis noko som 172.17.0.2 på port 80.
Når ei regel granskar den straumen, er den interessante destinasjonen containeren, ikkje verten. Ein policy som berre resonnerer om «ei teneste på denne maskina», resonnerer om feil objekt. Førespurnaden landa på verten, men han blir levert ein annan stad.
Difor listar mesh-dokumentasjonen opp Docker-containarar blant ressursane som løyvet for lokalt nettverk styrer på Linux. Løyvet er ikkje eit synonym for ei vanleg oppføring i ei VPN-løyveliste, og dei to kontrollane erstattar ikkje kvarandre. Den eine avgjer om ein peer i det heile kan nå lokale ressursar; den andre avgjer kva destinasjonar ei tunellert rute ber.
Avgjer kor mykje lokal tilgang eit løyve gir
Å gi ein peer tilgang til det lokale nettverket er ikkje ei avgjerd om éin container. Det kan leggje andre publiserte tenester på same verten open, og det kan nå lenger avhengig av korleis verten sender vidare. Vurder det effektive omfanget før du klikkar på brytaren for eitt dashbord.
Sjå deretter kvar Docker publiserer porten. Ei publisering på 0.0.0.0 opnar ein lyttar på kvar vertsadresse, noko som kan leggje til ei vanleg LAN-oppføring ved sida av mesh-oppføringa. Viss kravet berre er mesh, bind publiseringa til den bestemte adressa eller grensesnittet du siktar på, og handsam den vidare bindinga som eit eige funn i staden for ei lettvintheit.
Hald videresendingspolicyen til verten og autentiseringa til applikasjonen sjølv trong nok for tenesta. Ein URL som ser privat ut, er ikkje tilgangskontroll, og ein container som stolar på kvar kjelde på bru-nettverket sitt, er ikkje verna av at mesh-peeren vart godkjend. Autentiseringa til applikasjonen er den tredje avgjerda, og ho er den einaste som veit kven brukaren er. Eit løyve på vertsnivå kan ikkje gi den kunnskapen.
Test løyvet, ikkje berre URL-en
Frå den godkjende peeren, opne den nøyaktige tenesta og stadfest at ho verkar. Prøv deretter ein destinasjon som skal halde fram med å vere avvist, og stadfest at han ikkje verkar. Å teste berre den lukkelege vegen fortel deg at løyvet vart gitt; det fortel deg ikkje at grensa er der du trur.
Samanlikn ei vertsnativ teneste separat. Viss ein database lyttar på verten og eit dashbord køyrer i ein container, følgjer dei ulike vegar gjennom det same løyvet og blir kanskje ikkje styrte likt av videresendingspolicyen til verten. Noter kva som er kva før du skriv gjennomgangsnotatet.
Ikkje tøm tabellane til Docker eller reglane til mesh-klienten for å «nullstille» tilgang. Båe produkta installerer si eiga policyintegrering, og å fjerne ho gir ein vert som ser ut til å verke medan han går utanom kontrollane du vart beden om å vurdere. Viss ei regel ser feil ut, les ho og endre nettopp den regelen. Viss du ikkje kan forklare kva ei regel gjer, er det funnet, ikkje ein grunn til å slette ho.
Skriv funnet i omgrep frå systemet sjølv
Det som tel, er skiljet produktet faktisk handhevar, ikkje det i gjennomgangsmalen: løyve til å nå eit vertsendepunkt, løyve til å nå ruterte private ressursar og løyve til å bruke applikasjonen. Å publisere ein port lèt dei tre avgjerdene stå nøyaktig der dei var, og ein gjennomgangar som handsamar dei som éi, vil godkjenne feil omfang.
Oppgi vertsadressa, den publiserte porten, destinasjonen til containeren og løyvet til peeren i same setning. Den setninga kan testast av nokon andre, og det er det som gjer ho til eit funn i staden for ei meining.