Meshnet, Docker és a köztük lévő engedély
A háló egyik társa, amely elér egy közzétett konténert, áthalad egy gazdagép-engedélyen és egy Docker-fordításon. Vizsgálja meg a kettőt külön, különben rossz hatókört hagy jóvá.
Két URL azonosnak tűnhet egy társ böngészőjéből, mégis egészen mást jelenthet a tűzfalnak. Az egyik egy olyan szolgáltatásra mutat, amely magán a gazdagépen figyel. A másik egy olyan gazdagép-címre mutat, amelynek portja egy konténerhálózatba van közzétéve, ahol egy fordítási lépés átadja a kapcsolatot egy másik IP-nek. Egy egyenrangú hálóban, amely társankénti engedéllyel szabályozza a helyi hálózat elérését, ez a különbség a teljes vizsgálat.
Az engedély a gazdagép végpontjáról szól, a fordítás a Dockerről, a bejelentkezés pedig az alkalmazásról. Három döntés, három hely, ahol érdemes megnézni.
Kövesse a célt a közzététel után
Vegyen egy Linux Docker-gazdagépet, amely egy konténer 80-as portját a gazdagép 8080-as portján teszi közzé. Egy társ csatlakozik a gazdagép hálócíméhez a 8080-on, a gazdagép elfogadja a kapcsolatot, és egy célfordítás átírja a konténer híd-címére, jellemzően valami olyasmire, mint 172.17.0.2 a 80-as porton.
Mire egy szabály megvizsgálja ezt a folyamot, az érdekes cél a konténer, nem a gazdagép. Az a szabályzat, amely csak «egy szolgáltatás ezen a gépen» gondolatmenetén alapul, rossz objektumról gondolkodik. A kérés a gazdagépen landolt, de máshol kerül kézbesítésre.
Ezért sorolja a háló dokumentációja a Docker-konténereket azon erőforrások közé, amelyeket a helyi hálózat engedélye Linuxon szabályoz. Az engedély nem szinonimája egy közönséges VPN-engedélylistai bejegyzésnek, és a két ellenőrzés nem helyettesíti egymást. Az egyik eldönti, elérhet-e egy társ egyáltalán helyi erőforrásokat; a másik eldönti, mely célokat visz egy alagútvonal.
Döntse el, mennyi helyi hozzáférést ad egy engedély
Helyi hálózati hozzáférést adni egy társnak nem egyetlen konténerről szóló döntés. Felfedhet más közzétett szolgáltatásokat ugyanazon a gazdagépen, és tovább érhet attól függően, hogyan továbbít a gazdagép. A tényleges hatókört vizsgálja meg, mielőtt egy irányítópult kapcsolójára kattint.
Ezután nézze meg, hol teszi közzé a Docker a portot. A 0.0.0.0-n való közzététel minden gazdagép-címen létrehoz egy figyelőt, ami egy közönséges LAN-bejegyzést adhat a háló bejegyzése mellé. Ha a követelmény csak a háló, köse a közzétételt ahhoz a konkrét címhez vagy interfészhez, amelyet szán, és a szélesebb kötést külön megállapításként kezelje, ne kényelemként.
Tartsa a gazdagép továbbítási szabályzatát és az alkalmazás saját hitelesítését elég szűken a szolgáltatáshoz. Egy privátnak tűnő URL nem hozzáférés-vezérlés, és egy konténer, amely a hídhálózatán minden forrásban megbízik, nincs védve attól, hogy a háló társa jóváhagyást kapott. Az alkalmazás hitelesítése a harmadik döntés, és ez az egyetlen, amely tudja, ki a felhasználó. Egy gazdagépszintű engedély nem tudja ezt a tudást nyújtani.
Tesztelje az engedélyt, ne csak az URL-t
A jóváhagyott társból nyissa meg a pontos szolgáltatást, és erősítse meg, hogy működik. Ezután próbáljon ki egy célt, amelynek megtagadottnak kell maradnia, és erősítse meg, hogy nem működik. Csak a boldog útvonal tesztelése megmondja, hogy az engedélyt megadták; nem mondja meg, hogy a határ ott van-e, ahol gondolja.
Hasonlítson össze külön egy gazdagép-saját szolgáltatást. Ha egy adatbázis a gazdagépen figyel, és egy irányítópult konténerben fut, különböző útvonalakon haladnak át ugyanazon az engedélyen, és lehet, hogy a gazdagép továbbítási szabályzata nem egyformán szabályozza őket. Jegyezze fel, melyik melyik, mielőtt megírja a vizsgálati feljegyzést.
Ne ürítse ki a Docker tábláit vagy a háló kliensének szabályait a hozzáférés «visszaállításához». Mindkét termék a saját szabályzatintegrációját telepíti, és ennek törlése olyan gazdagépet eredményez, amely működni látszik, miközben megkerüli azokat az ellenőrzéseket, amelyeket értékelnie kellett. Ha egy szabály hibásnak tűnik, olvassa el, és csak azt az egy szabályt módosítsa. Ha nem tudja megmagyarázni, mit tesz egy szabály, az a megállapítás, nem ok a törlésére.
A megállapítást a rendszer saját kifejezéseivel írja meg
Az számít, hogy milyen megkülönböztetést érvényesít a termék valójában, nem az, amelyik a vizsgálati sablonban van: engedély egy gazdagép végpontjának elérésére, engedély az útvonalazott privát erőforrások elérésére és engedély az alkalmazás használatára. Egy port közzététele pontosan ott hagyja ezt a három döntést, ahol volt, és aki egyként kezeli őket, rossz hatókört hagy jóvá.
Ugyanabban a mondatban adja meg a gazdagép címét, a közzétett portot, a konténer célját és a társ engedélyét. Ez a mondat másvalaki által tesztelhető, és ez teszi megállapítássá, nem véleménnyé.