പൊതു SaaS പേജുകൾ എല്ലാവർക്കും തുറന്നിരിക്കാം, അതേസമയം അവയ്ക്ക് പിന്നിലെ അഡ്മിൻ പ്രവർത്തനങ്ങൾ VPN-ന് പുറത്തുള്ള എല്ലാവരെയും നിരസിക്കുന്നു. ഇത് സാധ്യമാക്കുന്ന സംവിധാനം ഒരു മറഞ്ഞ മെനുവോ പ്രത്യേക ലോഗിൻ പേജോ അല്ല; അത് അഭ്യർത്ഥന എത്തിച്ച നെറ്റ്വർക്ക് പാതയുടെ പരിശോധനയാണ്. വിലാസത്തിന്റെ തെളിവ് തെറ്റായാൽ പരിശോധന യഥാർത്ഥ അഡ്മിൻമാരെ പുറത്താക്കുകയോ ഹെഡർ ടൈപ്പ് ചെയ്യാൻ കഴിയുന്ന ആരെയും അകത്തേക്ക് വിടുകയോ ചെയ്യും. ഒറിജിൻ യഥാർത്ഥത്തിൽ എന്താണ് സ്വീകരിക്കുന്നത് എന്നതിൽ നിന്ന് തുടങ്ങുക.

ടണലിന് ശേഷം ഒറിജിൻ യഥാർത്ഥത്തിൽ സ്വീകരിക്കുന്നത്

ഇന്റർനെറ്റ് ട്രാഫിക്കും വഹിക്കുന്ന VPN വഴി ബ്രൗസർ പൊതു സൈറ്റിൽ എത്തുമ്പോൾ, ഗേറ്റ്വേ പുറത്തുപോകുന്നതിന് മുമ്പ് കണക്ഷൻ വിവർത്തനം ചെയ്യുന്നു. SaaS ഗേറ്റ്വേയുടെ പൊതു എഗ്രസ് വിലാസം കാണുന്നു, സാധാരണയായി ഒരു വിലാസം അല്ലെങ്കിൽ ചെറിയ ശ്രേണി, കൂടാതെ ലാപ്ടോപ്പിന്റെ ടണൽ വിലാസം ഒരിക്കലും കാണുന്നില്ല. അതുകൊണ്ടാണ് 10.90.0.42 അനുവദനീയ പട്ടികയിൽ ചേർക്കുന്നത് പരാജയപ്പെടുന്നത്, അതുകൊണ്ടാണ് മുഴുവൻ RFC 1918 ചേർക്കുന്നത് കൂടുതൽ ഉച്ചത്തിൽ പരാജയപ്പെടുന്നത്: രണ്ടാമത്തേത് നിങ്ങളെ എത്താൻ കഴിയുന്ന ഓരോ സ്വകാര്യ നെറ്റ്വർക്കിനെയും അകത്തേക്ക് വിടുന്നു. വ്യവസ്ഥ വയ്ക്കാൻ യോഗ്യമായ ഏക വിലാസം നിങ്ങളുടെ സംഘടന എക്സിറ്റിൽ യഥാർത്ഥത്തിൽ സ്വന്തമാക്കുന്ന വിലാസമാണ്.

curl -s https://ifconfig.me
dig +short admin.example.com

വിഭജിത ടണലിംഗ് ഈ അനുമാനം നിശബ്ദമായി തകർക്കുന്നു. VPN സ്വകാര്യ ഓഫീസ് റൂട്ടുകൾ മാത്രം വഹിക്കുന്നുവെങ്കിൽ, പൊതു അഡ്മിൻ ഹോസ്റ്റ്നെയ്മിലേക്കുള്ള അഭ്യർത്ഥന പ്രാദേശിക ISP വഴി പുറത്തുപോകുന്നു, ഒറിജിൻ ഒരു വസതി വിലാസം കാണുന്നു. കണക്ട് ചെയ്ത VPN ഐക്കൺ ഈ നിർദ്ദിഷ്ട ലക്ഷ്യത്തെക്കുറിച്ച് ഒന്നും തെളിയിക്കുന്നില്ല, അതിനാൽ ടണലല്ല, ലക്ഷ്യം പരിശോധിക്കുക.

എക്സിറ്റ് വിലാസം ഉപയോക്താവിന് അനുസരിച്ച് മാറുന്നുവെങ്കിൽ ഏതെങ്കിലും നയം എഴുതുന്നതിന് മുമ്പ് നിർത്തി റൂട്ടിംഗ് ശരിയാക്കുക. ചില അഡ്മിൻമാരുമായി മാത്രം പൊരുത്തപ്പെടുന്ന വ്യവസ്ഥ വ്യവസ്ഥയില്ലാത്തതിനേക്കാൾ മോശമാണ്, കാരണം അത് സംഭവം ഉണ്ടാകുന്നതുവരെ പ്രശ്നം മറയ്ക്കുന്നു.

വിലാസം വീണ്ടും എഴുതുന്ന പ്രോക്സിയിൽ മാത്രം വിശ്വസിക്കുക

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

set_real_ip_from 192.0.2.0/24;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
curl -H 'X-Forwarded-For: 198.51.100.27' https://origin.example.com/admin

