ഒരു സെർവറിൽ ക്ലയന്റുകൾ കുറച്ചുസമയം കുടുങ്ങിയ ശേഷം വീണ്ടും ബന്ധിപ്പിക്കുന്നു, മറ്റൊന്ന് കീയുടെ വലിപ്പത്തെക്കുറിച്ചുള്ള സന്ദേശത്തോടെ കണക്ഷനുകൾ ഉടൻ നിരസിക്കുന്നു. അവ വ്യത്യസ്ത ബഗുകളായി തോന്നുന്നു, എന്നാൽ വിപരീത ദിശകളിലേക്ക് ചൂണ്ടുന്ന അതേ ബഗ് ആണ്. ഹാൻഡ്ഷേക്ക് ക്രിപ്റ്റോഗ്രഫിക്ക് പാരാമീറ്റർ വലിപ്പത്തിനൊപ്പം വളരുന്ന ചെലവുണ്ട്, ആധുനിക ലൈബ്രറികൾ താഴേക്ക് പോകാത്ത ഒരു താഴ്ന്ന പരിധിയുമുണ്ട്. മെറ്റീരിയലിന്റെ വലിപ്പം നിർണ്ണയിക്കുന്നതാണ് ചെക്ക്‌ലിസ്റ്റ്, ആദ്യ ഇനം രണ്ട് പിശകുകളിൽ ഏതാണ് യഥാർത്ഥത്തിൽ നിങ്ങൾക്കുള്ളതെന്ന് തീരുമാനിക്കുകയാണ്.

എന്തെങ്കിലും പുനർനിർമ്മിക്കുന്നതിന് മുമ്പ് പരാജയം വായിക്കുക

സമയം അതിന്റെ ഭൂരിഭാഗവും നിങ്ങളോട് പറയുന്നു. കുറച്ച് സെക്കൻഡുകൾ എടുത്ത് പിന്നീട് മരിക്കുന്ന ഹാൻഡ്ഷേക്ക് സാധാരണയായി കണക്കുകൂട്ടൽ എതിർവശത്തിന്റെ ക്ഷമയെ മറികടന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്, ഇത് ഹാർഡ്‌വെയറിനോ സമയപരിധിക്കോ വളരെ വലുതായ പാരാമീറ്ററുകളിലേക്ക് ചൂണ്ടുന്നു. കീ അല്ലെങ്കിൽ ഗ്രൂപ്പ് വലിപ്പം പേരെടുത്ത് പറയുന്ന തൽക്ഷണ നിരസിക്കൽ മറുവശത്തേക്ക്, ലൈബ്രറി ഒട്ടും സ്വീകരിക്കാത്ത മെറ്റീരിയലിലേക്ക് ചൂണ്ടുന്നു.

ഇവ രണ്ടിനും വിപരീത പരിഹാരങ്ങൾ വേണം, ഇവിടെയാണ് മിക്ക ശ്രമങ്ങളും തെറ്റുന്നത്. ഒരു ചെറിയ ഗ്രൂപ്പ് ഇതിനകം നിരസിച്ച ക്ലയന്റിൽ 8192-ബിറ്റ് പാരാമീറ്ററുകൾ പുനർനിർമ്മിക്കുന്നത് പതുക്കെയുള്ള കേസ് കൂടുതൽ മോശമാക്കുന്നു, വേഗത്തിലുള്ള കേസിന് ഒന്നും ചെയ്യുന്നില്ല. ഒരു ഫയൽ തൊടുന്നതിന് മുമ്പ് ഏത് ലക്ഷണം കണ്ടുവെന്ന് എഴുതി വയ്ക്കുക.

തുടർന്ന് എതിർവശത്തോട് എന്താണ് ആവശ്യപ്പെടുന്നതെന്ന് പരിശോധിക്കുക. വലിയ പരിമിത-ഫീൽഡ് ഗ്രൂപ്പിനായി ക്രമീകരിച്ച സെർവർ ഓരോ ക്ലയന്റിനെയും കണക്ഷൻ സമയത്ത് മാത്രമല്ല, ഓരോ പുനർചർച്ചയിലും അതേ CPU സമയം ചെലവഴിക്കാൻ നിർബന്ധിക്കുന്നു. പ്രശ്നം ആരംഭത്തിലല്ല, ക്രമമായ ഇടവേളയിൽ പ്രത്യക്ഷപ്പെട്ടാൽ, ആ ഇടവേള ഏത് ക്രമീകരണമാണ് ചെലവേറിയതെന്നതിന് ശക്തമായ സൂചനയാണ്. പുനർചർച്ച മുഴുവൻ കണക്കുകൂട്ടലും ആവർത്തിക്കുന്നു, അതിനാൽ ഓരോ മണിക്കൂറിലും ആവർത്തിക്കുന്ന തടസ്സം സാധാരണയായി അതേ ചെലവ് വീണ്ടും നൽകുന്നതാണ്.

