Nekdo želi pregledati, kaj odjemalci pošiljajo po tunelu, v dokumentaciji najde kljuko povezave in začne pisati skript, ki ne bo nikoli prejel niti enega paketa. Kljuka je resnična in uporabna, a njena delovna enota je seja, ne bajt. Izbira prave komponente je primerjava treh mest, kjer se delo lahko zgodi, odločilno vprašanje pa je, katero enoto vsako od njih v resnici vidi.

Kaj kljuka prejme in česa nikoli ne prejme

Kljuka povezave odjemalca se zažene enkrat, ko overjeni odjemalec vzpostavi sejo, v kontekstu procesa strežnika, z dokumentiranimi argumenti in vrednostmi okolja, kot sta skupno ime in dodeljeni naslov. Lahko zapiše konfiguracijo za odjemalca, sprejme odločitev o vstopu, dodeli zunanji vir ali zabeleži, da je do povezave prišlo. Česa ne more, je opazovanje prometa, ker je kljuka v trenutku, ko prvi paket prečka tunel, že vrnjena.

To ni omejitev, ki bi jo bilo treba obiti. Povratni klic seje, ki bi poskušal obdelati tok, bi moral teči vso življenjsko dobo povezave, pogodba skriptov demona pa ni zgrajena za takšno obliko. Vprašajte, čemu je kljuka namenjena, preden se odločite, da vam stoji na poti.

Tudi ponovne povezave štejejo. Odjemalec, ki pade in se znova poveže, je nova seja, zato mora biti vse, kar kljuka dodeli, idempotentno ali seznanjeno z dogodkom prekinitve, ki počisti. Stanje, ki uhaja pri vsaki ponovni povezavi, je običajna prva napaka v zasnovi, ki temelji na kljuki.

Politika seje sodi v kljuko

Vstop je naravno delo kljuke. Veste, kdo se je povezal, od kod in s katerim potrdilom, in lahko se odločite, ali naj se ta seja nadaljuje ali zavrne. Ta odločitev je poceni, zgodi se enkrat in ne zahteva pogleda na niti en bajt vsebine.

Dodeljevanje konfiguracije ustreza isti obliki. Kljuka lahko izbere naslov odjemalca, pošlje možnosti, primerne tej identiteti, ali zapiše del, ki ga strežnik bere za tega odjemalca. Ker je odločitev na sejo, ostaja razumljiva, ko gre kaj narobe in mora nekdo razložiti, zakaj je določen odjemalec dobil določen naslov.

Zapisovanje je tretje ujemanje. Revizijski vnos, ki pravi, da je bila seja sprejeta, z njeno identiteto in časom, sodi točno sem. To ni dnevnik prometa in se ne sme pretvarjati, da je. Če kdo pozneje vpraša, kaj je odjemalec počel znotraj tunela, mora odgovor priti od drugod.

Delo s paketi sodi na pot paketov

Če je zahteva videti ali spreminjati bajte med letom, mora biti komponenta na poti posredovanja: pravilo požarnega zidu s čakalno vrsto, kljuka za nadzor prometa ali posredovalnik v uporabniškem prostoru. Ti mehanizmi vidijo pakete in imajo svoje stanje, svoje načine odpovedi in svoj profil zmogljivosti.

Urejanje vsebine na tej plasti je težje od branja. Sprememba enega bajta lahko razveljavi polje dolžine, kontrolno vsoto ali stroj stanj protokola, tunel tretje plasti pa vas ne zaščiti pred ničemer od tega. Pomeni le, da zunanje glave niso tiste, ki jih urejate. Predvidite to popravilo, preden komu obljubite prepis vsebine.

Zajem na vmesniku je najcenejše orodje v tej kategoriji in je opazovanje, ne urejevalnik. Ljudje to dvoje zamenjujejo, ker se oboje opisuje kot videnje prometa, a zajem ustvari datoteko, pot paketov pa ustvari odločitev.

Spremembe aplikacije sodijo v aplikacijo

Ko je cilj spremeniti, kaj zahteva vsebuje ali kako se oblikuje odgovor, je pravo mesto sama storitev ali proxy, ki protokol namerno zaključi. Te komponente že razumejo zahteve, odgovore in overjanje, ki ga aplikacija pričakuje, in to je natanko tisti kontekst, ki ga filtru paketov manjka.

Prevod naslovov je na dnu tega seznama z razlogom. Prepisuje naslove in vrata ter vsebino pusti pri miru, zato ni orodje za vsebino, ne glede na to, kako pogosto se pojavi v receptu, ki omenja tudi vsebino.

Prav ločevanje teh meja naredi zasnovo razložljivo. Politika seje v kljuki, obdelava paketov na poti paketov in sprememba aplikacije tam, kjer se protokol namerno zaključi: tri povedi, ki služijo tudi kot kontrolni seznam za pregled.

Kjer TLS še vedno zaključi pogovor

Ena stvar preživi vse navedeno: promet v tunelu, ki nosi HTTPS, ohrani svoje transportno šifriranje. Imeti ključe VPN vam da notranji IP paket in vam ne da sejnih ključev za spletno stran na drugi strani.

Zato kljuka ne more pregledovati vsebine niti načelno, in zato pot paketov vidi šifrirano besedilo, razen če uvedba namerno zaključi notranji TLS. pogodba skriptov opisuje, kaj kljuka prejme; o vsebini ne pove ničesar, ker ni česa dati.

Sorodni članki