Ključevi od 8192 bita blokiraju rukovanje; DH od 1024 bita se odbija
Dvije pogreške u veličini sa suprotnim ispravcima: prevelik ključ sagorijeva vrijeme rukovanja dok druga strana ne dobije istek vremena, a mala DH skupina se odbija prije nego što počne.
Na jednom poslužitelju klijenti zapnu na neko vrijeme i zatim se ponovno povežu, a drugi odmah odbija veze s porukom o veličini ključa. Izgledaju kao različite pogreške, a to je ista pogreška okrenuta u suprotnim smjerovima. Kriptografija rukovanja ima cijenu koja raste s veličinom parametara, a ima i donju granicu ispod koje moderne knjižnice ne idu. Određivanje veličine materijala je kontrolni popis, a prva stavka je odlučiti koju od dvije pogreške zapravo imate.
Pročitajte neuspjeh prije nego što bilo što regenerirate
Vrijeme vam kaže većinu toga. Rukovanje koje traje nekoliko sekundi i zatim umre obično znači da je izračun nadživio strpljenje druge strane, što upućuje na parametre prevelike za sklopovlje ili za istek vremena. Trenutačno odbijanje koje navodi veličinu ključa ili skupine upućuje na drugu stranu, na materijal koji knjižnica uopće neće prihvatiti.
To dvoje traži suprotne ispravke, i tu većina pokušaja pogriješi. Regeneriranje parametara od 8192 bita na klijentu koji je već odbio malu skupinu pogoršava spori slučaj, a za brzi ne čini ništa. Zapišite koji ste simptom vidjeli prije nego što dotaknete datoteku.
Zatim provjerite što se traži od druge strane. Poslužitelj podešen za veliku skupinu konačnog polja prisiljava svakog klijenta da potroši isto procesorsko vrijeme pri svakom ponovnom pregovaranju, ne samo pri povezivanju. Ako se problem pojavljuje u pravilnom intervalu, a ne pri pokretanju, taj je interval jak nagovještaj koja je postavka skupa. Ponovno pregovaranje ponavlja cijeli izračun, pa je zastoj koji se vraća svakih sat vremena obično ista cijena plaćena ponovno.
Spori slučaj: materijal koji sklopovlje ne može priuštiti
Rad Diffie-Hellman i RSA brzo raste s veličinom ključa, i sve se to dogodi prije nego što poteče ikakav promet kroz tunel. Na malom usmjerivaču ili klijentu male snage dovoljno velika skupina može gurnuti razmjenu izvan isteka vremena druge strane, pa se veza ponovno pokušava ili jednostavno izgleda zaglavljena bez ikakve pogreške.
Ispravak je spustiti se na veličinu koju svaka strana podržava i koju svaki uređaj može udobno izračunati. RSA ključ od 2048 bita i skupina od 2048 bita ostaju široko kompatibilna osnovna linija; veće pomaže samo kada se sve strane slažu i procesor to može platiti pri svakom ponovnom pregovaranju. Sve iznad te osnovne linije je svjesna razmjena, a ne nadogradnja.
Veličina nije rezultat, a najveći broj u tablici usporedbe nije automatski ispravan izbor. Odaberite najmanju vrijednost koju vaša politika dopušta i koju sve strane prihvaćaju, pa izmjerite rukovanje umjesto da pretpostavljate da se popravilo. Manja skupina koja i dalje probija istek vremena govori vam da veličina nikada nije bila cijela priča.
Brzi slučaj: skupina koju knjižnica odbija
Moderne gradnje OpenSSL-a odbijaju najmanje skupine konačnog polja odmah, a podignuta sigurnosna razina gura donju granicu još više. Firmver usmjerivača koji nosi datoteku parametara staru desetljećima uobičajen je izvor, a simptom je veza koja odmah propadne s porukom koja navodi skupinu ili veličinu ključa. Ništa u tom neuspjehu nije povremeno, i to ga čini lakim za prepoznavanje.
Zamijenite datoteku umjesto da uređujete konfiguraciju kako biste preskočili provjeru. Generirajte aktualnu skupinu, provjerite je, pa je instalirajte tamo gdje je demon doista čita. Zadržite staru datoteku dok se klijent uspješno ne poveže s novom:
openssl dhparam -out /etc/openvpn/ffdhe2048.pem 2048
openssl dhparam -in /etc/openvpn/ffdhe2048.pem -check -noout
ls -l /etc/openvpn/ffdhe2048.pemNaredba za provjeru provjerava datoteku i ne ispisuje ništa korisno kada prođe; popis potvrđuje da ste zamijenili datoteku koju servis učitava, a ne zastarjelu kopiju pokraj nje. Usmjerite konfiguraciju na tu putanju, ponovno pokrenite demon i potvrdite da klijent koji je prije propadao sada dovršava rukovanje.
Ako poslužitelj postavlja i sigurnosnu razinu ili profil certifikata, pročitajte ih prije nego zaključite da je skupina bila pogrešna. Profil koji zahtijeva strožu klasu može odbiti materijal koji bi zadani prihvatio, a uklanjanje te postavke uža je promjena od globalnog isključivanja provjere.
Odaberite veličinu za drugu stranu i sklopovlje
Saznajte što daleki kraj može podnijeti prije nego generirate nešto egzotično. Uređaj prestar za skupinu od 2048 bita uređaj je za zamjenu, jer usmjeravanje poslužitelja na slabiju skupinu samo pretvara žalbu na kompatibilnost u prekid. Trajni ispravci idu prema novijem softveru, a ne prema starijim parametrima. Svaki privremeni izuzetak u ovom području ima običaj postati trajna konfiguracija.
Gdje je procesor poslužitelja granica, promijenite algoritam umjesto da se spuštate ispod politike. Razmjena ključeva na eliptičnoj krivulji poput X25519 drastično je jeftinija od velike skupine konačnog polja i široko je podržana, što je čini boljim odgovorom na žalbu o performansama od manjeg RSA modula.
Što god odabrali, testirajte jednom stvarnom vezom i gledajte koliko rukovanje traje, a ne samo hoće li se na kraju povezati. Veza koja uspije u dvanaest sekundi ima isti korijen kao ona koja propadne na petnaest.
Zabilježite izbor da ga ponovna gradnja ne može poništiti
Držite datoteku parametara pod upravljanjem konfiguracijom i zapišite uz nju veličinu, razlog i datum. Ponovno izgrađen poslužitelj koji tiho generira vlastite zadane vrijednosti način je na koji se ista pogreška vraća šest mjeseci kasnije bez ikoga tko može objasniti izvornu odluku.
Zapišite iste informacije uz krajnju točku i profil, da pregled ne mora to rekonstruirati iz veličine datoteke. Kada se sljedeća veza zaglavi, ta je bilješka razlika između petominutne provjere i nove istrage. Ona također sprječava sljedećeg inženjera da spori slučaj riješi ispravkom namijenjenim brzom.