Kompresia v OpenVPN: odmietnuť, iba prijímať alebo plné LZO?
comp-lzo no nie je striktné odmietnutie. Porovnajte odmietnutie kompresie, jednostranné prijímanie počas migrácie a jej zachovanie, a potom skontrolujte, čo robí offload.
Tri riadky v profile vyzerajú, akoby všetky vypínali kompresiu, a v skutočnosti to robí iba jeden z nich. Rozdiel je dôležitý, pretože varovanie, ktoré chcete umlčať, je symptom, kým politika rozhoduje o tom, či protistrana ešte môže komprimovať. Porovnanie možností na jednej osi, teda čo každá po zmene dovoľuje, odstraňuje väčšinu nejasností. Ktorú chcete, závisí od toho, či migrujete alebo sa usadzujete.
Tri politiky, ktoré v konfiguračnom súbore vyzerajú rovnako
Každá možnosť odpovedá na inú otázku. allow-compression no odmieta komprimované dátové časti priamo, allow-compression asym dekomprimuje to, čo prichádza, a nikdy nekomprimuje to, čo odchádza, a starý comp-lzo no necháva priestor na push protistrany, ktorý kompresiu zapne. Iba prvá je politika, ktorú server nemôže prepísať.
Pred výberom napíšte tie tri do tabuľky, pretože názvy sú dosť blízko na to, aby pomýlili recenzenta. Dve z nich stále spúšťajú dekomprimačný kód na prijatých paketoch a práve o to ide v bezpečnostnom argumente. Tretia odstraňuje schopnosť namiesto toho, aby obmedzila jej smer. Ak záznam o zmene tvrdí, že kompresia je vypnutá, presne jeden riadok tejto vete vyhovuje.
Varovanie, ktoré spustilo vyšetrovanie, nie je cieľom. Jeho umlčanie pri ponechaní permisívnej politiky prináša čistý log a nezmenenú expozíciu.
| Setting | What it permits | When it is the right answer |
|---|---|---|
allow-compression no | No compressed payloads, and no compression framing under offload | Both ends can be changed now |
allow-compression asym | Decompress inbound only | A dated migration while peers catch up |
comp-lzo no | Off locally, still pushable by a peer | Legacy compatibility you can still justify |
Čo znamená no pri starej voľbe LZO
Pri zastaranej voľbe LZO no vypína kompresiu na lokálnej strane bez toho, aby protistrane zakazovalo ju zapnúť tam, kde to politika dovoľuje. Práve pre túto asymetriu premiestnenie profilu na striktné odmietnutie mení správanie spôsobmi, ktoré laboratórny test s jediným serverom nemusí nikdy odhaliť.
Bezpečnostná obava je podmienená, nie absolútna. Keď útočník môže umiestniť zvolený otvorený text vedľa tajomstva a sledovať, ako kompresia mení veľkosť šifrovanej premávky, existuje informačný kanál. Prechod z LZO na LZ4 mení algoritmus a rámovanie, nie tento mechanizmus.
Poctivé vymedzenie sa teda týka toho, čo ste ochotní dovoliť, nie toho, ktorý algoritmus sa práve odporúča. Striktné odmietnutie je jediná možnosť, ktorá nezávisí od spolupráce druhej strany.
Iba prijímanie je stav migrácie, nie cieľ
Asymetrické prijímanie existuje preto, aby jedna strana mohla prestať komprimovať, kým druhá to ešte očakáva. Je to most a mosty potrebujú dátum konca a vlastníka. Zaznamenajte, ktorí partneri ešte posielajú komprimovanú premávku, pretože politika dovoľuje práve takú premávku. Bez tohto zoznamu sa stav migrácie zotrvačnosťou stane trvalou konfiguráciou.
Klient nemôže prinútiť nekompatibilný server, aby opustil staré rámovanie, tým, že upraví svoj vlastný súbor. Smer push sa rozhoduje na serveri, takže migrácia sa skutočne končí v konfigurácii servera a v jeho súboroch pre jednotlivých klientov.
Stub režimy zachovávajú rámovanie, ale preskakujú samotnú prácu kompresie, a nie sú priamym ekvivalentom staršej voľby. Otestujte ich na najstaršom partnerovi, ktorého ešte musíte podporovať, skôr než sa pre niektorý rozhodnete.
Kde offload dátového kanála mení odpoveď
Offload dátového kanála presúva spracovanie paketov do jadra a profil, ktorý stále závisí od rámovania kompresie, sa do tejto cesty nemusí zmestiť. Zlyhanie nebýva vždy hlasné: klient sa pripojí a potom sa správa inak ako tunel, ktorý ste testovali.
Skontrolujte, ktorá implementácia je aktívna pred zmenou a po nej, nie len to, či sa spojenie podarí. Keď cesta s offloadom odmieta rámovanie kompresie, striktná politika odmietnutia a nasadenie s offloadom si zodpovedajú, kým permisívna politika a nasadenie s offloadom nie.
Táto kombinácia si zaslúži vlastný test, pretože práve tam súbor, ktorý vyzerá správne, ticho nie je ten, ktorý sa používa. Porovnajte vyjednaný stav so zámerom zaznamenaným v profile, pretože iba jeden z nich je v logu viditeľný.
Vyberte politiku a potom overte vyjednaný výsledok
Zvoľte striktné odmietnutie, keď môžete zmeniť oba konce, asymetrické prijímanie, keď to ešte nie je možné, a plnú kompresiu iba vtedy, keď dokážete vysvetliť, prečo je expozícia prijateľná. Potom overte, čo bolo vyjednané, a nie čo hovorí súbor. Tichší log je dôkazom iba vtedy, keď zodpovedá politike, ktorú ste chceli nasadiť.
Držte rozhodnutie pri profile, na ktorý sa vzťahuje, s dátumom a partnermi, ktorí sú ešte vyňatí. Po pol roku je tá poznámka rozdielom medzi zámernou výnimkou a nehodou, ktorú nikto nedokáže datovať. Napíšte ju do toho istého repozitára ako profil, aby ďalší editor videl dôvod pred direktívou.