Kāds vēlas apskatīt, ko klienti sūta pa tuneli, dokumentācijā atrod savienojuma āķi un sāk rakstīt skriptu, kas nekad nesaņems nevienu pakešu. Āķis ir īsts un noderīgs, bet tā darba vienība ir sesija, nevis baits. Pareizās komponentes izvēle ir trīs vietu salīdzinājums, kur darbs var notikt, un izšķirošais jautājums ir, kuru vienību katra no tām patiešām redz.

Ko āķis saņem un ko tas nekad nesaņem

Klienta savienojuma āķis darbojas vienu reizi, kad autentificēts klients izveido sesiju, servera procesa kontekstā, ar dokumentētiem argumentiem un vides vērtībām, piemēram, kopējo nosaukumu un piešķirto adresi. Tas var rakstīt katra klienta konfigurāciju, pieņemt pielaides lēmumu, piešķirt ārēju resursu vai reģistrēt, ka savienojums ir noticis. Tas, ko tas nevar, ir novērot trafiku, jo brīdī, kad pirmā pakete šķērso tuneli, āķis jau ir atgriezies.

Tas nav ierobežojums, kas jāapiet. Sesijas atzvanīšanai, kas mēģinātu apstrādāt plūsmu, būtu jādarbojas visu savienojuma mūžu, un dēmona skriptu līgums nav veidots šādai formai. Pajautājiet, kam āķis ir paredzēts, pirms nolemjat, ka tas jums traucē.

Atkārtoti savienojumi arī ir svarīgi. Klients, kas atkrīt un atkal pievienojas, ir jauna sesija, tāpēc visam, ko āķis piešķir, jābūt idempotentam vai pārotam ar atvienošanās notikumu, kas sakārto. Stāvoklis, kas noplūst katrā atkārtotā savienojumā, ir ierastā pirmā kļūda āķa balstītā dizainā.

Sesijas politika pieder āķim

Pielaide ir āķa dabiskais darbs. Jūs zināt, kas pievienojās, no kurienes un ar kādu sertifikātu, un varat izlemt, vai šī sesija turpināsies vai tiks noraidīta. Šis lēmums ir lēts, tas notiek vienu reizi, un tam nav jāskatās neviens slodzes baits.

Konfigurācijas piešķiršana atbilst tai pašai formai. Āķis var izvēlēties klienta adresi, nosūtīt šai identitātei atbilstošas opcijas vai ierakstīt fragmentu, ko serveris lasa šim klientam. Tā kā lēmums ir par sesiju, tas paliek saprotams, kad kaut kas noiet greizi un kādam jāpaskaidro, kāpēc konkrēts klients saņēma konkrētu adresi.

Reģistrēšana ir trešā atbilstība. Audita ieraksts, kas saka, ka sesija tika pielaista, ar tās identitāti un laiku, pieder tieši šeit. Tas nav trafika žurnāls un tam nav jāizliekas par tādu. Ja vēlāk kāds jautā, ko klients darīja tuneļa iekšpusē, atbildei jānāk no citurienes.

Darbs ar pakešu pieder pakešu ceļam

Ja prasība ir redzēt vai mainīt lidojošus baitus, komponentei jāatrodas pārsūtīšanas ceļā: ugunsmūra noteikums ar rindu, trafika vadības āķis vai pārsūtītājs lietotāja telpā. Šie mehānismi redz pakes, un tiem ir savs stāvoklis, savi kļūdu režīmi un savs veiktspējas profils.

Slodzes rediģēšana šajā slānī ir grūtāka nekā lasīšana. Viena baita maiņa var padarīt nederīgu garuma lauku, kontrolsummu vai protokola stāvokļa mašīnu, un trešā slāņa tunelis nepasargā jūs no nekā no tā. Tas tikai nozīmē, ka ārējās galvenes nav tās, ko jūs rediģējat. Aprēķiniet šo labošanas darbu pirms kādam apsolāt satura pārrakstīšanu.

Saskarnes uztveršana ir lētākais rīks šajā kategorijā, un tā ir novērojums, nevis redaktors. Cilvēki sajauc abus, jo abus apraksta kā trafika redzēšanu, bet uztveršana rada failu, un pakešu ceļš rada lēmumu.

Lietojumprogrammas izmaiņas pieder lietojumprogrammai

Kad mērķis ir mainīt to, ko pieprasījums satur vai kā veidojas atbilde, pareizā vieta ir pats pakalpojums vai starpniekserveris, kas apzināti izbeidz protokolu. Šīs komponentes jau saprot pieprasījumus, atbildes un autentifikāciju, ko lietojumprogramma sagaida, un tas ir tieši tas konteksts, kura pakešu filtram trūkst.

Adrešu tulkošana ir šī saraksta apakšā iemesla dēļ. Tā pārraksta adreses un portus un atstāj slodzi mierā, tāpēc tā nav satura rīks, lai cik bieži tā parādītos receptē, kurā minēts arī saturs.

Šo robežu nošķiršana ir tas, kas padara dizainu izskaidrojamu. Sesijas politika āķī, pakešu apstrāde pakešu ceļā un lietojumprogrammas izmaiņas tur, kur protokols tiek apzināti izbeigts: trīs teikumi, kas kalpo arī kā pārskatīšanas kontrolsaraksts.

Kur TLS joprojām izbeidz sarunu

Viena lieta pārdzīvo visu iepriekš minēto: trafiks tuneļa iekšpusē, kas nes HTTPS, saglabā savu transporta šifrēšanu. VPN atslēgu turēšana dod jums iekšējo IP paketi un nedod sesijas atslēgas vietnei otrā galā.

Tāpēc āķis nevar pārbaudīt saturu pat principā, un tāpēc pakešu ceļš redz šifrētu tekstu, ja vien izvietojums apzināti neizbeidz iekšējo TLS. skriptu līgums apraksta, ko āķim dod; tas neko nesaka par slodzi, jo nav ko dot.

Saistītie raksti