പതുക്കെയുള്ള കേസ്: ഹാർഡ്‌വെയറിന് താങ്ങാനാകാത്ത മെറ്റീരിയൽ

Diffie-Hellman, RSA ജോലി കീയുടെ വലിപ്പത്തിനൊപ്പം വേഗത്തിൽ വളരുന്നു, അതെല്ലാം ടണലിൽ ഒരു ട്രാഫിക്കും ഒഴുകുന്നതിന് മുമ്പ് സംഭവിക്കുന്നു. ചെറിയ റൗട്ടറിലോ കുറഞ്ഞ പവറുള്ള ക്ലയന്റിലോ മതിയായ വലുപ്പമുള്ള ഗ്രൂപ്പ് കൈമാറ്റം മറുവശത്തിന്റെ സമയപരിധിക്ക് അപ്പുറത്തേക്ക് തള്ളിയേക്കാം, അപ്പോൾ കണക്ഷൻ വീണ്ടും ശ്രമിക്കുന്നു അല്ലെങ്കിൽ ഒരു പിശകുമില്ലാതെ കുടുങ്ങിയതായി തോന്നുന്നു.

പരിഹാരം ഓരോ എതിർവശവും പിന്തുണയ്ക്കുന്ന, ഓരോ ഉപകരണത്തിനും സുഖമായി കണക്കാക്കാവുന്ന വലിപ്പത്തിലേക്ക് ഇറങ്ങുകയാണ്. 2048-ബിറ്റ് RSA കീയും 2048-ബിറ്റ് ഗ്രൂപ്പും വിശാലമായി പൊരുത്തപ്പെടുന്ന അടിസ്ഥാനരേഖയായി തുടരുന്നു; വലുത് എല്ലാ വശങ്ങളും യോജിക്കുകയും പ്രോസസർ ഓരോ പുനർചർച്ചയിലും അത് നൽകാനാകുകയും ചെയ്യുമ്പോൾ മാത്രം സഹായിക്കുന്നു. ആ അടിസ്ഥാനരേഖയ്ക്ക് മുകളിലുള്ളതെല്ലാം ബോധപൂർവമായ കൈമാറ്റമാണ്, അപ്‌ഗ്രേഡല്ല.

വലിപ്പം ഒരു സ്കോറല്ല, താരതമ്യ പട്ടികയിലെ ഏറ്റവും വലിയ സംഖ്യ സ്വയമേവ ശരിയായ തിരഞ്ഞെടുപ്പല്ല. നിങ്ങളുടെ നയം അനുവദിക്കുന്ന, എല്ലാ എതിർവശങ്ങളും സ്വീകരിക്കുന്ന ഏറ്റവും ചെറിയ മൂല്യം തിരഞ്ഞെടുക്കുക, തുടർന്ന് മെച്ചപ്പെട്ടു എന്ന് അനുമാനിക്കുന്നതിന് പകരം ഹാൻഡ്ഷേക്ക് അളക്കുക. ഇപ്പോഴും സമയപരിധി കവിയുന്ന ചെറിയ ഗ്രൂപ്പ് വലിപ്പം ഒരിക്കലും മുഴുവൻ കഥയായിരുന്നില്ല എന്ന് നിങ്ങളോട് പറയുന്നു.

വേഗത്തിലുള്ള കേസ്: ലൈബ്രറി നിരസിക്കുന്ന ഗ്രൂപ്പ്

