സ്റ്റാറ്റിക്-കീ OpenVPN ലിങ്കിന് ഒന്നിലധികം ക്ലയന്റുകളെ സേവിക്കാനാകുമോ?
സ്റ്റാറ്റിക്-കീ മോഡ് രണ്ട് പിയറുകളെ ബന്ധിപ്പിക്കുന്നു. client-to-client ചേർത്താലും അത് ഒന്നിലധികം ക്ലയന്റുള്ള സർവറാകില്ല; അതിന് TLS മോഡും ഓരോ ഉപകരണത്തിന്റെയും ഐഡന്റിറ്റിയും വേണം.
സ്റ്റാറ്റിക്-കീ മോഡ് കൃത്യമായി രണ്ട് പിയറുകളെ ബന്ധിപ്പിക്കുന്നു, അതാണ് അതിന്റെ രൂപകൽപ്പന, ആരോ നീക്കാൻ മറന്ന ഒരു പരിമിതിയല്ല. client-to-client സർവർ മോഡിലെ ഫോർവേഡിംഗ് ഓപ്ഷനാണ്, അതിനാൽ അത് ഒരു --secret കോൺഫിഗറേഷനിൽ ചേർത്താലും എത്ര ക്ലയന്റുകൾക്ക് കണക്ട് ചെയ്യാമെന്നതിൽ ഒന്നും മാറില്ല. തീരുമാനം ഏത് ഫ്ലാഗ് ചേർക്കണം എന്നതല്ല, ഡിപ്ലോയ്മെന്റിന് പോയിന്റ്-ടു-പോയിന്റ് ലിങ്കോ ഒന്നിലധികം ക്ലയന്റുകളുള്ള സേവനമോ വേണോ എന്നതാണ്. ഒന്നിലധികം ഉപകരണങ്ങൾ സ്വതന്ത്രമായി കണക്ട് ചെയ്യണമെങ്കിൽ സംരക്ഷണ മോഡ് മാറുന്നു, ഓരോ ഉപകരണത്തിനും ഐഡന്റിറ്റി ലഭിക്കുന്നു.
രണ്ട് പിയർ, ഒരു കീ, ഓരോ ക്ലയന്റിനും അവസ്ഥയില്ല: ആ രൂപമാണ് ഈ മോഡിന്റെ മുഴുവൻ കഥ.
സ്റ്റാറ്റിക്-കീ മോഡ് എന്തിനുള്ളതാണ്
രഹസ്യ മോഡിൽ രണ്ട് പിയറുകളും ഒരു കീ ഫയൽ പങ്കിടുന്നു, ആ കീ ട്രാഫിക്കിനെ നേരിട്ട് സംരക്ഷിക്കുന്നു. ഹാൻഡ്ഷേക്കില്ല, സർട്ടിഫിക്കറ്റ് കൈമാറ്റമില്ല, ഓരോ ക്ലയന്റിനും സെഷനുമില്ല, കാരണം സർവർ അർത്ഥത്തിൽ ക്ലയന്റുകളില്ല, രണ്ട് അന്ത്യ ബിന്ദുക്കൾ മാത്രം.
ഡോക്യുമെന്റ് ചെയ്ത കീ റൊട്ടേഷൻ പ്രക്രിയയുള്ള സ്ഥിരമായ ജോടി മെഷീനുകൾക്ക് ഈ മോഡ് ഇപ്പോഴും ഉപയോഗപ്രദമാണ്, OpenVPN 2.6 അതിനെ കാലഹരണപ്പെട്ടതായി അടയാളപ്പെടുത്തുന്നത് TLS മോഡ് ആ സാഹചര്യങ്ങളെ മികച്ച സവിശേഷതകളോടെ ഉൾക്കൊള്ളുന്നതുകൊണ്ടാണ്. ചെയ്യാനാകാത്തത് ഒരു ബന്ധിപ്പിക്കുന്ന ഉപകരണത്തെ മറ്റൊന്നിൽ നിന്ന് വേർതിരിച്ചറിയുക എന്നതാണ്, കാരണം ഫയലിന്റെ കൈവശം മുഴുവൻ ഓതന്റിക്കേഷൻ കഥയാണ്. മൂന്നാമതൊരു ഉപകരണം ചേർക്കുക എന്നത് അതുമായി അതേ കീ പങ്കിടുകയാണ്, അതിനുശേഷം ആദ്യ രണ്ടെണ്ണത്തിന് അതിനെ തങ്ങളിൽ നിന്ന് വേർതിരിച്ചറിയാനാകില്ല.
അതുകൊണ്ടാണ് രണ്ട്-പിയർ പരിധി ഘടനാപരമായത്, മാറ്റാവുന്ന ക്രമീകരണമല്ല.
client-to-client വിട്ടുപോയ ഭാഗമല്ലാത്തത് എന്തുകൊണ്ട്
client-to-client ബന്ധിപ്പിച്ച ക്ലയന്റുകൾക്ക് സർവറിലൂടെ ട്രാഫിക് കൈമാറാമോ എന്ന് നിയന്ത്രിക്കുന്നു. അത് ക്ലയന്റുകളെ പ്രവേശിപ്പിക്കുന്നില്ല, ഐഡന്റിറ്റികൾ നൽകുന്നില്ല, കോൺഫിഗർ ചെയ്യാത്ത സർവർ മോഡ് സൃഷ്ടിക്കുന്നില്ല, സ്റ്റാറ്റിക്-കീ കോൺഫിഗറേഷനിൽ അത് നിയന്ത്രിക്കാൻ ക്ലയന്റ് പട്ടികയുമില്ല.
മറ്റൊരു സാധാരണ ആശയക്കുഴപ്പം tls-crypt അല്ലെങ്കിൽ tls-auth വസ്തുവിനെക്കുറിച്ചാണ്. TLS സർവറിന് ആ കീകളിലൊന്ന് എല്ലാ ക്ലയന്റുകൾക്കുമിടയിൽ പങ്കിടാം, കാരണം ഓരോ ക്ലയന്റും ആരെന്ന് തെളിയിക്കുന്നതിനുപകരം അത് നിയന്ത്രണ ചാനൽ സംരക്ഷിക്കുന്നു. TLS മോഡിലെ പങ്കിട്ട നിയന്ത്രണ-ചാനൽ കീ പങ്കിട്ട സ്റ്റാറ്റിക് ഡാറ്റാ കീയിൽ നിന്ന് വ്യത്യസ്ത വസ്തുവാണ്, രണ്ടും സമാനമായി കാണുന്ന ഫയലുകളായി വന്നാലും.
മോഡുകൾക്കിടയിലെ തിരഞ്ഞെടുപ്പ് രണ്ട് ചോദ്യങ്ങളിലെത്തുന്നു. ഒന്നിലധികം ഉപകരണങ്ങൾ സ്വതന്ത്രമായി കണക്ട് ചെയ്യണമോ, ഡിപ്ലോയ്മെന്റിന് ഓരോ ഉപകരണത്തിനും റദ്ദാക്കൽ വേണമോ? രണ്ടിനും ഇല്ലെങ്കിൽ സ്റ്റാറ്റിക്-കീ മോഡ് നിലനിൽക്കും; ഏതെങ്കിലും ഒന്നിന് ഉണ്ടെങ്കിൽ അത് TLS ലേക്ക് ചൂണ്ടുന്നു. സ്വന്തം ഐഡന്റിറ്റിയില്ലാതെ രണ്ടാമത്തെ ക്ലയന്റിനെ സ്വീകരിക്കുന്ന മൂന്നാം ഓപ്ഷനില്ല.
ഒന്നിലധികം ക്ലയന്റുകളുള്ള സർവർ നിർമ്മാണം
ഒന്നിലധികം ക്ലയന്റുകളുള്ള സർവറിന് TLS മോഡ്, സർവർ വശത്തെ സർട്ടിഫിക്കറ്റ്, ഓരോ ക്ലയന്റിനും ഐഡന്റിറ്റി എന്നിവ വേണം. സർവർ സഹായി വിലാസ പൂളും ഒന്നിലധികം ക്ലയന്റ് മോഡും ക്രമീകരിക്കുന്നു, പക്ഷേ TLS കോൺഫിഗറേഷൻ, വിശ്വാസ ആങ്കർ, പ്രവേശനം അർത്ഥവത്താക്കുന്ന ക്ലയന്റ് സർട്ടിഫിക്കറ്റുകൾ എന്നിവ നൽകുന്നില്ല.
ഒരു ക്ലയന്റിന്റെ ക്രെഡൻഷ്യലുകൾ പകർത്തുന്നതിനുപകരം നിലവിലുള്ള സർട്ടിഫിക്കറ്റ് അധികാരിയിലൂടെ ഓരോ ഉപകരണവും രജിസ്റ്റർ ചെയ്യുക. വ്യത്യസ്ത ഐഡന്റിറ്റികളാണ് റദ്ദാക്കൽ, ഓരോ ക്ലയന്റിനുമുള്ള റൂട്ടിംഗ്, ഉപയോഗപ്രദമായ ലോഗുകൾ എന്നിവ സാധ്യമാക്കുന്നത്, ഒരു പങ്കിട്ട ക്ലയന്റ് സർട്ടിഫിക്കറ്റ് മൂന്നിനെയും തകർക്കുന്നു.
ഡിപ്ലോയ്മെന്റ് ഉപയോക്താക്കളെ ബാഹ്യ ഡയറക്ടറിയിലൂടെയോ രണ്ടാം ഘടകത്തിലൂടെയോ ഓതന്റിക്കേറ്റ് ചെയ്യുന്നുവെങ്കിൽ ആ രൂപകൽപ്പന അതേപടി നിലനിൽക്കും. TLS സർവർ മോഡിലേക്ക് മാറുന്നത് ടണൽ പാളിയിൽ പിയറുകൾ സ്വയം എങ്ങനെ തെളിയിക്കുന്നു എന്ന് തീരുമാനിക്കുന്നു, അക്കൗണ്ട് ബാക്കെൻഡ് നിർദ്ദേശിക്കുന്നില്ല. രണ്ട് തീരുമാനങ്ങളും വേർതിരിച്ച് സൂക്ഷിക്കുക, ഒന്നിലെ മാറ്റം മറ്റൊന്നിനെ നിശബ്ദമായി മാറ്റാതിരിക്കാൻ.
തുടർന്ന് ഫോർവേഡിംഗ് നയം ബോധപൂർവം തീരുമാനിക്കുക. client-to-client ഉപയോക്തൃ സ്ഥലത്തെ സർവർ പാതയിൽ ക്ലയന്റ്-ടു-ക്ലയന്റ് ട്രാഫിക് സജീവമാക്കുന്നു, ഇത് പല ഡിപ്ലോയ്മെന്റുകളും ആഗ്രഹിക്കുന്നു, ചിലതിന് ഉണ്ടാകരുത്. ഇത് ഒരു നയ സ്വിച്ചാണ്, ഐഡന്റിറ്റി സംവിധാനമല്ല, ട്യൂട്ടോറിയലിൽ ഉള്ളതുകൊണ്ടല്ല, രൂപകൽപ്പന ആവശ്യപ്പെടുന്നതുകൊണ്ട് ഇത് ഓണാക്കണം.
ക്ലയന്റുകൾ യഥാർത്ഥത്തിൽ സ്വതന്ത്രമാണോ എന്ന് പരിശോധിക്കൽ
രണ്ട് ക്ലയന്റുകൾ ബന്ധിപ്പിച്ച് അവയ്ക്ക് വ്യത്യസ്ത വിലാസങ്ങൾ ലഭിക്കുന്നുവെന്നും സർവർ ലോഗിൽ വ്യത്യസ്ത ഐഡന്റിറ്റികളോടെ പ്രത്യക്ഷപ്പെടുന്നുവെന്നും ഉറപ്പാക്കുക. തുടർന്ന് ഒന്ന് റദ്ദാക്കി മറ്റൊന്ന് പ്രവർത്തിക്കുന്നത് തുടരുന്നുവെന്ന് ഉറപ്പാക്കുക, ഐഡന്റിറ്റികൾ പങ്കിട്ടിട്ടില്ല എന്നതിന്റെ പ്രായോഗിക പരിശോധനയാണിത്.
അനുവദിച്ച പിയർ-ടു-പിയർ സേവനവും തടയപ്പെട്ടിരിക്കേണ്ട സേവനവും പരീക്ഷിക്കുക. രണ്ട് വിജയകരമായ ലോഗിനുകൾ പ്രവേശനം തെളിയിക്കുന്നു, വേർതിരിവല്ല, ഡിപ്ലോയ്മെന്റ് ഉപയോക്തൃ ഗ്രൂപ്പുകളെ വേർതിരിക്കേണ്ടിവരുമ്പോൾ ഈ വ്യത്യാസം പ്രധാനമാണ്.
അവസാനമായി, സർവർ മോഡ് ഓർമ്മയിൽ നിന്നല്ല, പ്രവർത്തിക്കുന്ന കോൺഫിഗറേഷനിൽ നിന്ന് വായിക്കുക. അധിക ഓപ്ഷനുകളുള്ള സ്റ്റാറ്റിക്-കീ കോൺഫിഗറേഷൻ ഇപ്പോഴും പോയിന്റ്-ടു-പോയിന്റ് ലിങ്കാണ്, ശരിയായ TLS സർവർ മാത്രമാണ് ഒന്നിലധികം ക്ലയന്റുകൾ യഥാർത്ഥത്തിൽ വേറിട്ട പിയറുകളാകുന്ന ഏക ക്രമീകരണം.
ഓരോ ഉപകരണത്തിനും ഒരേ പൊതുവായ പേര് ലോഗ് കാണിക്കുന്നുവെങ്കിൽ പ്രശ്നം മോഡല്ല. പ്രശ്നം രജിസ്ട്രേഷൻ പ്രക്രിയയാണ്.