Çelësat 8192-bitësh bllokojnë shtrëngimin e duarve; DH 1024-bitësh refuzohet
Dy gabime madhësie me korrigjime të kundërta: një çelës shumë i madh djeg kohën e shtrëngimit derisa pala tjetër të mbërrijë në afatin, ndërsa një grup DH i vogël refuzohet para se të fillojë.
Një server ka klientë që ngecin për një kohë dhe pastaj rilidhen, dhe një tjetër i refuzon lidhjet menjëherë me një mesazh për madhësinë e çelësit. Duken si gabime të ndryshme dhe janë i njëjti gabim i drejtuar në drejtime të kundërta. Kriptografia e shtrëngimit ka një kosto që rritet me madhësinë e parametrave, dhe ka edhe një dysheme nën të cilën bibliotekat moderne nuk zbresin. Përcaktimi i madhësisë së materialit është lista e kontrollit, dhe pika e parë është të vendosni cilin nga dy gabimet e keni në të vërtetë.
Lexoni dështimin përpara se të rikrijoni ndonjë gjë
Kohëmatja ju thotë pjesën më të madhe. Një shtrëngim që zgjat disa sekonda dhe pastaj vdes zakonisht do të thotë që llogaritja e tejkaloi durimin e palës tjetër, gjë që tregon parametra shumë të mëdhenj për harduerin ose për afatin. Një refuzim i menjëhershëm që emërton një madhësi çelësi ose grupi tregon në drejtimin tjetër, drejt materialit që biblioteka nuk do ta pranojë fare.
Këta të dy kanë nevojë për korrigjime të kundërta, dhe pikërisht këtu gabojnë shumica e përpjekjeve. Rikrijimi i parametrave 8192-bitësh në një klient që ka refuzuar tashmë një grup të vogël e përkeqëson rastin e ngadaltë pa bërë asgjë për atë të shpejtë. Shënoni cilin simptomë keni vërejtur përpara se të prekni një skedar.
Pastaj kontrolloni çfarë kërkohet nga pala tjetër. Një server i konfiguruar për një grup të madh të fushës së fundme detyron çdo klient të shpenzojë të njëjtën kohë CPU në çdo rinegocim, jo vetëm gjatë lidhjes. Nëse problemi shfaqet në një interval të rregullt dhe jo në nisje, ai interval është një tregues i fortë se cili rregullim është i shtrenjtë. Rinegocimi përsërit të gjithë llogaritjen, kështu që një ngecje që kthehet çdo orë është zakonisht e njëjta kosto e paguar përsëri.
Rasti i ngadaltë: material që hardueri nuk mund ta përballojë
Puna e Diffie-Hellman dhe RSA rritet shpejt me madhësinë e çelësit, dhe e gjitha ndodh përpara se të rrjedhë ndonjë trafik në tunel. Në një ruter të vogël ose një klient me fuqi të ulët, një grup mjaft i madh mund ta shtyjë shkëmbimin përtej afatit të anës tjetër, kështu që lidhja provon përsëri ose thjesht duket e varur pa asnjë gabim.
Korrigjimi është të zbrisni në një madhësi që çdo palë e mbështet dhe çdo pajisje mund ta llogarisë rehat. Një çelës RSA 2048-bitësh dhe një grup 2048-bitësh mbeten një bazë gjerësisht e përputhshme; më i madh ndihmon vetëm kur të gjitha palët bien dakord dhe CPU-ja mund ta paguajë në çdo rinegocim. Çdo gjë mbi atë bazë është një shkëmbim i qëllimshëm, jo një përmirësim.
Madhësia nuk është pikë, dhe numri më i madh në një tabelë krahasimi nuk është automatikisht zgjedhja e saktë. Zgjidhni vlerën më të vogël që politika juaj lejon dhe që të gjitha palët pranojnë, pastaj matni shtrëngimin në vend që të supozoni se u përmirësua. Një grup më i vogël që ende e kalon afatin ju thotë se madhësia nuk ishte kurrë e gjithë historia.
Rasti i shpejtë: një grup që biblioteka e refuzon
Ndërtimet moderne të OpenSSL i refuzojnë drejtpërdrejt grupet më të vogla të fushës së fundme, dhe një nivel sigurie i ngritur e shtyn dyshemenë edhe më lart. Firmware-i i ruterit që sjell një skedar parametrash të dekadave është burimi i zakonshëm, dhe simptoma është një lidhje që dështon menjëherë me një mesazh që emërton grupin ose madhësinë e çelësit. Asgjë në atë dështim nuk është e ndërprerë, dhe kjo është ajo që e bën të lehtë për ta njohur.
Zëvendësoni skedarin në vend që të modifikoni konfigurimin për të anashkaluar kontrollin. Gjeneroni një grup aktual, validoni atë, pastaj instaloni aty ku daemoni e lexon vërtet. Mbajeni skedarin e vjetër derisa një klient të lidhet me sukses me atë të riun:
openssl dhparam -out /etc/openvpn/ffdhe2048.pem 2048
openssl dhparam -in /etc/openvpn/ffdhe2048.pem -check -noout
ls -l /etc/openvpn/ffdhe2048.pemKomanda e kontrollit validon skedarin dhe nuk printon asgjë të dobishme kur kalon; lista konfirmon që keni zëvendësuar skedarin që ngarkon shërbimi, jo një kopje të vjetër pranë tij. Drejtojeni konfigurimin në atë shteg, rinisni daemonin dhe konfirmoni që një klient që dështonte më parë tani e përfundon shtrëngimin.
Nëse serveri cakton edhe një nivel sigurie ose një profil certifikate, lexojini ato përpara se të arrini në përfundimin se grupi ishte i gabuar. Një profil që kërkon një klasë më të rreptë mund të refuzojë material që parazgjedhja do ta kishte pranuar, dhe heqja e atij rregullimi është një ndryshim më i ngushtë sesa çaktivizimi global i kontrollit.
Zgjidhni një madhësi për palën tjetër dhe harduerin
Zbuloni çfarë mban skaji i largët përpara se të gjeneroni diçka ekzotike. Një pajisje shumë e vjetër për një grup 2048-bitësh është pajisje për t'u zëvendësuar, pasi drejtimi i serverit në një grup më të dobët vetëm sa e kthen një ankesë përputhshmërie në ndërprerje. Korrigjimet e qëndrueshme shkojnë drejt softuerit më të ri, jo parametrave më të vjetër. Çdo përjashtim i përkohshëm në këtë fushë ka një mënyrë për t'u bërë konfigurimi i përhershëm.
Ku CPU-ja e serverit është kufiri, ndryshoni algoritmin në vend që të zbrisni nën politikë. Një shkëmbim çelësash me kurbë eliptike si X25519 është shumë më i lirë se një grup i madh i fushës së fundme dhe mbështetet gjerësisht, gjë që e bën përgjigjen më të mirë ndaj një ankese për performancë sesa një modul RSA më i vogël.
Çfarëdo që zgjidhni, provojeni me një lidhje të vërtetë dhe shikoni sa zgjat shtrëngimi, jo vetëm nëse lidhet në fund. Një lidhje që ka sukses në dymbëdhjetë sekonda ka të njëjtin shkak rrënjësor si një që dështon në pesëmbëdhjetë.
Regjistroni zgjedhjen që një rindërtim të mos e anulojë
Mbajeni skedarin e parametrave nën menaxhimin e konfigurimit dhe shkruani pranë tij madhësinë, arsyen dhe datën. Një server i rindërtuar që gjeneron në heshtje parazgjedhjet e veta është mënyra se si i njëjti defekt kthehet gjashtë muaj më vonë pa mundur askush të shpjegojë vendimin fillestar.
Shkruani të njëjtin informacion pranë pikës fundore dhe profilit, në mënyrë që një rishikim të mos duhet ta rindërtojë nga madhësia e skedarit. Kur lidhja tjetër të ngecë, ai shënim është ndryshimi midis një kontrolli pesëminutash dhe një hetimi të ri. Gjithashtu e pengon inxhinierin e radhës të zgjidhë rastin e ngadaltë me një korrigjim të menduar për atë të shpejtë.