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

ഈ കെട്ടുകഥ എന്തുകൊണ്ട് നിലനിൽക്കുന്നു

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

ഈ ജനറേറ്ററുകൾ അങ്ങനെ പ്രവർത്തിക്കുന്നില്ല. ഒരു ക്രിപ്റ്റോഗ്രാഫിക് ലൈബ്രറി വിത്തിട്ട ജനറേറ്റർ സൂക്ഷിച്ച് അതിൽ നിന്ന് ഔട്ട്പുട്ട് എടുക്കുന്നു, സ്വന്തം നയപ്രകാരം വീണ്ടും വിത്തിടുന്നു, അതിനാൽ ചെലവേറിയ നിമിഷം വിത്തിടലാണ്, സ്ഥിരമായ കൈമാറ്റമല്ല.

ജനറേറ്റർ ഓരോ പാക്കറ്റിനും എന്തു ചെയ്യുന്നു

OpenSSL 3-ൽ സ്ഥിരസ്ഥിതി ജനറേറ്റർ ശ്രേണി കോൺഫിഗറേഷനും അവസ്ഥയും അനുസരിച്ച് വിത്തിടുന്നതും വീണ്ടും വിത്തിടുന്നതുമായ DRBG ഇൻസ്റ്റൻസുകൾ കൊണ്ട് നിർമ്മിക്കുന്നു. OpenVPN 2.6-ൽ AEAD ഡാറ്റ പാത പാക്കറ്റിന്റെ ക്രമ നമ്പറിൽ നിന്നും സെഷനുതോറുമുള്ള ഗൂഢ മൂല്യത്തിൽ നിന്നും അതിന്റെ nonce കണക്കാക്കുന്നു, പഴയ CBC പാത ഓരോ പാക്കറ്റിനും സ്യൂഡോ-ക്രമരഹിതമായ IV എടുക്കുന്നു. ഒരു ഗിഗാബൈറ്റ് നീക്കുന്നത് ഒരു ഗിഗാബൈറ്റ് പുതിയ കർണൽ ശബ്ദം ഉപയോഗിക്കുന്നു എന്ന നിയമത്തെ രണ്ട് മാതൃകകളും പിന്തുണയ്ക്കുന്നില്ല. വിത്തിടൽ പ്രധാനമാകുന്നത് കീ ഉൽപാദനവും ഹാൻഡ്ഷേക്കുകളുമാണ് എന്ന ആശയത്തെ രണ്ടും പിന്തുണയ്ക്കുന്നു.

CBC കേസ് പേര് പറയാൻ അർഹിക്കുന്നു, കാരണം അത് കെട്ടുകഥയോട് സാമ്യമുള്ളതും അല്ലാത്തതുമാണ്: അതിന്റെ പാക്കറ്റ്-തോറുമുള്ള IV ലൈബ്രറിയുടെ സ്വന്തം വീണ്ടും-വിത്തിടൽ ഷെഡ്യൂൾ പ്രകാരം ലൈബ്രറി ജനറേറ്ററിൽ നിന്ന് വരുന്നു, ഒരിക്കലും പാക്കറ്റിനുതോറും കർണൽ വിളിയിൽ നിന്നല്ല. ആരെങ്കിലും ബൈറ്റിനുള്ള എൻട്രോപി ചെലവ് ഉദ്ധരിച്ചാൽ, ഏത് ലൈബ്രറി പതിപ്പും ഏത് കോഡ് പാതയുമാണ് അളന്നതെന്ന് ചോദിക്കുക.

കാത്തിരിപ്പ് യഥാർത്ഥത്തിൽ എവിടെ കാണാം

