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

രണ്ട് രേഖകൾ, രണ്ട് വ്യത്യസ്ത അർത്ഥങ്ങൾ

WireGuard ഓരോ പിയറിനും ഒരു ഹാൻഡ്ഷേക്ക് ടൈംസ്റ്റാമ്പ് സൂക്ഷിക്കുന്നു, ഓരോ കീ പുതുക്കലിലും അത് മാറ്റപ്പെടുന്നു, കൂടാതെ ഓരോ ദിശയിലും ബൈറ്റ് കൗണ്ടറുകൾ. OpenVPN സാധാരണയായി സെഷൻ തുടക്കം, വിച്ഛേദം, കോൺഫിഗർ ചെയ്ത വെർബോസിറ്റി ചേർക്കുന്നതെല്ലാം രേഖപ്പെടുത്തുന്നു, ഇത് രേഖയുടെ യൂണിറ്റിനെ കീ കൈമാറ്റത്തിനുപകരം സെഷൻ ആക്കുന്നു.

ആ വ്യത്യാസമാണ് അഭാവത്തിന്റെ അർത്ഥം തീരുമാനിക്കുന്നത്:

QuestionWireGuard handshakeOpenVPN session log
Did the peer send recently?Strong hint within the rekey windowNot answered by start time alone
Did the peer stop?Weak, because idle peers also stop rekeyingOnly if a disconnect was written
What was visited?NothingNothing

ഹാൻഡ്ഷേക്ക് തുടർച്ചയായ ഉപയോഗം ആകാത്തത് എന്തുകൊണ്ട്

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

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

ഐഡന്റിഫയറുകൾ ടൈംസ്റ്റാമ്പിനൊപ്പം യാത്ര ചെയ്യുന്നു

അക്കൗണ്ടോ പൊതു കീയോ ഉറവിട വിലാസമോ ഇല്ലാത്ത സമയം അനാഥമാണ്. ടൈംസ്റ്റാമ്പ് പിയറിന്റെ ഐഡന്റിറ്റിയുമായി ജോടിയാക്കുക, നിരീക്ഷണം ബന്ധിപ്പിക്കാവുന്നതാകും: പൊതു കീ വിലാസ മാറ്റങ്ങളിലും നിലനിൽക്കുന്നു, ഉറവിട വിലാസം ഓപ്പറേറ്ററുടെ വിലാസ പരിഭാഷയ്ക്ക് പിന്നിൽ പല ഗ്രാഹകർക്കും പങ്കിടാം.

ഈ അസമത്വമാണ് മിക്ക സ്വകാര്യതാ ചർച്ചകളും വിട്ടുപോകുന്നത്. വിലാസം പങ്കിടുന്നതിനാൽ അജ്ഞാതമായി തോന്നുന്നു, കീ നീളമുള്ളതിനാൽ സാങ്കേതികമായി തോന്നുന്നു, പക്ഷേ സ്ഥിരമായ ഐഡന്റിഫയർ കീയാണ്. ഒരു ഫീൽഡ് നിലനിർത്തി മറ്റൊന്ന് ഉപേക്ഷിക്കുന്നത് കാണുന്ന കൃത്യത മാറ്റാതെ പരസ്പര ബന്ധത്തിന്റെ അപകടസാധ്യത മാറ്റുന്നു.

പരസ്പര ബന്ധം തന്നെയാണ് രേഖപ്പെടുത്തിയ ആശങ്ക. ഒരു കണക്ഷന്റെ സമയം ഒരു ദാതാവിന്റെ ലോഗിൻ സംഭവവുമായോ പിന്തുണ ടിക്കറ്റുമായോ പേയ്മെന്റ് രേഖയുമായോ ചേർക്കുന്നത്, ഒരു ലക്ഷ്യസ്ഥാനവും ഒരിക്കലും എഴുതപ്പെട്ടിട്ടില്ലെങ്കിലും, ഐഡന്റിറ്റിയെ പ്രവർത്തനവുമായി ബന്ധിപ്പിക്കാൻ കഴിയും, അതുകൊണ്ടാണ് ജോടിയാക്കൽ ഫോർമാറ്റിംഗിനെക്കാൾ പ്രധാനമാകുന്നത്.

സിസ്റ്റങ്ങൾ തമ്മിലുള്ള പരസ്പര ബന്ധത്തിന് ഘടികാരങ്ങളിൽ ശ്രദ്ധ വേണം

