Domain fronting není VPN: dvě jména, jeden požadavek
Dvě jména v jednom HTTPS požadavku nejsou tunel. Fronting závisí na pravidlech směrování poskytovatele; VPN vybírá, které pakety putují. Nakreslete je odděleně.
Obě techniky se zařazují spolu, protože obě zahrnují prostředníka a obě znějí jako skrývání. Pracují ale na různých objektech. Domain fronting je o tom, které jméno se objeví v které vrstvě jednoho HTTPS požadavku. VPN je o tom, které pakety jdou určitou cestou k protějšku. Nazývat fronting druhem VPN vede k návrhům, které nemohou fungovat, a k recenzím, které kladou špatnou otázku.
Dvě jména, dvě vrstvy
TLS spojení může ve svém handshake nést jméno serveru. Jakmile spojení existuje, HTTP požadavek určí autoritu, kterou chce, obvykle v hlavičce Host. To jsou dvě pole čtená ve dvou různých okamžicích dvěma různými částmi softwaru.
| Layer | What carries the name | Who reads it |
|---|---|---|
| TLS handshake | Server name indication | The TLS terminator in front of the service |
| HTTP request | Authority or Host header | The routing layer that picks a backend |
| Network path | Destination address and port | Routers, and the VPN peer if one is in use |
Domain fronting využívá rozdíl mezi prvními dvěma, takže frontingová služba spojení přijme a potom požadavek nasměruje jinam. Funguje jen tam, kde je ta služba ochotna ho nasměrovat, což je otázka politiky poskytovatele, nikoli protokolového triku.
Fronting závisí na poskytovateli, ne na technice
Pro omezený příklad, příručka Front Door FAQ od Azure dokumentuje ochrany proti domain frontingu. Popisuje povolenou neshodu pro domény v rámci stejného předplatného a nakonfigurovaných tras a odpověď 421 Misdirected Request, když ochrana proti neshodě požadavek zablokuje.
Tato jediná zdokumentovaná politika ruší oba slogany najednou. Ne každá dvojice různých jmen funguje a ne každá neshoda je zakázaná. Jiné služby mají vlastní kontroly, vlastní požadavky na nasazení a vlastní chybové kódy.
Není to ani návod, jak obejít omezení jiné sítě. Číst pravidla směrování poskytovatele, abychom pochopili, co dovoluje, je architektonická práce; považovat tato pravidla za recept na obcházení je jiná činnost s jinými důsledky. Držte tyto dvě činnosti v dokumentu, který píšete, oddělené. Právě ta druhá způsobí, že návrh je při recenzi odmítnut.
Co VPN skutečně vybírá
V síťové VPN směrování a politika platformy vybírají vnitřní provoz pro tunel k protějšku. Podle uspořádání to může pokrývat několik aplikací nebo definovanou podmnožinu a může přenášet protokoly, které žádný HTTP požadavek nemají.
Fronting nic z toho nedělá. Uspořádání jednoho HTTPS požadavku přes frontingovou službu nenainstaluje trasu do privátní sítě, nepřenáší libovolné UDP aplikace a nepřinutí každý program v zařízení používat tu službu. Pokud takové pokrytí potřebujete, potřebujete proxy nebo tunel, ne trik s názvem.
Proto se obojí při recenzi plete: obojí se popisuje jako prostředník a obojí se objevuje v dokumentech o přístupu. Rozhraní, které každé nabízí, je zcela odlišné a jen jedno z nich je síťová cesta.
Viditelnost není binární
Ani srovnání není jen skryté proti viditelnému. DNS dotazy, cílové adresy, vlastnosti handshake, velikosti paketů a časování zůstávají pozorovatelné pro toho, kdo je v pozici je vidět, a co se ten pozorovatel dozví, závisí na tom, kde sedí.
Data aplikace jsou také viditelná v koncových bodech, které je ukončují. Frontingová služba, která směruje váš požadavek, je jedním z těchto koncových bodů a protějšek VPN dalším. Ani jedno uspořádání nečiní obsah neprůhledným pro stranu, která ho musí přečíst, aby vám posloužila.
Nakreslete tři krabice
Pro architektonickou recenzi nakreslete koncový bod TLS, službu směrování HTTP a konečnou aplikaci jako tři samostatné krabice a potom nakreslete jakýkoli protějšek VPN zase někam jinam. Místo, které vybírá webový cíl, a místo, které přenáší pakety privátní sítě, nemusí být stejný systém a obvykle nejsou.
Jakmile jsou krabice oddělené, otázky lze zodpovědět: která jména tento poskytovatel přijímá, které protokoly potřebují přenos a která strana může co vidět. Diagram, který je slévá, vytváří návrh, který nikdo nemůže implementovat, a recenzi, která se hádá o slovníku.