8192-bitaj ŝlosiloj haltigas la manpremon; 1024-bita DH estas rifuzata
Du grandecaj eraroj kun kontraŭaj riparoj: tro granda ŝlosilo bruligas la manpreman tempon ĝis la partnero elĉerpiĝas, dum malgranda DH-grupo estas rifuzata antaŭ ol ĝi komenciĝas.
Unu servilo havas klientojn, kiuj pendas dum iom da tempo kaj poste rekonektas, kaj alia tuj rifuzas konektojn kun mesaĝo pri la ŝlosila grandeco. Ili aspektas kiel malsamaj eraroj, kaj ili estas la sama eraro direktita en kontraŭajn direktojn. La kriptografio de la manpremo havas koston, kiu kreskas kun la parametra grandeco, kaj ĝi ankaŭ havas plankon, sub kiun modernaj bibliotekoj ne iras. Grandigi la materialon estas la kontrol-listo, kaj la unua punkto estas decidi, kiun el la du eraroj vi efektive havas.
Legu la malsukceson antaŭ ol regeneri ion ajn
La tempomezurado diras al vi la plej grandan parton. Manpremo, kiu konsumas plurajn sekundojn kaj poste mortas, kutime signifas, ke la komputado supervivis la paciencon de la partnero, kio montras al parametroj tro grandaj por la aparataro aŭ por la tempolimo. Tuja rifuzo, kiu nomas ŝlosilan aŭ grupan grandecon, montras al la alia flanko, al materialo, kiun la biblioteko tute ne akceptos.
Tiuj du bezonas kontraŭajn riparojn, kaj ĝuste tie la plej multaj provoj eraras. Regeneri 8192-bitajn parametrojn sur kliento, kiu jam rifuzis malgrandan grupon, plimalbonigas la malrapidan kazon, dum ĝi faras nenion por la rapida. Notu, kiun simptomon vi observis, antaŭ ol vi tuŝos dosieron.
Poste kontrolu, kion oni petas de la partnero. Servilo agordita por granda grupo en finia kampo devigas ĉiun klienton elspezi la saman CPU-tempon ĉe ĉiu renegocado, ne nur ĉe konekto. Se la problemo aperas je regula intervalo anstataŭ ĉe lanĉo, tiu intervalo estas forta indiko pri tio, kiu agordo estas multekosta. Renegocado ripetas la tutan komputadon, do halto, kiu revenas ĉiun horon, estas kutime la sama kosto pagata denove.
La malrapida kazo: materialo, kiun la aparataro ne povas permesi al si
La laboro de Diffie-Hellman kaj RSA kreskas rapide kun la ŝlosila grandeco, kaj ĉio tio okazas antaŭ ol iu ajn trafiko fluas tra la tunelo. Sur malgranda enkursigilo aŭ malpova kliento, sufiĉe granda grupo povas puŝi la interŝanĝon preter la tempolimon de la alia flanko, tiel ke la konekto reklopodas aŭ simple ŝajnas pendi sen iu ajn eraro.
La ripeto estas malsupreniri al grandeco, kiun ĉiu partnero subtenas kaj kiun ĉiu aparato povas komforte komputi. RSA-ŝlosilo de 2048 bitoj kaj grupo de 2048 bitoj restas vaste kongrua bazlinio; pli granda helpas nur kiam ĉiuj flankoj konsentas kaj la CPU povas pagi ĝin ĉe ĉiu renegocado. Ĉio super tiu bazlinio estas intenca kompromiso, ne plibonigo.
Grandeco ne estas poentaro, kaj la plej granda nombro en kompara tabelo ne estas aŭtomate la ĝusta elekto. Elektu la plej malgrandan valoron, kiun via politiko permesas kaj kiun ĉiuj partneroj akceptas, poste mezuru la manpremon anstataŭ supozi, ke ĝi pliboniĝis. Pli malgranda grupo, kiu ankoraŭ elĉerpiĝas, diras al vi, ke grandeco neniam estis la tuta rakonto.
La rapida kazo: grupo, kiun la biblioteko rifuzas
Modernaj OpenSSL-konstruaĵoj senkompate rifuzas la plej malgrandajn grupojn en finia kampo, kaj levita sekurecnivelo puŝas la plankon eĉ pli alten. Enkursigila firmvaro, kiu kunportas jardekojn malnovan parametran dosieron, estas la kutima fonto, kaj la simptomo estas konekto, kiu tuj malsukcesas kun mesaĝo nomanta la grupon aŭ la ŝlosilan grandecon. Nenio en tiu malsukceso estas intermita, kaj tio ĝuste faras ĝin facile rekonebla.
Anstataŭigu la dosieron anstataŭ redakti la agordon por preterpasi la kontrolon. Generu aktualan grupon, validigu ĝin, poste instaligu ĝin tie, kie la demono efektive legas ĝin. Tenu la malnovan dosieron ĝis kliento sukcese konektiĝos per la nova:
openssl dhparam -out /etc/openvpn/ffdhe2048.pem 2048
openssl dhparam -in /etc/openvpn/ffdhe2048.pem -check -noout
ls -l /etc/openvpn/ffdhe2048.pemLa kontrolkomando validigas la dosieron kaj presas nenion utilan, kiam ĝi trapasas; la listo konfirmas, ke vi anstataŭigis la dosieron, kiun la servo ŝargas, ne malnoviĝintan kopion apud ĝi. Direktu la agordon al tiu vojo, restartigu la demonon kaj konfirmu, ke kliento, kiu antaŭe malsukcesis, nun finas la manpremon.
Se la servilo ankaŭ agordas sekurecnivelon aŭ certifikatan profilon, legu tiujn antaŭ ol konkludi, ke la grupo estis malĝusta. Profilo, kiu postulas pli striktan klason, povas rifuzi materialon, kiun la defaŭlto akceptus, kaj forigi tiun agordon estas pli mallarĝa ŝanĝo ol tutmonde malŝalti la kontrolon.
Elektu grandecon por la partnero kaj la aparataro
Eksciu, kion la malproksima fino povas elteni, antaŭ ol generi ion ekzotikan. Aparato tro malnova por grupo de 2048 bitoj estas aparato anstataŭigenda, ĉar direkti la servilon al pli malforta grupo nur transformas plendon pri kongruo en haltiĝon. Daŭraj riparoj moviĝas al pli nova programaro anstataŭ al pli malnovaj parametroj. Ĉiu provizora escepto en ĉi tiu kampo havas manieron fariĝi la permanenta agordo.
Kie la CPU de la servilo estas la limo, ŝanĝu la algoritmon anstataŭ malsupreniri sub la politikon. Ŝlosila interŝanĝo per elipsa kurbo kiel X25519 estas draste pli malmultekosta ol granda grupo en finia kampo kaj estas vaste subtenata, kio faras ĝin la pli bona respondo al plendo pri rendimento ol pli malgranda RSA-modulo.
Kion ajn vi elektos, testu per unu reala konekto kaj rigardu, kiom longe la manpremo daŭras, ne nur ĉu ĝi fine konektiĝas. Konekto, kiu sukcesas en dek du sekundoj, havas la saman radikan kaŭzon kiel unu, kiu malsukcesas je dek kvin.
Notu la elekton tiel, ke rekonstruo ne povu nuligi ĝin
Tenu la parametran dosieron sub agorda administrado kaj skribu apud ĝi la grandecon, la kialon kaj la daton. Rekonstruita servilo, kiu silente generas siajn proprajn defaŭltojn, estas la maniero, kiel la sama eraro revenas ses monatojn poste sen ke iu povas klarigi la originan decidon.
Skribu la saman informon apud la finpunkto kaj la profilo, por ke revizio ne devu rekonstrui ĝin el dosiera grandeco. Kiam la sekva konekto haltos, tiu noto estas la diferenco inter kvin-minuta kontrolo kaj nova esploro. Ĝi ankaŭ malhelpas la sekvan inĝenieron solvi la malrapidan kazon per ripeto destinita por la rapida.