8192-bitised võtmed ummistavad kätlemise; 1024-bitine DH lükatakse tagasi
Kaks suuruse viga vastandlike parandustega: üleliia suur võti põletab kätlemise aega, kuni partneri aegumine lõpeb, samas kui väike DH-grupp lükatakse tagasi enne, kui see algab.
Ühel serveril jäävad kliendid mõneks ajaks kinni ja taasühenduvad siis, teine aga lükkab ühendused kohe tagasi teatega võtme suuruse kohta. Need näivad erinevate vigadena ja on sama viga vastassuundades. Kätlemise krüptograafial on kulu, mis kasvab parameetri suurusega, ja sellel on ka alumine piir, millest moodsad teegid allapoole ei lähe. Materjali mõõtmete määramine on kontroll-loend ja esimene punkt on otsustada, kumb kahest veast tegelikult on.
Lugege tõrget enne, kui midagi uuesti genereerite
Ajastus ütleb teile sellest suurema osa. Kätlemine, mis võtab mitu sekundit ja sureb siis, tähendab tavaliselt, et arvutus ületas partneri kannatlikkuse, mis viitab parameetritele, mis on riistvara või aegumise jaoks liiga suured. Kohene tagasilükkamine, mis nimetab võtme või grupi suurust, viitab teisele poole, materjalile, mida teek üldse ei aktsepteeri.
Need kaks vajavad vastandlikke parandusi ja just siin läheb enamik katseid valesti. 8192-bitiste parameetrite uuesti genereerimine kliendil, mis on juba väikese grupi tagasi lükanud, teeb aeglase juhtumi hullemaks, tehes kiire jaoks mitte midagi. Kirjutage üles, millist sümptomit nägite, enne kui faili puudutate.
Seejärel kontrollige, mida partnerilt nõutakse. Lõpliku välja suurele grupile seatud server sunnib iga klienti kulutama sama CPU-aega igal uuel läbirääkimisel, mitte ainult ühendumisel. Kui probleem ilmneb korrapärase intervalliga, mitte käivitamisel, on see intervall tugev vihje, milline säte on kallis. Uus läbirääkimine kordab kogu arvutust, nii et iga tund korduv tõrge on tavaliselt sama kulu, mis uuesti makstakse.
Aeglane juhtum: materjal, mida riistvara ei suuda maksta
Diffie-Hellmani ja RSA töö kasvab võtme suurusega kiiresti ja kõik see toimub enne, kui tunnelis liigub mingi liiklus. Väikesel ruuteril või väikese võimsusega kliendil võib piisavalt suur grupp lükata vahetuse teise poole aegumisest kaugemale, nii et ühendus proovib uuesti või lihtsalt näib ilma ühegi veata kinni jäävat.
Parandus on laskuda suurusele, mida iga partner toetab ja iga seade saab mugavalt välja arvutada. 2048-bitine RSA võti ja 2048-bitine grupp jäävad laialt ühilduvaks baasjooneks; suurem aitab ainult siis, kui kõik pooled nõustuvad ja CPU suudab selle iga läbirääkimise eest maksta. Kõik sellest baasjoonest kõrgem on teadlik järeleandmine, mitte uuendus.
Suurus ei ole skoor ja võrdlustabeli suurim arv ei ole automaatselt õige valik. Valige väikseim väärtus, mille teie poliitika lubab ja kõik partnerid aktsepteerivad, seejärel mõõtke kätlemist, selle asemel et eeldada, et see paranes. Väiksem grupp, mis ikka aegumiseni jõuab, ütleb teile, et suurus ei olnud kunagi kogu lugu.
Kiire juhtum: grupp, mille teek tagasi lükkab
Moodsad OpenSSL-i ehitused lükkavad väikseimad lõpliku välja grupid otse tagasi ja tõstetud turbetase lükkab alumise piiri veelgi kõrgemale. Ruuteri püsivara, mis toob kaasa aastakümneid vana parameetrifaili, on tavaline allikas, ja sümptom on ühendus, mis ebaõnnestub kohe teatega, mis nimetab gruppi või võtme suurust. Selles tõrkes ei ole miski katkendlik, ja just see teeb selle kergesti äratuntavaks.
Asendage fail, selle asemel et konfiguratsiooni muuta kontrolli vahelejätmiseks. Genereerige praegune grupp, valideerige see ja paigaldage see sinna, kus deemon seda tegelikult loeb. Hoidke vana faili, kuni klient on uuega edukalt ühendunud:
openssl dhparam -out /etc/openvpn/ffdhe2048.pem 2048
openssl dhparam -in /etc/openvpn/ffdhe2048.pem -check -noout
ls -l /etc/openvpn/ffdhe2048.pemKontrollikäsk valideerib faili ega trüki õnnestumisel midagi kasulikku; loend kinnitab, et asendasite faili, mille teenus laadib, mitte selle kõrval oleva vananenud koopia. Suunake konfiguratsioon sellele teele, taaskäivitage deemon ja kinnitage, et varem ebaõnnestunud klient lõpetab nüüd kätlemise.
Kui server seab ka turbetaseme või sertifikaadiprofiili, lugege neid enne, kui järeldate, et grupp oli vale. Profiil, mis nõuab rangemat klassi, võib tagasi lükata materjali, mille vaikeväärtus oleks vastu võtnud, ja selle sätte eemaldamine on kitsam muudatus kui kontrolli ülemaailmne väljalülitamine.
Valige suurus partneri ja riistvara jaoks
Uurige välja, mida kaugem ots talub, enne kui genereerite midagi eksootilist. Seade, mis on 2048-bitise grupi jaoks liiga vana, on seade, mille tuleb välja vahetada, sest serveri suunamine nõrgemale grupile muudab ühilduvuskaebuse ainult katkestuseks. Püsivad parandused liiguvad uuema tarkvara, mitte vanemate parameetrite poole. Igal ajutisel erandil selles valdkonnas on komme saada püsivaks konfiguratsiooniks.
Kus piiriks on serveri CPU, muutke algoritmi, selle asemel et poliitikast allapoole laskuda. Elliptilise kõvera võtmevahetus nagu X25519 on dramaatiliselt odavam kui suur lõpliku välja grupp ja on laialt toetatud, mis teeb sellest parema vastuse jõudluskaebusele kui väiksem RSA moodul.
Mida iganes valite, testige ühe päris ühendusega ja jälgige, kui kaua kätlemine võtab, mitte ainult seda, kas see lõpuks ühendub. Ühendus, mis õnnestub kaheteistkümne sekundiga, on sama juurpõhjusega kui see, mis ebaõnnestub viieteistkümnel.
Kirjutage valik üles, et uuesti ehitamine ei saaks seda tühistada
Hoidke parameetrifaili konfiguratsioonihalduses ja kirjutage selle kõrvale suurus, põhjus ja kuupäev. Uuesti ehitatud server, mis vaikselt genereerib oma vaikeväärtused, on viis, kuidas sama viga naaseb kuus kuud hiljem, ilma et keegi suudaks algset otsust selgitada.
Kirjutage samad andmed lõpp-punkti ja profiili kõrvale, et ülevaatus ei peaks neid faili suurusest taastama. Kui järgmine ühendus kinni jääb, on see märge vahe viie minuti kontrolli ja uue uurimise vahel. See takistab ka järgmisel inseneril lahendada aeglast juhtumit parandusega, mis oli mõeldud kiire jaoks.