Projděte tyto kontroly popořadě a zastavte se u první, která selže, protože každá odpověď mění, co znamená další krok. Skutečná otázka je úzká: putuje obyčejné HTTP v síti ZeroTier otevřeně přes internet? Mezi dvěma peery ZeroTier obvykle ne, protože překryvná síť ten skok šifruje. To je ale tvrzení o dvou koncových bodech, ne o každém segmentu, který požadavek projde. Router, most nebo reverzní proxy koncový bod posouvají a otevřený text pokračuje na jejich druhé straně.

Kontrola 1: najděte adresu, kterou prohlížeč volá

Porovnejte URL s tím, co stroj skutečně má. ip -brief addr show vypisuje rozhraní zt a adresu překryvné sítě, kterou přidělil správce sítě; pokud URL tuto adresu používá, socket prohlížeče vstupuje do překryvné sítě.

Když se jméno místo toho přeloží na adresu LAN, překryvná síť nemusí být vůbec zapojená, ať naznačuje indikátor stavu klienta cokoli. ip route get 10.147.20.5 vypíše rozhraní a zdrojovou adresu, kterou by jádro zvolilo, takže rozhraní zt tam znamená, že paket vstupuje do překryvné sítě, a název vaší fyzické síťové karty znamená, že ne. Jména přidávají další vrstvu: záznam ukazující na adresu překryvné sítě se chová jinak než záznam ukazující na adresu LAN a vyhledávací přípona nebo záznam v souboru hosts mohou tiše rozhodnout, který dostanete.

Kontrola 2: ověřte, že oba konce jsou peery, ne dešifrující relay

ZeroTier šifruje mezi peery a tam, kde neexistuje přímá cesta, se pakety přeposílají přes kořen, který je předává stále zašifrované. zerotier-cli peers označuje cestu každého peera jako DIRECT nebo RELAY s údajem o latenci. Přeposílaná cesta stojí obrátky, ne důvěrnost.

Odpověď mění člen, který není skutečným koncovým bodem. Když je druhá strana členem ZeroTier, který směruje nebo mostuje do fyzické LAN, překryvná síť končí u tohoto člena a další skok je obyčejný Ethernet.

Kontrola 3: sledujte, kde se požadavek stane čitelným

Na hostiteli, o kterém si myslíte, že stránku obsluhuje, zachyťte rozhraní překryvné sítě během načítání: sudo tcpdump -i ztxxxxxxx -A -c 5 'tcp port 80'. Čitelný řádek požadavku v tomto výstupu dokazuje, že provoz dorazil na tento hostitel dešifrovaný, což je hranice, kterou hledáte.

Pak zachyťte na rozhraní obráceném ke zbytku LAN. Pokud se tam stejný požadavek objeví otevřeně, opustil překryvnou síť dřív, než se dostal do aplikace, a každé zařízení v tom segmentu ho může přečíst. Pokud se na straně LAN neobjeví nic a stránka se přesto načte, aplikace končí na samotném hostiteli ZeroTier.

Zachytávání loopbacku je důležité i tehdy, když je vpředu reverzní proxy, protože proxy, která přijímá HTTPS a předává HTTP, posouvá hranici do svého vlastního backendu.

Kontrola 4: spočítejte každý skok za routerem nebo mostem

Člen nastavený pro směrování mezi překryvnou sítí a LAN je běžný návrh a místo, kde se většina těchto předpokladů láme. Překryvná síť chrání úsek od prohlížeče k routeru a nic za ním. Most vypráví stejný příběh jiným mechanismem: překryvná síť a fyzický segment se stanou jednou broadcast doménou, takže požadavek z mostem připojeného notebooku projde obyčejným Ethernetem, i když tento notebook sedí v síti ZeroTier.

Vysledujte to, místo abyste to předpokládali. traceroute od klienta k adrese služby plus směrovací tabulka na členu brány ukážou, zda je poslední skok zt nebo eth.

ZeroTier nabízí také režim důvěryhodných cest, který může kvůli výkonu zrušit transportní zabezpečení na určených lokálních cestách. Síť, která ho používá, nedědí obvyklý předpoklad šifrované cesty, takže si před citací přečtěte konfiguraci sítě. Dokumentace protokolu popisuje jak šifrování mezi peery, tak tuto výjimku.

Kontrola 5: rozhodněte, co ještě musí udělat aplikace

Členství v překryvné síti autentizuje zařízení vůči síti a nic neříká o tom, zda je služba na druhém konci ta, kterou jste chtěli dosáhnout. HTTPS odpovídá na jinou otázku tím, že váže jméno hostitele ke klíči, takže se obě ochrany překrývají, aniž by se nahrazovaly. Autorizovaný peer může být stále špatná služba a kompromitovaný koncový bod čte požadavek jak před šifrováním, tak po dešifrování. Ani jeden mechanismus neaudituje, co aplikace zaznamenává.

U čehokoli s opakovaně použitelnou relací nebo heslem ukončete TLS v aplikaci nebo v proxy, kterou ovládáte, a ponechte ověřování certifikátů zapnuté. Tam, kde musí starší služba zůstat na obyčejném HTTP, zapište přesnou cestu od hostitele k hostiteli, kterou smí používat, kdo se k ní může dostat a který segment zůstává nechráněný; tahle poznámka je to, co bude budoucí recenzent potřebovat.

"VPN je připojená" není hodnocení ničeho z toho. Poctivá verze pojmenuje oba koncové body, cestu mezi nimi a první skok, který není pokrytý.

Uchovejte výstup zachytávání a seznam peerů vedle dokumentace služby, aby každý, kdo změní trasu nebo přidá most, viděl, který předpoklad se chystá zlomit.

Související články