ആധുനിക OpenSSL ബിൽഡുകൾ ഏറ്റവും ചെറിയ പരിമിത-ഫീൽഡ് ഗ്രൂപ്പുകൾ നേരിട്ട് നിരസിക്കുന്നു, ഉയർത്തിയ സുരക്ഷാ നില താഴ്ന്ന പരിധിയെ ഇനിയും ഉയരത്തിലേക്ക് തള്ളുന്നു. പതിറ്റാണ്ടുകൾ പഴക്കമുള്ള പാരാമീറ്റർ ഫയൽ കൊണ്ടുവരുന്ന റൗട്ടർ ഫേംവെയർ സാധാരണ ഉറവിടമാണ്, ലക്ഷണം ഗ്രൂപ്പിനെയോ കീയുടെ വലിപ്പത്തെയോ പേരെടുത്ത് പറയുന്ന സന്ദേശത്തോടെ ഉടൻ പരാജയപ്പെടുന്ന കണക്ഷനാണ്. ആ പരാജയത്തിൽ ഒന്നും ഇടയ്ക്കിടെയുള്ളതല്ല, അതാണ് അതിനെ എളുപ്പത്തിൽ തിരിച്ചറിയാൻ സഹായിക്കുന്നത്.

പരിശോധന ഒഴിവാക്കാൻ കോൺഫിഗറേഷൻ എഡിറ്റ് ചെയ്യുന്നതിന് പകരം ഫയൽ മാറ്റിസ്ഥാപിക്കുക. നിലവിലെ ഗ്രൂപ്പ് സൃഷ്ടിച്ച് സാധുതയുള്ളതാക്കി, ഡീമൺ യഥാർത്ഥത്തിൽ വായിക്കുന്നിടത്ത് ഇൻസ്റ്റാൾ ചെയ്യുക. ക്ലയന്റ് പുതിയതുമായി വിജയകരമായി ബന്ധിപ്പിക്കുന്നതുവരെ പഴയ ഫയൽ സൂക്ഷിക്കുക:

openssl dhparam -out /etc/openvpn/ffdhe2048.pem 2048
openssl dhparam -in /etc/openvpn/ffdhe2048.pem -check -noout
ls -l /etc/openvpn/ffdhe2048.pem

പരിശോധനാ കമാൻഡ് ഫയൽ സാധുതയുള്ളതാക്കുന്നു, അത് കടന്നുപോകുമ്പോൾ ഉപയോഗപ്രദമായ ഒന്നും പ്രിന്റ് ചെയ്യുന്നില്ല; പട്ടിക സേവനം ലോഡ് ചെയ്യുന്ന ഫയൽ നിങ്ങൾ മാറ്റിസ്ഥാപിച്ചുവെന്ന്, അതിനടുത്തുള്ള പഴയ പകർപ്പല്ലെന്ന് ഉറപ്പാക്കുന്നു. കോൺഫിഗറേഷൻ ആ പാതയിലേക്ക് തിരിച്ച് ഡീമൺ പുനരാരംഭിച്ച്, മുമ്പ് പരാജയപ്പെട്ട ക്ലയന്റ് ഇപ്പോൾ ഹാൻഡ്ഷേക്ക് പൂർത്തിയാക്കുന്നുവെന്ന് ഉറപ്പാക്കുക.

സെർവർ സുരക്ഷാ നിലയോ സർട്ടിഫിക്കറ്റ് പ്രൊഫൈലോ സജ്ജീകരിക്കുന്നുവെങ്കിൽ, ഗ്രൂപ്പ് തെറ്റായിരുന്നു എന്ന് തീരുമാനിക്കുന്നതിന് മുമ്പ് അവ വായിക്കുക. കർശനമായ ക്ലാസ് ആവശ്യപ്പെടുന്ന പ്രൊഫൈൽ സ്വതവേ സ്വീകരിച്ചേക്കാവുന്ന മെറ്റീരിയൽ നിരസിച്ചേക്കാം, ആ ക്രമീകരണം നീക്കുന്നത് പരിശോധന ആഗോളമായി ഓഫ് ചെയ്യുന്നതിനേക്കാൾ ഇടുങ്ങിയ മാറ്റമാണ്.

എതിർവശത്തിനും ഹാർഡ്‌വെയറിനും വലിപ്പം തിരഞ്ഞെടുക്കുക

