OpenVPN kompresija: odbiti, samo primati ili puni LZO?
comp-lzo no nije strogo odbijanje. Usporedite odbijanje kompresije, jednostrano prihvaćanje tijekom migracije i zadržavanje, pa provjerite što radi offload.
Tri retka u profilu izgledaju kao da svi isključuju kompresiju, a samo jedan to doista čini. Razlika je važna jer je upozorenje koje želite ušutkati simptom, dok politika odlučuje može li druga strana još komprimirati. Usporedba opcija na jednoj osi, naime što svaka dopušta nakon promjene, uklanja većinu nejasnoće. Koju želite ovisi o tome migrirate li ili se smirujete.
Tri politike koje u konfiguracijskoj datoteci izgledaju slično
Svaka opcija odgovara na drugo pitanje. allow-compression no odbija komprimirane tokove odmah, allow-compression asym dekomprimira ono što stiže i nikada ne komprimira ono što odlazi, a stari comp-lzo no ostavlja prostor da push druge strane uključi kompresiju. Samo je prva politika koju poslužitelj ne može nadjačati.
Zapišite te tri u tablicu prije odabira, jer su imena dovoljno blizu da zavede recenzenta. Dvije od njih još izvršavaju kod za dekompresiju na primljenim paketima, a upravo o tome govori sigurnosni argument. Treća uklanja sposobnost umjesto da ograničava njezin smjer. Ako zapis o promjeni kaže da je kompresija isključena, točno jedan redak ispunjava tu rečenicu.
Upozorenje koje je pokrenulo istragu nije cilj. Ušutkati ga dok permisivna politika ostaje na mjestu daje čist dnevnik i nepromijenjenu izloženost.
| 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 |
Što no znači kod stare LZO opcije
Kod zastarjele LZO opcije no isključuje kompresiju za lokalnu stranu, ali ne zabranjuje drugoj strani da je uključi tamo gdje politika to dopušta. Zbog te asimetrije premještanje profila na strogo odbijanje mijenja ponašanje na načine koje laboratorijski test s jednim poslužiteljem možda nikada neće otkriti.
Sigurnosna briga je uvjetna, a ne apsolutna. Kada napadač može postaviti odabrani otvoreni tekst pokraj tajne i promatrati kako kompresija mijenja veličinu šifriranog prometa, informacijski kanal postoji. Prelazak s LZO na LZ4 mijenja algoritam i uokvirivanje, ne taj mehanizam.
Dakle, iskren okvir tiče se onoga što ste spremni dopustiti, a ne toga koji se algoritam trenutačno preporučuje. Strogo odbijanje jedina je opcija koja ne ovisi o suradnji druge strane.
Samo primanje je stanje migracije, a ne odredište
Asimetrično prihvaćanje postoji da bi jedna strana mogla prestati komprimirati dok druga to još očekuje. To je most, a mostovi trebaju krajnji datum i vlasnika. Zabilježite koji partneri još šalju komprimirani promet, jer politika dopušta upravo takav promet. Bez tog popisa stanje migracije inercijom postaje trajna konfiguracija.
Klijent ne može prisiliti nekompatibilan poslužitelj da napusti staro uokvirivanje uređivanjem vlastite datoteke. Smjer push-a odlučuje se na poslužitelju, pa se migracija zapravo završava u konfiguraciji poslužitelja i njegovim datotekama po klijentu.
Stub načini čuvaju uokvirivanje dok preskaču sam posao kompresije i nisu izravan ekvivalent starije opcije. Testirajte ih na najstarijem partneru koji još morate podržavati prije nego se odlučite za jedan.
Gdje offload podatkovnog kanala mijenja odgovor
Offload podatkovnog kanala premješta obradu paketa u jezgru, a profil koji još ovisi o uokvirivanju kompresije možda se ne uklapa u taj put. Kvar nije uvijek glasan: klijent se poveže i zatim se ponaša drukčije od tunela koji ste testirali.
Provjerite koja je implementacija aktivna prije i poslije promjene, a ne samo uspijeva li veza. Kada put s offloadom odbija uokvirivanje kompresije, stroga politika odbijanja i implementacija s offloadom se slažu, dok se permisivna politika i implementacija s offloadom ne slažu.
Ta kombinacija zaslužuje vlastiti test, jer se upravo tu datoteka koja izgleda ispravno tiho pretvara u onu koja se ne koristi. Usporedite pregovoreno stanje s namjerom zapisanom u profilu, jer je samo jedno od toga vidljivo u dnevniku.
Odaberite politiku, pa provjerite pregovoreni rezultat
Odaberite strogo odbijanje kad možete promijeniti obje strane, asimetrično prihvaćanje kad još ne možete, a punu kompresiju samo kad možete reći zašto je izloženost prihvatljiva. Zatim provjerite što je pregovoreno, a ne što datoteka kaže. Tiši dnevnik dokaz je samo kad se poklapa s politikom koju ste namjeravali primijeniti.
Držite odluku uz profil na koji se odnosi, s datumom i partnerima koji su još izuzeti. Šest mjeseci kasnije ta bilješka je razlika između namjernog izuzetka i nezgode koju nitko ne može datirati. Napišite je u istom repozitoriju kao profil da sljedeći urednik vidi razlog prije direktive.