സെഷന്റെ ചുറ്റല്ല, ഘട്ടങ്ങളുടെ ചുറ്റ് സമയമുദ്രകൾ വയ്ക്കുക: സ്റ്റാർട്ടപ്പ്, പ്രാമാണീകരണം, കീ മാറ്റം, കൈമാറ്റം. ടണൽ ഉപയോഗയോഗ്യമാകുന്നതിന് മുൻപുള്ള കാത്തിരിപ്പ് കുറഞ്ഞ സ്ഥിരനിരക്കിൽ നിന്ന് വ്യത്യസ്തമായ പരാതിയാണ്, അവയിൽ ഒന്ന് മാത്രമാണ് ക്രമരാഹിത്യത്തിലേക്ക് ചൂണ്ടുന്നത്. Linux-ൽ സാധാരണ getrandom() അഭ്യർത്ഥന കർണലിന്റെ ക്രമരാഹിത്യ സ്രോതസ്സ് പ്രാരംഭിക്കുന്നതുവരെ തടയപ്പെടാം, അതുകൊണ്ടാണ് ഈ പ്രശ്നത്തിന്റെ ബൂട്ട്-സമയ പതിപ്പ് തുടക്കത്തിൽ കുളത്തിന് നൽകാൻ കുറഞ്ഞതുള്ള വെർച്വൽ മെഷീനുകളിലും എംബെഡഡ് ബോർഡുകളിലും യഥാർത്ഥമാകുന്നത്.

ഘട്ടംഎന്ത് പ്രവർത്തിപ്പിക്കണംകാത്തിരിപ്പ് അർത്ഥമാക്കുന്ന വായനത്രൂപുട്ട് അർത്ഥമാക്കുന്ന വായന
ബൂട്ട്, ഏത് ടണലിനും മുൻപ്systemd-analyze critical-chainടണൽ ആരംഭിക്കുന്നതിന് മുൻപ് സെക്കൻഡുകളോളം ഇരിക്കുന്ന യൂണിറ്റ്ബാധകമല്ല, ഇപ്പോൾ ഒന്നും കൈമാറുന്നില്ല
ഹാൻഡ്ഷേക്ക്journalctl -u openvpn-server@server -bപ്രാരംഭ ശ്രേണി പൂർത്തിയാകുന്നതിന് മുൻപുള്ള നീണ്ട ഇടവേളബാധകമല്ല, ടണൽ മുകളിലല്ല
സ്ഥാപിത കൈമാറ്റംss -tin അരികിൽ sar -n DEV 1ശൂന്യമായ സോക്കറ്റ് നിരകളുള്ള തടയപ്പെട്ട പ്രോസസ്സ്നിറഞ്ഞ നിരകൾ, വീണ്ടും അയയ്ക്കലുകൾ, ഒരു തിരക്കുള്ള ത്രെഡ്

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

cat /proc/sys/kernel/random/entropy_avail
uname -r

തിരുത്തൽ വായനയുമായി ഒത്തുനോക്കുക

കർണൽ ശരിക്കും പ്രാരംഭത്തിനായി കാത്തിരിക്കുന്നുവെങ്കിൽ, ടണലല്ല, പ്ലാറ്റ്ഫോം പിന്തുണയ്ക്കുന്ന വിത്തിടൽ പാത നോക്കുക. വെർച്വൽ മെഷീന് ഹോസ്റ്റ് നൽകുന്ന ക്രമരാഹിത്യ ഉപകരണം നൽകാം, ഉദാഹരണത്തിന് virtio-rng, കൂടാതെ ഇമേജ് തയ്യാറാക്കൽ പ്രധാനമാണ്, കാരണം പല ഗസ്റ്റുകളിലേക്ക് മാറ്റമില്ലാതെ പകർത്തിയ വിത്ത് സ്വതന്ത്ര പ്രാരംഭമല്ല. ബൂട്ടിന് ശേഷം ലൈബ്രറി വിത്തിടൽ പരാജയങ്ങൾ റിപ്പോർട്ട് ചെയ്താൽ, കർണൽ ക്രമീകരണങ്ങൾ മാറ്റുന്നതിന് പകരം അതിന്റെ ക്രമീകരിച്ച സ്രോതസ്സും ദാതാവിന്റെ സ്വഭാവവും പരിശോധിക്കുക.

ss -tin dst 203.0.113.7
sar -n DEV 1 5

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

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