Meshnet, Docker dhe leja në mes
Një peer i rrjetëzës që arrin një kontejner të publikuar kalon një leje të hostit dhe një përkthim të Docker. Shqyrtoji të dyja veçmas, përndryshe do të miratosh shtrirjen e gabuar.
Dy URL mund të duken identike nga shfletuesi i një peer dhe megjithatë të nënkuptojnë gjëra krejt të ndryshme për firewall-in. Njëra tregon një shërbim që dëgjon në vetë hostin. Tjetra tregon një adresë hosti, porta e të cilit publikohet në një rrjet kontejnerësh, ku një hap përkthimi ia dorëzon lidhjen një IP-je tjetër. Në një rrjetëz peer-to-peer që kontrollon aksesin në rrjetin lokal me një leje për çdo peer, ai dallim është i gjithë shqyrtimi.
Leja ka të bëjë me pikën fundore të hostit, përkthimi ka të bëjë me Docker, dhe identifikimi ka të bëjë me aplikacionin. Tri vendime, tre vende për të shikuar.
Ndiqe destinacionin pas publikimit
Merr një host Linux me Docker që publikon portën 80 të një kontejneri në portën 8080 të hostit. Një peer lidhet me adresën e rrjetëzës së hostit në 8080, hosti e pranon lidhjen, dhe një përkthim destinacioni e rishkruan drejt adresës së urës së kontejnerit, zakonisht diçka si 172.17.0.2 në portën 80.
Kur një rregull shqyrton atë rrjedhë, destinacioni interesant është kontejneri, jo hosti. Një politikë që arsyeton vetëm për «një shërbim në këtë makinë» arsyeton për objektin e gabuar. Kërkesa u ul në host, por po dorëzohet diku tjetër.
Prandaj dokumentacioni i rrjetëzës rendit kontejnerët Docker ndër burimet që leja e rrjetit lokal kontrollon në Linux. Leja nuk është sinonim i një zëri të zakonshëm në listën e lejuar të një VPN, dhe dy kontrollet nuk zëvendësojnë njëri-tjetrin. Njëra vendos nëse një peer mund të arrijë fare burimet lokale; tjetra vendos cilat destinacione mban një rrugë e tunelizuar.
Vendos sa akses lokal jep një leje
T'i japësh një peer akses në rrjetin lokal nuk është vendim për një kontejner të vetëm. Ai mund të ekspozojë shërbime të tjera të publikuara në të njëjtin host, dhe mund të arrijë më larg në varësi të mënyrës se si hosti përcjell. Shqyrto shtrirjen efektive përpara se të shtypësh çelësin për një panel.
Pastaj shiko ku Docker publikon portën. Publikimi në 0.0.0.0 krijon një dëgjues në çdo adresë të hostit, gjë që mund të shtojë një zë të zakonshëm LAN përbri atij të rrjetëzës. Nëse kërkesa është vetëm rrjetëza, lidhe publikimin me adresën ose ndërfaqen e caktuar që synon, dhe trajto lidhjen më të gjerë si një gjetje të veçantë e jo si lehtësi.
Mbaji politikën e përcjelljes së hostit dhe vërtetimin e vetë aplikacionit mjaftueshëm të ngushta për shërbimin. Një URL që duket private nuk është kontroll aksesi, dhe një kontejner që i beson çdo burimi në rrjetin e tij të urës nuk mbrohet nga fakti që peer-i i rrjetëzës u miratua. Vërtetimi i aplikacionit është vendimi i tretë, dhe i vetmi që e di kush është përdoruesi. Një leje në nivel hosti nuk mund ta japë atë njohuri.
Testo lejen, jo vetëm URL-në
Nga peer-i i miratuar, hap shërbimin e saktë dhe konfirmo se funksionon. Pastaj provo një destinacion që duhet të mbetet i refuzuar dhe konfirmo se nuk funksionon. Testimi vetëm i rrugës së lumtur të thotë se leja u dha; nuk të thotë se kufiri është aty ku mendon.
Krahaso veçmas një shërbim vendës të hostit. Nëse një bazë të dhënash dëgjon në host dhe një panel ekzekutohet në një kontejner, ata ndjekin rrugë të ndryshme përmes të njëjtës leje dhe mund të mos kontrollohen njësoj nga politika e përcjelljes së hostit. Shëno cili është cili përpara se të shkruash shënimin e shqyrtimit.
Mos i zbraz tabelat e Docker ose rregullat e klientit të rrjetëzës për të «rivendosur» aksesin. Të dy produktet instalojnë integrimin e tyre të politikave, dhe fshirja e tij prodhon një host që duket se funksionon ndërsa anashkalon kontrollet që të kërkuan të vlerësoje. Nëse një rregull duket i gabuar, lexoje dhe ndrysho pikërisht atë rregull. Nëse nuk mund të shpjegosh çfarë bën një rregull, ajo është gjetja, jo një arsye për ta fshirë.
Shkruaje gjetjen me termat e vetë sistemit
Ajo që ka rëndësi është dallimi që produkti zbaton në të vërtetë, jo ai i modelit të shqyrtimit: leja për të arritur një pikë fundore hosti, leja për të arritur burime private të rrugëzuara dhe leja për të përdorur aplikacionin. Publikimi i një porte i lë ato tri vendime pikërisht aty ku ishin, dhe një shqyrtues që i trajton si një do të miratojë shtrirjen e gabuar.
Përmend adresën e hostit, portën e publikuar, destinacionin e kontejnerit dhe lejen e peer-it në të njëjtën fjali. Ajo fjali mund të testohet nga dikush tjetër, dhe kjo është ajo që e bën gjetje dhe jo mendim.