Domain fronting nie je VPN: dve mená, jedna požiadavka
Dve mená v jednej HTTPS požiadavke nie sú tunel. Fronting závisí od pravidiel smerovania poskytovateľa; VPN vyberá, ktoré pakety putujú. Nakreslite ich oddelene.
Obe techniky sa zaraďujú spolu, pretože obe zahŕňajú prostredníka a obe znejú ako skrývanie. Pracujú však na rôznych objektoch. Domain fronting je o tom, ktoré meno sa objaví v ktorej vrstve jednej HTTPS požiadavky. VPN je o tom, ktoré pakety idú určitou cestou k partnerovi. Nazývať fronting druhom VPN vedie k návrhom, ktoré nemôžu fungovať, a k recenziám, ktoré kladú nesprávnu otázku.
Dve mená, dve vrstvy
TLS spojenie môže vo svojom handshaku niesť meno servera. Keď spojenie existuje, HTTP požiadavka určí autoritu, ktorú chce, zvyčajne v hlavičke Host. To sú dve polia čítané v dvoch rôznych okamihoch dvoma rôznymi časťami softvéru.
| 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žíva rozdiel medzi prvými dvoma, takže frontingová služba spojenie prijme a potom požiadavku nasmeruje inam. Funguje len tam, kde je tá služba ochotná ju nasmerovať, a to je otázka politiky poskytovateľa, nie protokolového triku.
Fronting závisí od poskytovateľa, nie od techniky
Pre obmedzený príklad, Často kladené otázky k Front Door príručka Azure dokumentuje ochrany pred domain frontingom. Opisuje povolenú nezhodu pre domény v rámci rovnakého predplatného a nakonfigurovaných trás a odpoveď 421 Misdirected Request, keď ochrana pred nezhodou požiadavku zablokuje.
Táto jediná zdokumentovaná politika ruší oba slogany naraz. Nie každá dvojica rôznych mien funguje a nie každá nezhoda je zakázaná. Iné služby majú vlastné kontroly, vlastné požiadavky na nasadenie a vlastné chybové kódy.
Nie je to ani návod, ako obísť obmedzenia inej siete. Čítať pravidlá smerovania poskytovateľa, aby sme pochopili, čo dovoľuje, je architektonická práca; považovať tieto pravidlá za recept na obchádzanie je iná činnosť s inými dôsledkami. Držte tieto dve činnosti v dokumente, ktorý píšete, oddelene. Práve tá druhá spôsobí, že návrh je pri recenzii odmietnutý.
Čo VPN skutočne vyberá
V sieťovej VPN smerovanie a politika platformy vyberajú vnútornú prevádzku pre tunel k partnerovi. Podľa usporiadania to môže pokrývať niekoľko aplikácií alebo definovanú podmnožinu a môže prenášať protokoly, ktoré nemajú žiadnu HTTP požiadavku.
Fronting nič z toho nerobí. Usporiadanie jednej HTTPS požiadavky cez frontingovú službu nenainštaluje trasu do privátnej siete, neprenáša ľubovoľné UDP aplikácie a neprinúti každý program v zariadení používať túto službu. Ak takéto pokrytie potrebujete, potrebujete proxy alebo tunel, nie trik s názvom.
Preto sa oboje pri recenzii pletie: oboje sa opisuje ako prostredník a oboje sa objavuje v dokumentoch o prístupe. Rozhranie, ktoré každé ponúka, je úplne odlišné a len jedno z nich je sieťová cesta.
Viditeľnosť nie je binárna
Ani porovnanie nie je len skryté proti viditeľnému. DNS dopyty, cieľové adresy, vlastnosti handshaku, veľkosti paketov a časovanie zostávajú pozorovateľné pre toho, kto je v pozícii ich vidieť, a čo sa ten pozorovateľ dozvie, závisí od toho, kde sedí.
Údaje aplikácie sú tiež viditeľné v koncových bodoch, ktoré ich ukončujú. Frontingová služba, ktorá smeruje vašu požiadavku, je jedným z týchto bodov a partner VPN je ďalší. Ani jedno usporiadanie nerobí obsah nepriehľadným pre stranu, ktorá ho musí prečítať, aby vám poslúžila.
Nakreslite tri krabice
Pre architektonickú recenziu nakreslite koncový bod TLS, službu smerovania HTTP a konečnú aplikáciu ako tri samostatné krabice a potom nakreslite akéhokoľvek partnera VPN opäť niekam inam. Miesto, ktoré vyberá webový cieľ, a miesto, ktoré prenáša pakety privátnej siete, nemusia byť ten istý systém a zvyčajne nie sú.
Keď sú krabice oddelené, otázky sa dajú zodpovedať: ktoré mená tento poskytovateľ prijíma, ktoré protokoly potrebujú prenos a ktorá strana môže čo vidieť. Diagram, ktorý ich zlieva, vytvára návrh, ktorý nikto nemôže implementovať, a recenziu, ktorá sa háda o slovník.