ഒരേ നിമിഷം റിപ്പോർട്ട് ചെയ്യുന്ന രണ്ട് സിസ്റ്റങ്ങൾ സെക്കൻഡ് വരെ യോജിക്കുന്നത് അപൂർവമാണ്. ഒന്ന് അതിന്റെ ഔട്ട്പുട്ടിൽ സമയ മേഖലയുടെ ഓഫ്സെറ്റ് പ്രയോഗിച്ചേക്കാം, മറ്റൊന്ന് കുറച്ച് സെക്കൻഡ് തെറ്റായ ഘടികാരത്തിൽ പ്രവർത്തിച്ചേക്കാം, വെർച്വൽ മെഷീൻ സസ്പെൻഡിന് ശേഷം വ്യതിചലിച്ചേക്കാം.

രണ്ട് സംഭവങ്ങൾ ഒരുമിച്ച് സംഭവിച്ചു എന്ന് തീരുമാനിക്കുന്നതിന് മുമ്പ് രണ്ടിനെയും ഒരേ മേഖലയിലേക്ക് പരിവർത്തനം ചെയ്ത്, ഓഫ്സെറ്റ് ഡിസ്പ്ലേയിൽ അല്ല, അസംസ്കൃത രേഖയിൽ പരിശോധിക്കുക. അളക്കുന്ന വിടവ് സാദ്ധ്യമായ വ്യതിയാനത്തേക്കാൾ ചെറുതാണെങ്കിൽ നിങ്ങൾക്ക് ക്രമമില്ല.

പ്രായോഗിക നിയമം പ്രശ്നപരിഹാര ജോലിക്ക് ആവശ്യമായ കൃത്യത മാത്രം നിലനിർത്തുക എന്നതാണ്. മണിക്കൂറിൽ സെഷനുകളുടെ എണ്ണം ഓരോ അക്കൗണ്ടിന്റെയും ചരിത്രം സൂക്ഷിക്കാതെ ലഭ്യതയുടെ ചോദ്യത്തിന് ഉത്തരം നൽകുന്നു, ഒരു സമഗ്രത അത് വന്ന അസംസ്കൃത വരികളേക്കാൾ വളരെക്കാലം സൂക്ഷിക്കാം.

രേഖ കമാൻഡുകൾ കൊണ്ട് വായിക്കുക, ഭാവന കൊണ്ടല്ല

നിങ്ങൾ യുക്തി ചെയ്യാൻ പോകുന്ന ഫീൽഡുകൾ ഉപകരണം സംഭരിക്കുന്ന യൂണിറ്റുകളിൽ അച്ചടിക്കുക, ഡാഷ്ബോർഡ് കാണിക്കുന്ന യൂണിറ്റുകളിൽ അല്ല.

ഈ രണ്ട് വരികൾ ഓരോ WireGuard പിയറിന്റെയും ഹാൻഡ്ഷേക്ക് പ്രായവും ബൈറ്റ് കൗണ്ടറുകളും കാണിക്കുന്നു, തുടർന്ന് OpenVPN സ്റ്റാറ്റസ് ഫയലിൽ നിന്ന് അതേ തരം വസ്തു:

wg show all latest-handshakes
wg show wg0 transfer
cat /run/openvpn/server.status

തീരുമാനത്തിലെത്തുന്നതിന് മുമ്പ് പ്രായം കീ പുതുക്കൽ ഇടവേളയുമായി താരതമ്യം ചെയ്യുക, കൗണ്ടറുകളും അതിനൊപ്പം വായിക്കുക. സമീപകാല ഹാൻഡ്ഷേക്കും ഏതാണ്ട് പൂജ്യം കൈമാറ്റവുമുള്ള പിയർ keepalive കൈമാറുന്നു, അതേസമയം പഴയ ഹാൻഡ്ഷേക്കും വലിയ കൗണ്ടറുകളുമുള്ള പിയർ നിലയ്ക്കുന്നതുവരെ തിരക്കിലായിരുന്നു. രണ്ട് വരികളിൽ ഒന്നും എന്ത് ചെയ്തു എന്ന് പറയുന്നില്ല, അത് വ്യക്തമായി പറയുന്നത് ടൈംസ്റ്റാമ്പ് സന്ദർശനം തെളിയിക്കുന്നു എന്ന് സൂചിപ്പിക്കുന്നതിനേക്കാൾ കൃത്യമാണ്.

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