A csatlakozási horog munkamenet-szabály, nem csomagszűrő
Az ügyfél-csatlakozási horog munkamenetenként egyszer fut, és soha nem lát hasznos terhelést. A belépésengedést oda tedd, ahol munkamenetek vannak, a tartalomváltoztatást pedig oda, ahol kérések vannak.
Valaki meg akarja nézni, mit küldenek az ügyfelek az alagúton, megtalálja a csatlakozási horgot a dokumentációban, és olyan szkriptet kezd írni, amely soha nem kap egyetlen csomagot sem. A horog valódi és hasznos, de a munkájának egysége a munkamenet, nem a bájt. A megfelelő komponens kiválasztása három hely összehasonlítása, ahol munka történhet, és a döntő kérdés az, hogy melyik egységet látja valójában mindegyik.
Mit kap a horog, és mit nem kap soha
Az ügyfél-csatlakozási horog egyszer fut le, amikor egy hitelesített ügyfél munkamenetet hoz létre, a kiszolgáló folyamatkörnyezetében, dokumentált argumentumokkal és olyan környezeti értékekkel, mint a közös név és a kiosztott cím. Írhat ügyfelenkénti konfigurációt, hozhat belépési döntést, foglalhat külső erőforrást, vagy rögzítheti, hogy a kapcsolat létrejött. Amit nem tud, az a forgalom megfigyelése, mert mire az első csomag átkel az alagúton, a horog már visszatért.
Ez nem olyan korlát, amelyet meg kellene kerülni. Egy munkamenet-visszahívás, amely folyamot próbálna feldolgozni, a kapcsolat teljes élettartama alatt futna, és a démon szkriptszerződése nem erre a formára épül. Kérdezd meg, mire való a horog, mielőtt úgy döntesz, hogy az utadban áll.
Az újracsatlakozások is számítanak. Az az ügyfél, amely kiesik és újracsatlakozik, új munkamenet, ezért mindennek, amit a horog lefoglal, idempotensnek kell lennie, vagy olyan bontási eseménnyel kell párosulnia, amely takarít. Az minden újracsatlakozásnál szivárgó állapot a horogalapú tervezés szokásos első hibája.
A munkamenet-szabály a horogba való
A belépés a horog természetes munkája. Tudod, ki csatlakozott, honnan és milyen tanúsítvánnyal, és eldöntheted, hogy ez a munkamenet folytatódjon-e vagy utasítsák el. Ez a döntés olcsó, egyszer történik, és nem igényli egyetlen terhelési bájt megtekintését sem.
A konfigurációkiosztás ugyanabba a formába illik. A horog kiválaszthatja az ügyfél címét, küldhet az adott identitáshoz illő beállításokat, vagy írhat egy töredéket, amelyet a kiszolgáló ehhez az ügyfélhez olvas. Mivel a döntés munkamenetenként születik, érthető marad, amikor valami elromlik, és valakinek meg kell magyaráznia, miért kapott egy adott ügyfél egy adott címet.
A rögzítés a harmadik illeszkedés. Az olyan auditbejegyzés, amely kimondja, hogy egy munkamenetet beengedtek, az identitásával és idejével, pontosan ide tartozik. Ez nem forgalmi napló, és nem is szabad annak látszania. Ha később valaki azt kérdezi, mit tett egy ügyfél az alagúton belül, a válasznak máshonnan kell jönnie.
A csomagmunka a csomagútra tartozik
Ha a követelmény a repülés közbeni bájtok megtekintése vagy módosítása, a komponensnek a továbbítási úton kell lennie: sorral rendelkező tűzfalszabály, forgalomirányítási horog vagy felhasználói térben futó továbbító. Ezek a mechanizmusok látják a csomagokat, és saját állapotuk, saját hibamódjuk és saját teljesítményprofiljuk van.
A terhelés szerkesztése ezen a rétegen nehezebb, mint olvasása. Egy bájt megváltoztatása érvényteleníthet egy hosszmezőt, egy ellenőrző összeget vagy egy protokoll-állapotgépet, és a harmadik rétegbeli alagút ettől egyik ellen sem véd. Csak azt jelenti, hogy a külső fejlécek nem azok, amelyeket szerkesztesz. Számolj ezzel a javítási munkával, mielőtt bárkinek tartalom-átírást ígérsz.
Az interfész-rögzítés a kategória legolcsóbb eszköze, és megfigyelés, nem szerkesztő. Az emberek összekeverik a kettőt, mert mindkettőt forgalomlátásként írják le, de a rögzítés fájlt hoz létre, a csomagút pedig döntést.
Az alkalmazásváltozások az alkalmazásba tartoznak
Amikor a cél az, hogy megváltozzon, mit tartalmaz egy kérés, vagy hogyan jön létre egy válasz, a helyes hely maga a szolgáltatás vagy egy proxy, amely szándékosan lezárja a protokollt. Ezek a komponensek már értik a kéréseket, a válaszokat és azt a hitelesítést, amelyet az alkalmazás elvár, és pontosan ez az a környezet, amelyből a csomagszűrőnek hiányzik.
A címfordítás okkal van a lista alján. Átírja a címeket és portokat, a terhelést pedig békén hagyja, tehát nem tartalmi eszköz, bármilyen gyakran is bukkan fel olyan receptben, amely tartalmat is említ.
E határok szétválasztása teszi a tervezést megmagyarázhatóvá. Munkamenet-szabály a horogban, csomagkezelés a csomagúton és alkalmazásváltozás ott, ahol a protokoll szándékosan lezárul: három mondat, amely egyben ellenőrzőlistaként is szolgál az átvizsgáláshoz.
Ahol a TLS még mindig lezárja a beszélgetést
Egy dolog túlél mindent a fentiekből: az alagúton belüli, HTTPS-t hordozó forgalom megtartja a saját szállítási titkosítását. A VPN kulcsainak birtoklása megadja a belső IP-csomagot, és nem adja meg a másik végén lévő webhely munkamenet-kulcsait.
Ezért nem tud a horog tartalmat vizsgálni még elvben sem, és ezért lát a csomagút titkosított szöveget, hacsak a telepítés nem zárja le szándékosan a belső TLS-t. szkriptszerződés leírja, mit kap a horog; semmit nem mond a terhelésről, mert nincs mit adni.