Na jednom serveru klijenti zapnu na neko vrijeme i zatim se ponovo povežu, a drugi odmah odbija veze s porukom o veličini ključa. Izgledaju kao različite greške, a to je ista greška okrenuta u suprotnim smjerovima. Kriptografija rukovanja ima cijenu koja raste s veličinom parametara, a ima i donju granicu ispod koje moderne biblioteke ne idu. Određivanje veličine materijala je kontrolna lista, a prva stavka je odlučiti koju od dvije greške zapravo imate.

Pročitajte neuspjeh prije nego što bilo šta regenerišete

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 hardver ili za tajmaut. Trenutno odbijanje koje navodi veličinu ključa ili grupe upućuje na drugu stranu, na materijal koji biblioteka uopće neće prihvatiti.

To dvoje traži suprotne popravke, i tu većina pokušaja pogriješi. Regenerisanje parametara od 8192 bita na klijentu koji je već odbio malu grupu 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 šta se traži od druge strane. Server podešen za veliku grupu konačnog polja prisiljava svakog klijenta da potroši isto procesorsko vrijeme na svakom ponovnom pregovaranju, ne samo pri povezivanju. Ako se problem pojavljuje u pravilnom intervalu, a ne pri pokretanju, taj interval je 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 ponovo.

Spori slučaj: materijal koji hardver 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 ruteru ili klijentu male snage dovoljno velika grupa može gurnuti razmjenu izvan tajmauta druge strane, pa se veza ponovo pokušava ili jednostavno izgleda zaglavljena bez ikakve greške.

Popravka 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 grupa 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 poređenja 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 grupa koja i dalje probija tajmaut govori vam da veličina nikada nije bila cijela priča.

Brzi slučaj: grupa koju biblioteka odbija

Moderne gradnje OpenSSL-a odbijaju najmanje grupe konačnog polja odmah, a podignut sigurnosni nivo gura donju granicu još više. Firmver rutera koji nosi datoteku parametara staru desetljećima uobičajen je izvor, a simptom je veza koja odmah propadne s porukom koja navodi grupu 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. Generišite aktualnu grupu, 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.pem

Naredba 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 pored nje. Usmjerite konfiguraciju na tu putanju, ponovo pokrenite demon i potvrdite da klijent koji je prije propadao sada dovršava rukovanje.

Ako server postavlja i sigurnosni nivo ili profil certifikata, pročitajte ih prije nego zaključite da je grupa 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 hardver

Saznajte šta daleki kraj može podnijeti prije nego generišete nešto egzotično. Uređaj prestar za grupu od 2048 bita uređaj je za zamjenu, jer usmjeravanje servera na slabiju grupu samo pretvara žalbu na kompatibilnost u prekid. Trajne popravke 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 servera 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 grupe konačnog polja i široko je podržana, što je čini boljim odgovorom na žalbu o performansama od manjeg RSA modula.

Šta 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 server koji tiho generiše vlastite zadane vrijednosti način je na koji se ista greška vraća šest mjeseci kasnije bez ikoga ko 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 bilješka je razlika između petominutne provjere i nove istrage. Ona također sprječava sljedećeg inženjera da spori slučaj riješi popravkom namijenjenom brzom.

Povezani članci