Meshnet, Docker un atļauja starp tiem
Tīkla vienaudzis, kas sasniedz publicētu konteineru, šķērso resursdatora atļauju un Docker tulkojumu. Apskatiet abus atsevišķi, citādi apstiprināsiet nepareizo tvērumu.
Divi URL var izskatīties vienādi vienaudža pārlūkā un tomēr nozīmēt ugunsmūrim pavisam ko citu. Viens norāda uz pakalpojumu, kas klausās pašā resursdatorā. Otrs norāda uz resursdatora adresi, kuras ports ir publicēts konteineru tīklā, kur tulkošanas solis nodod savienojumu citai IP. Vienaudžu tīklā, kas pārvalda piekļuvi vietējam tīklam ar atļauju katram vienaudzim, šī atšķirība ir viss apskats.
Atļauja attiecas uz resursdatora galapunktu, tulkojums attiecas uz Docker, un pieteikšanās attiecas uz lietojumprogrammu. Trīs lēmumi, trīs vietas, kur skatīties.
Sekojiet galamērķim pēc publicēšanas
Ņemiet Linux Docker resursdatoru, kas publicē konteinera portu 80 resursdatora portā 8080. Vienaudzis savienojas ar resursdatora tīkla adresi portā 8080, resursdators pieņem savienojumu, un galamērķa tulkojums pārraksta to uz konteinera tilta adresi, parasti kaut ko līdzīgu 172.17.0.2 portā 80.
Kad kāds noteikums pārbauda šo plūsmu, interesantais galamērķis ir konteiners, nevis resursdators. Politika, kas spriež tikai par «pakalpojumu šajā mašīnā», spriež par nepareizo objektu. Pieprasījums nolaidās uz resursdatora, bet tas tiek piegādāts citur.
Tāpēc tīkla dokumentācija uzskaita Docker konteinerus starp resursiem, ko Linux pārvalda vietējā tīkla atļauja. Atļauja nav parasta VPN atļauto saraksta ieraksta sinonīms, un abas kontroles viena otru neaizstāj. Viena izlemj, vai vienaudzis vispār drīkst sasniegt vietējos resursus; otra izlemj, kādus galamērķus nes tunelētais maršruts.
Izlemiet, cik daudz vietējās piekļuves atļauja piešķir
Vietējā tīkla piekļuves piešķiršana vienaudzim nav lēmums par vienu konteineru. Tā var atklāt citus publicētus pakalpojumus tajā pašā resursdatorā, un tā var sniegties tālāk atkarībā no tā, kā resursdators pārsūta. Pārskatiet faktisko tvērumu pirms slēdža nospiešanas vienam informācijas panelim.
Pēc tam apskatiet, kur Docker publicē portu. Publicēšana uz 0.0.0.0 izveido klausītāju katrā resursdatora adresē, kas var pievienot parastu LAN ierakstu blakus tīkla ierakstam. Ja prasība ir tikai tīkls, piesaistiet publicēšanu konkrētajai adresei vai saskarnei, ko domājat, un plašāku piesaisti uzskatiet par atsevišķu atradumu, nevis ērtību.
Turiet resursdatora pārsūtīšanas politiku un pašas lietojumprogrammas autentifikāciju pietiekami šauru pakalpojumam. Privāti izskatošs URL nav piekļuves kontrole, un konteiners, kas uzticas katram avotam savā tilta tīklā, nav aizsargāts ar to, ka tīkla vienaudzis tika apstiprināts. Lietojumprogrammas autentifikācija ir trešais lēmums, un tā ir vienīgā, kas zina, kas ir lietotājs. Resursdatora līmeņa atļauja nevar sniegt šīs zināšanas.
Pārbaudiet atļauju, ne tikai URL
No apstiprinātā vienaudža atveriet precīzo pakalpojumu un apstipriniet, ka tas darbojas. Pēc tam izmēģiniet galamērķi, kam jāpaliek liegta, un apstipriniet, ka tas nedarbojas. Testējot tikai laimīgo ceļu, jūs uzzināsiet, ka atļauja tika piešķirta; tas nepasaka, ka robeža ir tur, kur jūs domājat.
Atsevišķi salīdziniet resursdatoram raksturīgu pakalpojumu. Ja datubāze klausās resursdatorā un informācijas panelis darbojas konteinerā, tie iet dažādus ceļus caur to pašu atļauju, un resursdatora pārsūtīšanas politika tos var nepārvaldīt vienādi. Pierakstiet, kas ir kas, pirms rakstāt apskata piezīmi.
Neiztīriet Docker tabulas vai tīkla klienta noteikumus, lai «atiestatītu» piekļuvi. Abi produkti instalē savu politikas integrāciju, un tās dzēšana rada resursdatoru, kas izskatās strādājam, bet apiet tās kontroles, kuras jums tika lūgts novērtēt. Ja noteikums izskatās nepareizs, izlasiet to un mainiet tieši šo noteikumu. Ja nevarat izskaidrot, ko noteikums dara, tas ir atradums, nevis iemesls to dzēst.
Rakstiet atradumu pašas sistēmas terminos
Svarīga ir atšķirība, ko produkts faktiski īsteno, nevis tā, kas ir apskata veidnē: atļauja sasniegt resursdatora galapunktu, atļauja sasniegt maršrutētus privātos resursus un atļauja izmantot lietojumprogrammu. Porta publicēšana atstāj šos trīs lēmumus tieši tur, kur tie bija, un apskatītājs, kurš tos uztver kā vienu, apstiprinās nepareizo tvērumu.
Norādiet resursdatora adresi, publicēto portu, konteinera galamērķi un vienaudža atļauju vienā teikumā. Šo teikumu var pārbaudīt kāds cits, un tas padara to par atradumu, nevis viedokli.