വിചിത്രമായ എന്തെങ്കിലും സൃഷ്ടിക്കുന്നതിന് മുമ്പ് ദൂരെയുള്ള അറ്റം എന്ത് താങ്ങുമെന്ന് കണ്ടെത്തുക. 2048-ബിറ്റ് ഗ്രൂപ്പിന് വളരെ പഴക്കമുള്ള ഉപകരണം മാറ്റിസ്ഥാപിക്കേണ്ട ഉപകരണമാണ്, കാരണം സെർവറിനെ ദുർബലമായ ഗ്രൂപ്പിലേക്ക് തിരിക്കുന്നത് പൊരുത്തക്കേടിന്റെ പരാതിയെ തടസ്സമാക്കി മാറ്റുന്നു മാത്രം. സ്ഥിരമായ പരിഹാരങ്ങൾ പഴയ പാരാമീറ്ററുകളിലേക്കല്ല, പുതിയ സോഫ്‌റ്റ്‌വെയറിലേക്ക് നീങ്ങുന്നു. ഈ മേഖലയിലെ ഓരോ താൽക്കാലിക ഒഴിവാക്കലും സ്ഥിരമായ കോൺഫിഗറേഷനാകാനുള്ള വഴി കണ്ടെത്തുന്നു.

സെർവറിന്റെ CPU പരിധിയാകുമ്പോൾ, നയത്തിന് താഴേക്ക് പോകുന്നതിന് പകരം അൽഗോരിതം മാറ്റുക. X25519 പോലുള്ള ദീർഘവൃത്ത വക്ര കീ കൈമാറ്റം വലിയ പരിമിത-ഫീൽഡ് ഗ്രൂപ്പിനേക്കാൾ വളരെ വിലകുറഞ്ഞതും വ്യാപകമായി പിന്തുണയ്ക്കുന്നതുമാണ്, ഇത് ചെറിയ RSA മോഡുലസിനേക്കാൾ പ്രകടന പരാതിക്ക് മികച്ച ഉത്തരമാക്കുന്നു.

എന്ത് തിരഞ്ഞെടുത്താലും, ഒരു യഥാർത്ഥ കണക്ഷൻ ഉപയോഗിച്ച് പരീക്ഷിച്ച് ഹാൻഡ്ഷേക്ക് എത്ര സമയമെടുക്കുന്നു എന്ന് നിരീക്ഷിക്കുക, ഒടുവിൽ ബന്ധിപ്പിക്കുന്നുവോ എന്ന് മാത്രമല്ല. പന്ത്രണ്ട് സെക്കൻഡിൽ വിജയിക്കുന്ന കണക്ഷന് പതിനഞ്ചിൽ പരാജയപ്പെടുന്നതിന് സമാനമായ അടിസ്ഥാന കാരണമുണ്ട്.

പുനർനിർമ്മാണം അത് റദ്ദാക്കാതിരിക്കാൻ തിരഞ്ഞെടുപ്പ് രേഖപ്പെടുത്തുക

പാരാമീറ്റർ ഫയൽ കോൺഫിഗറേഷൻ മാനേജ്‌മെന്റിന് കീഴിൽ സൂക്ഷിച്ച് അതിനടുത്ത് വലിപ്പം, കാരണം, തീയതി എന്നിവ എഴുതുക. സ്വന്തം സ്വതവേയുള്ള മൂല്യങ്ങൾ നിശബ്ദമായി സൃഷ്ടിക്കുന്ന പുനർനിർമ്മിച്ച സെർവർ, അതേ പിശക് ആറ് മാസത്തിന് ശേഷം മടങ്ങുന്ന വഴിയാണ്, ആരും യഥാർത്ഥ തീരുമാനം വിശദീകരിക്കാനാകാതെ.

അതേ വിവരങ്ങൾ എൻഡ്‌പോയിന്റിനും പ്രൊഫൈലിനും അടുത്ത് എഴുതുക, അവലോകനത്തിന് അവ ഫയൽ വലിപ്പത്തിൽ നിന്ന് പുനർനിർമ്മിക്കേണ്ടതില്ലാതിരിക്കാൻ. അടുത്ത കണക്ഷൻ കുടുങ്ങുമ്പോൾ, ആ കുറിപ്പ് അഞ്ച് മിനിറ്റ് പരിശോധനയും പുതിയ അന്വേഷണവും തമ്മിലുള്ള വ്യത്യാസമാണ്. അടുത്ത എൻജിനീയർ വേഗത്തിലുള്ള കേസിനായി ഉദ്ദേശിച്ച പരിഹാരം കൊണ്ട് പതുക്കെയുള്ള കേസ് പരിഹരിക്കുന്നതും അത് തടയുന്നു.

അനുബന്ധ ലേഖനങ്ങൾ