Domain fronting ni VPN: dve imeni, ena zahteva
Dve imeni v eni zahtevi HTTPS nista tunel. Fronting je odvisen od pravil usmerjanja ponudnika; VPN izbere, kateri paketi potujejo. Narišite ju ločeno.
Tehniki se uvrstita skupaj, ker obe vključujeta posrednika in obe zvenita kot skrivanje. A delujeta na različnih objektih. Domain fronting je o tem, katero ime se pojavi na katerem sloju ene zahteve HTTPS. VPN je o tem, kateri paketi gredo po določeni poti do partnerja. Če fronting imenujemo vrsta VPN, pridemo do zasnov, ki ne morejo delovati, in do pregledov, ki postavljajo napačno vprašanje.
Dve imeni, dva sloja
Povezava TLS lahko v svojem rokovanju nosi ime strežnika. Ko povezava obstaja, zahteva HTTP identificira oblast, ki jo želi, običajno v glavi Host. To sta dve polji, ki ju ob dveh različnih trenutkih bereta dva različna dela programske opreme.
| 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 izkoristi razliko med prvima dvema, tako da storitev frontinga sprejme povezavo in nato zahtevo usmeri drugam. Deluje le tam, kjer je storitev pripravljena to usmeriti, in to je vprašanje politike ponudnika, ne protokolarne zvijače.
Fronting je odvisen od ponudnika, ne od tehnike
Kot omejen primer, Pogosta vprašanja o Front Door vodnik Azure dokumentira zaščite pred domain frontingom. Opisuje dovoljeno neujemanje za domene v isti naročnini in konfiguriranih poteh ter odgovor 421 Misdirected Request, ko zaščita pred neujemanjem blokira zahtevo.
Ta ena dokumentirana politika odpravi oba slogana hkrati. Ne deluje vsak par različnih imen in ni prepovedano vsako neujemanje. Druge storitve imajo svoje preverjanja, svoje zahteve za uvajanje in svoje kode napak.
To tudi ni navodilo za izogibanje omejitvam drugega omrežja. Branje pravil usmerjanja ponudnika, da bi razumeli, kaj dovoljuje, je arhitekturno delo; obravnavanje teh pravil kot recepta za izogibanje je druga dejavnost z drugimi posledicami. Ti dve dejavnosti v dokumentu, ki ga pišete, držite ločeno. Druga je tista, zaradi katere je zasnova na pregledu zavrnjena.
Kaj VPN dejansko izbere
V omrežnem VPN usmerjanje in politika platforme izbereta notranji promet za tunel do partnerja. Glede na ureditev lahko to pokrije več aplikacij ali določeno podmnožico in lahko prenaša protokole, ki sploh nimajo zahteve HTTP.
Fronting ne naredi nič od tega. Urejanje ene zahteve HTTPS prek storitve frontinga ne namesti poti v zasebno omrežje, ne prenaša poljubnih aplikacij UDP in ne povzroči, da bi vsak program na napravi uporabljal storitev. Če potrebujete tako pokritost, potrebujete posredniški strežnik ali tunel, ne zvijače z imenom.
Zato se ta dva na pregledu zamenjujeta: oba sta opisana kot posrednika in oba se pojavljata v dokumentih o dostopu. Vmesnik, ki ga ponuja vsak, je popolnoma drugačen in le eden od njiju je omrežna pot.
Vidnost ni binarna
Tudi primerjava ni zgolj skrito proti vidno. Poizvedbe DNS, ciljni naslovi, značilnosti rokovanja, velikosti paketov in časovni potek ostajajo opazljivi za tistega, ki je v položaju, da jih vidi, in kaj se ta opazovalec nauči, je odvisno od tega, kje sedi.
Podatki aplikacije so vidni tudi na končnih točkah, ki jih zaključijo. Storitev frontinga, ki usmerja vašo zahtevo, je ena od teh točk, partner VPN pa druga. Nobena od ureditev ne naredi vsebine neprozorne za stran, ki jo mora prebrati, da bi vam postregla.
Narišite tri škatle
Za arhitekturni pregled narišite končno točko TLS, storitev usmerjanja HTTP in končno aplikacijo kot tri ločene škatle, nato pa narišite še katerega koli partnerja VPN nekam drugam. Kraj, ki izbere spletni cilj, in kraj, ki prenaša pakete zasebnega omrežja, nista nujno isti sistem in običajno nista.
Ko so škatle ločene, postanejo vprašanja odgovorljiva: katera imena sprejema ta ponudnik, kateri protokoli potrebujejo prenos in katera stran lahko vidi kaj. Diagram, ki jih zlije, ustvari zasnovo, ki je nihče ne more izvesti, in pregled, ki se prepira o besedišču.