Tri vrstice v profilu so videti, kot da vse izklopijo stiskanje, v resnici pa to stori le ena od njih. Razlika je pomembna, ker je opozorilo, ki ga želite utišati, simptom, medtem ko politika odloča, ali lahko druga stran še vedno stiska. Primerjava možnosti na eni osi, torej kaj vsaka po spremembi dovoli, odpravi večino nejasnosti. Katero želite, je odvisno od tega, ali se selite ali se ustalite.

Tri politike, ki so v konfiguracijski datoteki videti enako

Vsaka možnost odgovarja na drugo vprašanje. allow-compression no zavrne stisnjene tovore takoj, allow-compression asym razširi, kar pride, in nikoli ne stisne, kar gre, stara comp-lzo no pa pusti prostor za push druge strani, ki vklopi stiskanje. Le prva je politika, ki je strežnik ne more razveljaviti.

Pred izbiro zapišite te tri v preglednico, ker so imena dovolj blizu, da zavedajo pregledovalca. Dve od njih še vedno izvajata kodo za razširjanje na prejetih paketih, in prav o tem govori varnostni argument. Tretja odstrani zmožnost, namesto da bi omejila njeno smer. Če zapis spremembe pravi, da je stiskanje onemogočeno, tej povedi ustreza natanko ena vrstica.

Opozorilo, ki je sprožilo preiskavo, ni cilj. Če ga utišate, medtem ko permisivna politika ostane, dobite čist dnevnik in nespremenjeno izpostavljenost.

SettingWhat it permitsWhen it is the right answer
allow-compression noNo compressed payloads, and no compression framing under offloadBoth ends can be changed now
allow-compression asymDecompress inbound onlyA dated migration while peers catch up
comp-lzo noOff locally, still pushable by a peerLegacy compatibility you can still justify

Kaj no pomeni pri stari možnosti LZO

Pri zastareli možnosti LZO no izklopi stiskanje za lokalno stran, ne da bi drugi strani prepovedal, da ga vklopi tam, kjer politika to dovoljuje. Zaradi te asimetrije premik profila na strogo zavrnitev spremeni vedenje na načine, ki jih laboratorijski test z enim strežnikom morda nikoli ne razkrije.

Varnostna skrb je pogojna, ne absolutna. Ko lahko napadalec postavi izbrano odprto besedilo ob skrivnost in opazuje, kako stiskanje spremeni velikost šifriranega prometa, obstaja informacijski kanal. Prehod z LZO na LZ4 spremeni algoritem in okvirjanje, ne tega mehanizma.

Pošteno vprašanje se torej nanaša na to, kaj ste pripravljeni dovoliti, ne na to, kateri algoritem je trenutno priporočen. Stroga zavrnitev je edina možnost, ki ni odvisna od sodelovanja druge strani.

Samo prejemanje je stanje selitve, ne cilj

Asimetrično sprejemanje obstaja zato, da lahko ena stran preneha stiskati, medtem ko druga to še pričakuje. To je most, mostovi pa potrebujejo končni datum in lastnika. Zabeležite, kateri partnerji še pošiljajo stisnjen promet, ker politika dovoljuje natanko tak promet. Brez tega seznama stanje selitve zaradi vztrajnosti postane trajna konfiguracija.

Odjemalec ne more prisiliti nezdružljivega strežnika, da opusti staro okvirjanje, tako da uredi svojo lastno datoteko. Smer push se odloči na strežniku, zato se selitev v resnici konča v konfiguraciji strežnika in njegovih datotekah za vsakega odjemalca.

Načini stub ohranijo okvirjanje, a preskočijo samo delo stiskanja, in niso neposredni ustreznik starejše možnosti. Preizkusite jih na najstarejšem partnerju, ki ga še morate podpirati, preden se odločite za enega.

Kje offload podatkovnega kanala spremeni odgovor

Offload podatkovnega kanala premakne obdelavo paketov v jedro, profil, ki je še odvisen od okvirjanja stiskanja, pa morda ne sodi na to pot. Napaka ni vedno glasna: odjemalec se poveže in se nato obnaša drugače od tunela, ki ste ga preizkusili.

Preverite, katera izvedba je aktivna pred spremembo in po njej, ne le ali povezava uspe. Ko pot z offloadom zavrne okvirjanje stiskanja, se stroga politika zavrnitve in uvajanje z offloadom ujemata, medtem ko se permisivna politika in uvajanje z offloadom ne ujemata.

Ta kombinacija si zasluži lasten preizkus, ker se prav tam datoteka, ki je videti pravilna, tiho izkaže za tisto, ki se ne uporablja. Primerjajte dogovorjeno stanje z namenom, zapisanim v profilu, ker je le eno od obeh vidno v dnevniku.

Izberite politiko in nato preverite dogovorjeni rezultat

Izberite strogo zavrnitev, ko lahko spremenite oba konca, asimetrično sprejemanje, ko tega še ne morete, in polno stiskanje le takrat, ko lahko pojasnite, zakaj je izpostavljenost sprejemljiva. Nato preverite, kaj je bilo dogovorjeno, in ne, kaj pravi datoteka. Tišji dnevnik je dokaz le, ko se ujema s politiko, ki ste jo nameravali uvesti.

Odločitev hranite ob profilu, na katerega se nanaša, z datumom in partnerji, ki so še izvzeti. Pol leta pozneje je ta zapis razlika med namerno izjemo in nesrečo, ki je nihče ne more datirati. Zapišite jo v istem repozitoriju kot profil, da naslednji urednik vidi razlog pred direktivo.

Sorodni članki