Meshnet, Docker i el permís entremig
Un igual de la malla que arriba a un contenidor publicat travessa un permís de l’amfitrió i una traducció de Docker. Reviseu les dues coses per separat o aprovareu un abast equivocat.
Dues URL poden semblar idèntiques des del navegador d’un igual i significar coses molt diferents per al tallafoc. Una apunta a un servei que escolta a l’amfitrió mateix. L’altra apunta a una adreça d’amfitrió el port de la qual es publica en una xarxa de contenidors, on un pas de traducció lliura la connexió a una altra IP. En una malla d’igual a igual que controla l’accés a la xarxa local amb un permís per igual, aquesta diferència és tota la revisió.
El permís tracta del punt final de l’amfitrió, la traducció tracta de Docker i l’inici de sessió tracta de l’aplicació. Tres decisions, tres llocs on mirar.
Seguiu la destinació després de la publicació
Preneu un amfitrió Linux amb Docker que publica el port 80 d’un contenidor al port 8080 de l’amfitrió. Un igual es connecta a l’adreça de malla de l’amfitrió al 8080, l’amfitrió accepta la connexió i una traducció de destinació la reescriu cap a l’adreça de pont del contenidor, normalment una cosa com 172.17.0.2 al port 80.
Quan una regla inspecciona aquest flux, la destinació interessant és el contenidor, no l’amfitrió. Una política que raona només sobre «un servei en aquesta màquina» raona sobre l’objecte equivocat. La petició ha arribat a l’amfitrió, però s’entrega en un altre lloc.
Per això la documentació de la malla inclou els contenidors de Docker entre els recursos que el permís de xarxa local governa a Linux. El permís no és sinònim d’una entrada corrent de la llista permesa d’una VPN i els dos controls no es substitueixen l’un a l’altre. Un decideix si un igual pot arribar als recursos locals; l’altre decideix quines destinacions porta una ruta tunelada.
Decidiu quant accés local atorga un permís
Concedir accés a la xarxa local a un igual no és una decisió d’un sol contenidor. Pot exposar altres serveis publicats al mateix amfitrió i pot arribar més enllà segons com reenvia l’amfitrió. Reviseu l’abast efectiu abans de clicar l’interruptor per a un tauler.
Després mireu on publica Docker el port. Una publicació a 0.0.0.0 crea un oient a cada adreça de l’amfitrió, cosa que pot afegir una entrada corrent de LAN al costat de la de la malla. Si el requisit és només la malla, lligueu la publicació a l’adreça o la interfície concreta que voleu, i tracteu la vinculació més àmplia com una troballa a part i no com una comoditat.
Mantingueu la política de reenviament de l’amfitrió i l’autenticació pròpia de l’aplicació prou estretes per al servei. Una URL que sembla privada no és un control d’accés, i un contenidor que confia en cada origen de la seva xarxa de pont no queda protegit pel fet que l’igual de la malla hagi estat aprovat. L’autenticació de l’aplicació és la tercera decisió i és l’única que sap qui és l’usuari. Un permís a nivell d’amfitrió no pot proporcionar aquest coneixement.
Proveu el permís, no només la URL
Des de l’igual aprovat, obriu el servei exacte i confirmeu que funciona. Després proveu una destinació que hauria de romandre denegada i confirmeu que no funciona. Provar només el camí feliç us diu que el permís s’ha concedit; no us diu que la frontera sigui on penseu.
Compareu un servei natiu de l’amfitrió a part. Si una base de dades escolta a l’amfitrió i un tauler s’executa en un contenidor, segueixen camins diferents pel mateix permís i potser no els governa igual la política de reenviament de l’amfitrió. Anoteu quin és quin abans d’escriure la nota de revisió.
No buideu les taules de Docker ni les regles del client de la malla per «reiniciar» l’accés. Tots dos productes instal·len la seva pròpia integració de política, i esborrar-la produeix un amfitrió que sembla funcionar mentre evita els controls que us han demanat avaluar. Si una regla sembla incorrecta, llegiu-la i canvieu només aquella regla. Si no podeu explicar què fa una regla, això és la troballa, no un motiu per esborrar-la.
Escriviu la troballa amb els termes del mateix sistema
El que importa és la distinció que el producte aplica de debò, no la de la plantilla de revisió: permís per arribar a un punt final d’amfitrió, permís per arribar a recursos privats encaminats i permís per usar l’aplicació. Publicar un port deixa aquestes tres decisions exactament on eren, i un revisor que les tracta com una sola aprovarà l’abast equivocat.
Indiqueu l’adreça de l’amfitrió, el port publicat, la destinació del contenidor i el permís de l’igual en la mateixa frase. Aquesta frase és verificable per una altra persona, i això és el que la converteix en una troballa i no en una opinió.