IPsec ESP: അത് എന്താണ് വഹിക്കുന്നത്, അത് ഒഴുകുന്നുവെന്ന് എങ്ങനെ തെളിയിക്കാം
ESP ടണൽ മോഡിൽ ഉള്ളിലെ IP പാക്കറ്റ് പൊതിയുന്നു, SPI വഴി അതിന്റെ അസോസിയേഷൻ തിരിച്ചറിയുന്നു. അവസ്ഥ വായിക്കുക, തുടർന്ന് ഒരു ഫ്ലോ കൗണ്ടറുകൾ എങ്ങനെ നീക്കുന്നു എന്ന് നോക്കുക.
ESP IPsec VPN-ൽ ട്രാഫിക് വഹിക്കുന്നു, അതിന്റെ runbook ഒരു നിയമത്തിൽ തുടങ്ങുന്നു: നയം മാറ്റുന്നതിന് മുൻപ് സുരക്ഷാ അസോസിയേഷൻ വായിക്കുക. വിശദീകരിക്കാനാകാത്ത ESP പെരുമാറ്റത്തിന്റെ ഭൂരിഭാഗവും പൊരുത്തപ്പെടാത്ത ഒരു സെലക്ടറിലേക്കോ, വായിക്കുന്നതിനുപകരം അനുമാനിച്ച ഒരു മോഡിലേക്കോ, ഒരു ഫ്ലോ അയയ്ക്കുമ്പോൾ ആരും പരിശോധിക്കാത്ത ഒരു കൗണ്ടറിലേക്കോ തിരികെ പോകുന്നു. താഴെയുള്ള മൂന്ന് ഘട്ടങ്ങൾ എന്ത് എന്തിനെ വഹിക്കുന്നു എന്ന് ഉറപ്പാക്കുന്നു, ഒരു ഫ്ലോ അത് ഉപയോഗിക്കുന്നു എന്ന് തെളിയിക്കുന്നു, ഓർമ്മയെ ആശ്രയിക്കാത്ത ഒരു തിരിച്ചുവിടൽ അവശേഷിപ്പിക്കുന്നു. ഓരോ ഘട്ടവും എഴുതാൻ യോഗ്യമായ ഓരോ നിരീക്ഷണം നൽകുന്നു.
വായിക്കുന്നതിന് മുൻപ് ഫീൽഡുകൾ അറിയുക
ESP സംരക്ഷിത ഡാറ്റയുടെ മുൻപിൽ ഒരു ഹെഡറും പിന്നിൽ ഒരു ട്രെയിലറും ഇടുന്നു. ഹെഡർ സ്വീകർത്താവ് ഏത് അസോസിയേഷൻ ഉപയോഗിക്കണം എന്ന് തിരിച്ചറിയിക്കുന്ന സുരക്ഷാ പാരാമീറ്റർ സൂചികയും, ആവർത്തനം കണ്ടെത്താൻ ക്രമ നമ്പറും വഹിക്കുന്നു; ട്രെയിലറിൽ സൈഫറിനായി പേലോഡ് വിന്യസിച്ചു നിർത്തുന്ന പാഡിംഗ് ഉണ്ട്. ട്രെയിലറിലെ അടുത്ത ഹെഡർ ഫീൽഡ് സംരക്ഷിത ഉള്ളടക്കം എന്താണെന്ന് പറയുന്നു, അങ്ങനെ സ്വീകർത്താവ് എന്താണ് ഡീകാപ്സുലേറ്റ് ചെയ്തതെന്ന് അറിയുന്നു.
മോഡ് ആ സംരക്ഷണത്തിനുള്ളിൽ എന്താണ് ഇരിക്കുന്നതെന്ന് മാറ്റുന്നു. ടണൽ മോഡിൽ സംരക്ഷിത വസ്തു പൂർണ്ണ ആന്തരിക IP പാക്കറ്റാണ്, പുതിയ ബാഹ്യ ഹെഡർ അതിനെ രണ്ട് അഗ്രങ്ങൾക്കിടയിൽ വഹിക്കുന്നു. ട്രാൻസ്പോർട്ട് മോഡിൽ സംരക്ഷണം നിലവിലുള്ള ഒരു പാക്കറ്റിന്റെ മേൽപ്പുറം ലെയറിന്റെ പേലോഡിനെ പൊതിയുന്നു, അതിനാൽ തുറക്കാൻ രണ്ടാമതൊരു IP ഹെഡറില്ല. ഏത് മോഡ് ഉപയോഗിക്കുന്നു എന്നത് കോൺഫിഗറേഷന്റെ വസ്തുതയാണ്, വ്യാഖ്യാനത്തിന്റെ വിഷയമല്ല. ഡയഗ്രാമിൽ നിന്ന് അനുമാനിക്കാതെ സ്ഥിതി എൻട്രിയിൽ നിന്ന് വായിക്കുക.
പാക്കറ്റ് എത്തിക്കേണ്ട ബാഹ്യ അഡ്രസ്സിംഗ് രണ്ട് മോഡുകളിൽ ഒന്നും മറയ്ക്കുന്നില്ല. അത് രൂപകൽപ്പനയുടെ സ്വഭാവമാണ്, കുറവല്ല, അതുകൊണ്ടാണ് പേലോഡ് അതാര്യമായിരുന്നാലും ഏത് രണ്ട് വിലാസങ്ങളാണ് സംസാരിക്കുന്നതെന്ന് ഇടയ്ക്കുള്ള നിരീക്ഷകന് ഇപ്പോഴും കാണാൻ കഴിയുന്നത്.
ഒന്നാം ഘട്ടം: സ്ഥിതി വായിക്കുക, പിന്നെ നയം
സ്ഥിതി എൻട്രികൾ കീകളും കൗണ്ടറുകളും സൂക്ഷിക്കുന്നു; നയ എൻട്രികൾ അവ ഉപയോഗിക്കാൻ ആർക്കാണ് അനുവാദമെന്ന് തീരുമാനിക്കുന്ന സെലക്ടറുകൾ സൂക്ഷിക്കുന്നു. Linux-ൽ രണ്ടും പാക്കറ്റ് ക്യാപ്ചർ ഇല്ലാതെ കാണാം, ആ ക്രമത്തിൽ വായിക്കുന്നത് രണ്ട് ചോദ്യങ്ങളെ വേർതിരിച്ചു നിർത്തുന്നു.
ip xfrm state
ip xfrm policy
സ്ഥിതി ഔട്ട്പുട്ടിൽ അസോസിയേഷന്റെ ഉറവിടവും ലക്ഷ്യവും, മോഡും, എൻകാപ്സുലേഷൻ UDP പോർട്ടുകൾ കാണിക്കുന്നുണ്ടോ എന്നും പരിശോധിക്കുക. ആ പോർട്ടുകൾ NAT ട്രാവേഴ്സൽ ഉപയോഗിക്കുന്നു എന്നർത്ഥം, ഇത് ഇടയ്ക്കുള്ള ഫയർവാൾ എന്ത് അനുവദിക്കണം എന്നത് മാറ്റുന്നു, പക്ഷേ അഗ്രങ്ങളിൽ ഏത് സെലക്ടറുകളോ കീകളോ ബാധകമാകുന്നു എന്നതല്ല.
പിന്നെ നയത്തിലെ സെലക്ടറുകൾ വായിക്കുക. നിങ്ങൾ പരിശോധിക്കുന്ന ട്രാഫിക്കിനേക്കാൾ ഇടുങ്ങിയ പ്രിഫിക്സ് പേരിടുന്ന സെലക്ടറാണ് പ്രവർത്തിക്കുന്ന ടണൽ ഒരു ഫ്ലോ അവഗണിക്കുന്നതായി തോന്നുന്നതിന്റെ ഏറ്റവും സാധാരണ കാരണം, തെറ്റായ പ്രോട്ടോക്കോളിന്റെ സെലക്ടറും അതേ നിശബ്ദത നൽകുന്നു.
| Field | Where it appears | What it decides |
|---|---|---|
| Security parameter index | ESP header, and the receiving state entry | Which association and keys the receiver applies |
| Sequence number | ESP header | Replay detection for that association |
| Next header | ESP trailer | What the decapsulated payload contains |
| Inner IP header | Inside tunnel-mode payload only | The original source and destination the endpoints act on |
| Traffic selectors | Policy, not the packet | Which local traffic is allowed to use the association |
വിൽപ്പനക്കാരുടെ ഉപകരണങ്ങൾ അതേ വിവരം കൂടുതൽ സൗകര്യപ്രദമായ രൂപത്തിൽ അച്ചടിക്കുന്നു. ipsec statusall strongSwan-ൽ അത് ചൈൽഡ് അസോസിയേഷനുകളും അവയുടെ സെലക്ടറുകളും ബൈറ്റ് കൗണ്ടറുകളും പട്ടികപ്പെടുത്തുന്നു, ഏത് ചൈൽഡ് നോക്കണം എന്ന് ഇതിനകം അറിയാമെങ്കിൽ ഇത് അസംസ്കൃത xfrm ഔട്ട്പുട്ട് വായിക്കുന്നതിനേക്കാൾ വേഗതയുള്ളതാണ്.
രണ്ടാം ഘട്ടം: ഒരു ഫ്ലോ കൗണ്ടറുകൾ നീക്കുന്നു എന്ന് തെളിയിക്കുക
കൗണ്ടറുകൾക്ക് അർത്ഥമുണ്ടാകുന്നത് അവയെ എന്ത് നീക്കണമായിരുന്നു എന്ന് അറിയുമ്പോൾ മാത്രമാണ്, അതിനാൽ സെലക്ടർ ഉറപ്പായി ഉൾക്കൊള്ളുന്ന ഉറവിടവും ലക്ഷ്യവും തിരഞ്ഞെടുത്ത് ഒരു നിരുപദ്രവകരമായ അഭ്യർത്ഥന അയയ്ക്കുക. പിന്നെ അതേ എൻട്രി വീണ്ടും വായിച്ച് താരതമ്യം ചെയ്യുക.
ip -s xfrm state
tcpdump -ni any esp
രണ്ട് വായനകൾ വ്യത്യസ്ത കഥകൾ പറയുന്നു. പുറത്തേക്കുള്ള ഭാഗത്ത് കൂടുന്നുവെങ്കിലും അകത്തേക്കുള്ള ഭാഗത്ത് ഒരിക്കലും കൂടാത്ത പാക്കറ്റുകൾ കീയുടെ പ്രശ്നത്തിലേക്കല്ല, ഫോർവേഡിംഗ് അല്ലെങ്കിൽ മടക്കുവഴിയുടെ പ്രശ്നത്തിലേക്കാണ് വിരൽ ചൂണ്ടുന്നത്, കാരണം പാക്കറ്റ് എൻകാപ്സുലേറ്റ് ചെയ്ത് പോയി. ഒരു കൗണ്ടറും നീങ്ങിയില്ലെങ്കിൽ ട്രാഫിക് ഒരിക്കലും നയവുമായി പൊരുത്തപ്പെട്ടിട്ടില്ല, കാണേണ്ട സ്ഥലം സെലക്ടറാണ്.
അതേ ഘട്ടത്തിലെ ക്യാപ്ചർ വയറിലുള്ള എൻകാപ്സുലേഷൻ സ്ഥിരീകരിക്കുന്നു, ബാഹ്യ പാക്കറ്റുകൾ ESP ആണോ UDP-യിൽ എൻകാപ്സുലേറ്റ് ചെയ്ത ESP ആണോ എന്നതും ഉൾപ്പെടെ. ഫ്ലോ യഥാർത്ഥത്തിൽ വഹിച്ച വിലാസങ്ങളും അത് കാണിക്കുന്നു, അവ ചിലപ്പോൾ നിങ്ങൾ വായിച്ചിരുന്ന കോൺഫിഗറേഷനിലെ വിലാസങ്ങളിൽ നിന്ന് വ്യത്യസ്തമായിരിക്കും.
മൂന്നാം ഘട്ടം: ഒരു കാര്യം മാറ്റി തിരിച്ചുവിടൽ സൂക്ഷിക്കുക
എന്തെങ്കിലും എഡിറ്റ് ചെയ്യുന്നതിന് മുൻപ് അസോസിയേഷന്റെ ഉറവിടം, ലക്ഷ്യം, മോഡ്, സെലക്ടറുകൾ, കൗണ്ടറുകൾ എന്നിവ രേഖപ്പെടുത്തുക. ഒരു മാറ്റം സ്ഥിതി മോശമാക്കിയാൽ, അനുമാനത്തിൽ നിന്ന് പ്രവർത്തിക്കുന്ന കോൺഫിഗറേഷൻ വീണ്ടും നിർമ്മിക്കുന്നതിനുപകരം മുൻ സ്ഥിതി പുനഃസ്ഥാപിക്കാൻ അനുവദിക്കുന്നത് ആ രേഖയാണ്. ആ രേഖ എഴുതാൻ ഒരു മിനിറ്റ് എടുക്കും, പിന്നീട് ഒരു മണിക്കൂർ ലാഭിക്കും. മാറ്റം വരുത്തിയ വ്യക്തിക്ക് ശേഷം അവശേഷിക്കുന്ന ഏക കലാസൃഷ്ടിയും അതാണ്.
ഒരു സെലക്ടറോ ഒരു പരാമീറ്ററോ മാറ്റി, അത് വീണ്ടും ലോഡ് ചെയ്ത്, അതേ ഫ്ലോയിൽ രണ്ടാം ഘട്ടം ആവർത്തിക്കുക. അസോസിയേഷൻ ഇല്ലാതാക്കുന്നത് അത് ഉപയോഗിക്കുന്ന ഓരോ ഫ്ലോയും തകർക്കുന്നു, അതിനാൽ ലക്ഷ്യബോധത്തോടെയുള്ള എഡിറ്റും ചൈൽഡ് വീണ്ടും ലോഡ് ചെയ്യലും എന്ത് സംഭവിക്കുന്നു എന്ന് കാണാൻ സ്ഥിതി ഒഴിവാക്കുന്നതിനേക്കാൾ ഏതാണ്ടെപ്പോഴും നല്ലതാണ്.
സെലക്ടർ എഡിറ്റിന്റെ തിരിച്ചുവിടൽ മുൻ നയം പുനഃസ്ഥാപിച്ച് വീണ്ടും ലോഡ് ചെയ്യലാണ്, സെലക്ടർ ലോക്കലല്ലാതെ ചർച്ച ചെയ്യപ്പെടുന്നതാണെങ്കിൽ പങ്കാളിക്ക് പൊരുത്തപ്പെടുന്ന മാറ്റം ആവശ്യമായി വന്നേക്കാം എന്ന വ്യവസ്ഥയോടെ. ആ ആശ്രിതത്വം അത് പുതുതായിരിക്കുമ്പോൾ തന്നെ എഴുതുക, കാരണം പകുതി പുനഃസ്ഥാപിച്ച ജോഡി ഏതെങ്കിലും ഒരു അന്തിമ സ്ഥിതിയേക്കാൾ ചിന്തിക്കാൻ ബുദ്ധിമുട്ടാണ്.
അവസാനം, പരിധി സത്യസന്ധമായി സൂക്ഷിക്കുക. ഒഴുകുന്ന ESP അസോസിയേഷൻ രണ്ട് ഗേറ്റ്വേകൾ സെഗ്മെന്റിനെ സംരക്ഷിക്കുകയും എത്തിക്കുകയും ചെയ്യുന്നു എന്ന് തെളിയിക്കുന്നു, മേലെയുള്ള ആപ്ലിക്കേഷൻ അതിന്റെ ഉപയോക്താക്കളെ പ്രാമാണീകരിക്കുന്നുണ്ടോ അല്ലെങ്കിൽ സംഭരിക്കുന്നത് എൻക്രിപ്റ്റ് ചെയ്യുന്നുണ്ടോ എന്നതിനെക്കുറിച്ച് ഒന്നും പറയുന്നില്ല. അവ വെവ്വേറെ തെളിവുകളുള്ള വെവ്വേറെ നിയന്ത്രണങ്ങളാണ്, അടുത്ത വ്യക്തിക്ക് കുറിപ്പുകളിൽ നിന്ന് അത് ആവർത്തിക്കാൻ കഴിയുമ്പോൾ മാത്രമാണ് runbook പൂർത്തിയാകുന്നത്.