അതേ യുക്തി PROXY പ്രോട്ടോക്കോളിനും ബാധകമാണ്: ലിസണർ പ്രോക്സിക്ക് എത്താൻ കഴിയുന്നതും മറ്റൊന്നിനും എത്താൻ കഴിയാത്തതുമായ ഒരു ഇന്റർഫേസിലേക്ക് ബന്ധിച്ചിരിക്കുമ്പോൾ മാത്രമേ അത് വിശ്വസനീയമാകൂ. കാണാത്ത വിലാസ സന്ദർഭം സംരക്ഷിത പരിശോധന പരാജയപ്പെടുത്തണം, സ്ഥിരസ്ഥിതി അനുമതിയിലേക്ക് വീഴരുത്. ഇല്ലാത്ത ഹെഡർ വിശ്വസനീയ പാതയുടെ തെളിവല്ല.

വ്യവസ്ഥ ഓരോ സംരക്ഷിത പ്രവർത്തനത്തോടും ബന്ധിപ്പിക്കുക

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

user = requireAuthenticatedSession()
requirePermission(user, "admin")
requireVpnEgress(verifiedClientAddress(request))
performProtectedOperation(user, request)

അതേ അതിർത്തി JSON API, എക്സ്പോർട്ടുകൾ, സൈൻ ചെയ്ത ഡൗൺലോഡ് URL-കൾ, WebSocket ഹാൻഡ്ഷേക്ക് എന്നിവയെയും ഉൾക്കൊള്ളണം, കാരണം അവയിലൊന്നും ആദ്യം HTML പേജ് അഭ്യർത്ഥിക്കേണ്ടതില്ല. VPN സജീവമായിരുന്നപ്പോൾ സൃഷ്ടിച്ച ഡൗൺലോഡ് ലിങ്ക്, ഡൗൺലോഡ് എൻഡ്പോയിന്റ് വീണ്ടും പരിശോധിക്കുന്നില്ലെങ്കിൽ പിന്നീടും സാധുവായിരിക്കും. ദീർഘകാല സെഷനുകൾക്കും പുനർമൂല്യനിർണ്ണയ നിയമം ആവശ്യമാണ്, അല്ലെങ്കിൽ ഒരു പ്രാമാണീകരിച്ച അഭ്യർത്ഥന ശാശ്വത ഒഴിവാക്കലായി മാറുന്നു. സ്ഥിരസ്ഥിതി നിരസിക്കലാണ് ജീവനക്കാരുടെ മാറ്റത്തെ അതിജീവിക്കുന്ന ഏക ക്രമീകരണം.

പങ്കിട്ട കാഷെകൾ പരിശോധനയെ ചുറ്റിയുള്ള മറ്റൊരു വഴിയാണ്. സംരക്ഷിത പ്രതികരണം ഇതിനകം ഉള്ള ഒരു കാഷെ ഒറിജനെ ബന്ധപ്പെടാതെ അത് നൽകാം, അതിനാൽ അഡ്മിൻ പ്രതികരണങ്ങൾ സ്വകാര്യമെന്ന് അടയാളപ്പെടുത്തി പങ്കിട്ട സംഭരണത്തിൽ നിന്ന് മാറ്റി നിർത്തുക. ഒരു കാഷെ അവ നൽകണമെങ്കിൽ, ആക്സസ് പരിശോധന നൽകുന്നതിന് മുമ്പ് പ്രവർത്തിക്കണം, അതായത് സാധാരണയായി അത് പങ്കിട്ട കാഷെ ആകാൻ കഴിയില്ല.

നിങ്ങൾ ഇപ്പോൾ അടച്ച ബൈപാസുകൾ പരിശോധിക്കുക

സന്തോഷകരമായ പാതയല്ല, മാട്രിക്സ് അഭ്യസിക്കുക: VPN വഴിയുള്ള അഡ്മിൻ, അതില്ലാതെ അതേ അഡ്മിൻ, അതിലൂടെയുള്ള അഡ്മിൻ അല്ലാത്തയാൾ, വ്യാജ വിലാസ ഹെഡർ. ഒറിജിനിലേക്കുള്ള നേരിട്ടുള്ള അഭ്യർത്ഥനയും കാഷെ ചെയ്ത പ്രതികരണത്തിന്റെ അഭ്യർത്ഥനയും ചേർക്കുക, കാരണം ആ രണ്ടും ഫ്രണ്ടെൻഡിനെ പൂർണ്ണമായി ഒഴിവാക്കുന്നു.

curl -sI https://admin.example.com/export.csv
curl -s -H 'X-Forwarded-For: 198.51.100.27' https://origin.example.com/admin
curl -s https://admin.example.com/api/me -o /dev/null -w '%{http_code}\n'

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

എഗ്രസ് വിലാസം അനുവദനീയമായ നെറ്റ്വർക്ക് പാത തെളിയിക്കുന്നു, ഒരു വ്യക്തിയെയല്ല, നിയന്ത്രിത ഉപകരണത്തെയുമല്ല. പ്രാമാണീകരണത്തിനും അനുമതിക്കും ഒപ്പം ഒരു വ്യവസ്ഥയായി അത് നിലനിർത്തുക, ഉൽപ്പന്നം മുഴുവൻ VPN-മാത്രം സേവനമാക്കാതെ അഡ്മിൻ ഏരിയ ഇടുങ്ങിയതായി തുടരും. ആ വേർതിരിവാണ് രൂപകൽപ്പന, അതിന്റെ പരിധിയല്ല.

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