அலுவலகம் மற்றும் VPN-க்கு ஒரே URL? அனுமதிப் பட்டியல் கட்டுக்கதை ஏன் தோல்வியடைகிறது
VPN இணைப்பு அனுமதிக்கப்பட்ட தளம் பார்க்கும் முகவரியை மாற்றாது. URL சேர்ப்பதற்கு முன் உண்மையான வெளியேற்றம், நம்பகமான ப்ராக்ஸி தாவல் மற்றும் IPv6 பாதையைச் சரிபார்க்கவும்.
சுரங்கத்தை இணைக்கவும், அதே புக்மார்க்கைத் திறக்கவும், அனுமதிக்கப்பட்ட தளம் அலுவலகத்திலிருந்து பதிலளித்ததைப் போலவே சரியாகப் பதிலளிக்கிறது. இதுவே பெரும்பாலான தொலை அணுகல் திட்டங்கள் அமைதியாகச் சார்ந்திருக்கும் அனுமானம், மூன்று தனித்தனி விஷயங்கள் ஒரே நேரத்தில் உண்மையாக இருக்கும் வரை மட்டுமே அது நிலைக்கும். அவற்றில் எதுவும் VPN கிளையண்டின் அம்சம் அல்ல, எந்த DNS பதிவும் அவற்றில் ஒன்றையும் வழங்க முடியாது. வீட்டில் புக்மார்க் தோல்வியடையும்போது, காரணம் விடுபட்ட பாதையோ, அனுமதிக்கப்படாத வெளியேற்ற முகவரியோ அல்லது தான் அறிவிக்கும் மூலத்தை மாற்றிய ப்ராக்ஸியோ எதுவாக இருந்தாலும், உலாவி ஒரு பொதுவான பிழையை மட்டுமே தரும். அந்த மூன்றையும் ஒரே பிரச்சினையாகக் கருதுவதே சிறிய கொள்கைத் திருத்தம் அனுமதிப் பட்டியல்களை விரிவாக்கும் ஒரு வாரமாக மாறும் வழி.
உண்மையான அலுவலக வலையமைப்புடன் தொடர்புகொள்ளும்போது தாக்குப்பிடிக்கும் வடிவமைப்பு அனுமானத்தை விடக் குறுகலானது: மூன்று வரிசை கொண்ட தெளிவான முடிவு அட்டவணை, தவிர்க்க முடியாத ஒரு செயலாக்கப் புள்ளி, மற்றும் ஏதோ ஒன்றை நிரூபிக்கும் மறுப்புச் சோதனை. அனுமானத்தை உடைப்பது முதலில் வருகிறது, ஏனெனில் அதற்குப் பிறகு எல்லாமே எந்த அடுக்கு மூலத்தைத் தவறாகக் காட்டுகிறது என்பதை அறிவதைச் சார்ந்துள்ளது.
கட்டுக்கதை: இணைப்பது வழிமாற்றம் அல்ல
ஒரு சுரங்கம் நிறுவப்பட்டு, கிளையண்ட் சில முன்னொட்டுகளுக்கு வழிகளை நிறுவுகிறது. இணைப்பது அவ்வளவுதான் செய்கிறது. தொடர்பில்லாத HTTPS கோரிக்கை சுரங்கத்தின் வழியே பயணிக்குமா, மற்றும் வந்துசேரும் போது எந்தப் பொது முகவரியிலிருந்து வந்ததாகத் தெரிகிறது என்பவை பின்னர் மற்ற கூறுகள் எடுக்கும் முடிவுகள்: வழி அட்டவணை பாதையைத் தேர்ந்தெடுக்கிறது, வெளியேற்றம் மூலத்தைத் தேர்ந்தெடுக்கிறது.
அதனால்தான் ஒரே மடிக்கணினி, ஒரே உலாவி சுயவிவரம் மற்றும் ஒரே புக்மார்க்குடன் அலுவலகமும் சமையலறை மேசையும் வேறுபடுகின்றன. அலுவலகத்தில் கோரிக்கை தள இயக்குநர் ஒப்புக்கொண்ட பராமரிக்கப்படும் பொது முகவரி வழியே வெளியேறுகிறது. முழு சுரங்கத்தின் வழியே அது VPN வெளியேற்றம் வழியாக வெளியேறலாம், அது வேறு முகவரி மற்றும் யாராவது அதைச் சேர்க்கும் வரை அனுமதிக்கப்படாதது. பிளவுபட்ட சுரங்கத்தின் வழியே அது சுரங்கத்திற்குள் நுழையவே நுழையாமல் இருக்கலாம். அந்த மூன்று பாதைகளில் இரண்டு மட்டுமே எப்போதாவது தள உரிமையாளருடனான ஒப்பந்தத்தின் பகுதியாக இருந்தன, மூன்றாவது கூடுதல் allow வரியால் ஒட்டவேண்டிய குறைபாடு அல்ல.
மூன்று கோரிக்கை நிலைகள், இரண்டு அனுமதிக்கப்பட்ட வெளியேற்றங்கள்
தீப்பரப்பைத் தொடுவதற்கு முன் அணி அட்டவணையை எழுதுங்கள், ஏனெனில் அட்டவணையே வடிவமைப்பு, விதி அதன் ஒரு செயலாக்கம் மட்டுமே. கீழே உள்ள முகவரிகள் ஆவண வரம்புகள்; அவற்றை உங்கள் சொந்த பராமரிக்கப்படும் மதிப்புகளால் மாற்றி, தள உரிமையாளர் சரிபார்க்கக்கூடிய இடத்தில் வைக்கவும்.
| Request path | Source the site sees | Intended decision |
|---|---|---|
| Office, no tunnel | Office public exit | Admit to the application login |
| Remote, approved full tunnel | Approved VPN egress | Admit to the same login |
| Remote, ordinary connection | Neither approved address | Deny at the network boundary |
இந்தத் திட்டங்களில் பெரும்பாலானவை நடு வரிசையில் உடைகின்றன. முக்கியமானது செயலாக்கும் சாதனம் பார்க்கும் முகவரி, மடிக்கணினி சுரங்கத்திற்குள் வைத்திருக்கும் தனிப்பட்ட முகவரி அல்ல, அதன் LAN முகவரியும் அல்ல. 10.8.0.6 போன்ற மதிப்பு பொதுத் தளத்திற்கு எதையும் குறிக்காது, 192.168.1.44 உம் அல்ல. சுரங்கத்தின் முகவரி சுரங்க முகவரியிடலின் விவரம், தளம் சரிபார்க்கக்கூடிய எந்தச் சான்றும் அல்ல.
உங்கள் VPN நிலையான, ஆவணப்படுத்தப்பட்ட வெளியேற்றத்தை வழங்க முடியாவிட்டால், அணி அட்டவணையில் செல்லுபடியாகும் நடு வரிசை இல்லை, எத்தனை அனுமதிப் பட்டியல்கள் இருந்தாலும் ஒன்றை உருவாக்காது. அந்தத் தருணத்தில் நேர்மையான விருப்பங்கள் வெளிப்படையான தனிப்பட்ட வழிகள் வழியே அடையப்படும் தனிப்பட்ட தளம், அல்லது பயன்பாட்டின் முன் அடையாளம் அறிந்த அணுகல் நுழைவாயில். இரண்டிற்கும் பொது அனுமதிப் பட்டியலிலிருந்து வேறுபட்ட ஒப்பந்தம் உள்ளது, இரண்டையும் தணிக்கையாளருக்கு விளக்குவது தற்செயலாக வேலை செய்யும் வரை வளர்ந்த பட்டியலை விட எளிது.
முடிவு எடுக்கப்படும் இடத்திலேயே மூலத்தைப் படியுங்கள்
கட்டுப்பாட்டை கோரிக்கையை முடிக்கும் சாதனத்தில் வைக்கவும், வேறு எந்த மூலப் பாதையும் அதைத் தவிர்க்கவில்லை என்பதை உறுதிசெய்யவும். Nginx அணுகல் தொகுதி allow மற்றும் deny கட்டளைகளை வரிசையாக மதிப்பிடுகிறது, முதல் பொருத்தம் வெல்லும், சுற்றியுள்ள தொகுதியிலிருந்து மரபாகப் பெற்ற விதிகள் location-க்குள் இன்னும் பொருந்தும். ஒரே இடத்தில் குறுகிய allow-க்கு அடுத்து அகலமான allow இருந்தால் பொதுவாக அகலமானதே முடிவு செய்கிறது. அதன் ஒரு வரியைக்கூடத் திருத்துவதற்கு முன் அந்த location-க்கான முழு பயனுள்ள கட்டமைப்பையும் படியுங்கள்.
server {
listen 443 ssl;
server_name intranet.example.com;
set_real_ip_from 10.20.0.10;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
location /app/ {
allow 203.0.113.24; # office public exit
allow 198.51.100.77; # approved VPN egress
deny all;
proxy_pass http://app_backend;
}
}
சுமை சமநிலைப்படுத்தி அல்லது தலைகீழ் ப்ராக்ஸிக்குப் பின்னால் அந்த விதி ப்ராக்ஸியைப் பார்க்கிறது, நீங்கள் வேறு விதமாகச் சொல்லாதவரை. அழைப்பவரின் முகவரியை ஆதரிக்கப்படும் நம்பகமான-ப்ராக்ஸி முறை வழியாக மட்டுமே, ப்ராக்ஸி முகவரிகளின் வெளிப்படையான பட்டியலுடன் மீட்டெடுக்கவும். அனுமதிக்கப்பட்ட முகவரியைக் கூறும் கோரிக்கை தலைப்பு அழைப்பவர் அதைச் சொந்தமாகக் கொண்டுள்ளார் என்பதற்கான சான்று அல்ல, பொதுக் கேட்பவரில் சரிபார்க்கப்படாத அனுப்பப்பட்ட தலைப்பு அனுமதிப் பட்டியலை அலங்காரமாக்குகிறது.
பின்னர் மற்ற முகவரி குடும்பத்தைச் சரிபார்க்கவும். IPv4-ஐ மட்டும் உள்ளடக்கிய விதித் தொகுப்பு AAAA-விலும் பதிலளிக்கும் ஹோஸ்ட் பெயருக்கு முழுமையற்ற முடிவு, செயல்படும் IPv6 உள்ள கிளையண்ட் அதே பயன்பாட்டை நீங்கள் ஒருபோதும் மதிப்பாய்வு செய்யாத பாதை வழியே அடையும்.
பிளவுபட்ட சுரங்கம்: ஒருபோதும் உள்ளே வராத கோரிக்கை
பிளவுபட்ட சுரங்கம் தன் பட்டியலில் உள்ள முன்னொட்டுகளை மட்டுமே சுமக்கிறது. அலுவலகத்தின் உள் துணை வலையமைப்புகள் பொதுவாக அந்தப் பட்டியலில் வரும்; பொது இணையதளம் வராது. உலாவி பெயரைத் தீர்த்து, தேர்ந்தெடுத்த முகவரியை வழி அட்டவணையுடன் ஒப்பிட்டு, இருந்தபோதிலும் முன்னால் உள்ளூர் இயல்புநிலை நுழைவாயிலைக் காண்கிறது.
எனவே கோரிக்கை பயனரின் வீட்டு இணைப்பிலிருந்து வந்து நிராகரிக்கப்படுகிறது, அறிக்கை VPN பழுதடைந்துள்ளது எனக் கூறுகிறது, ஆனால் சுரங்கம் அதற்காக அமைக்கப்பட்டதைச் சரியாகச் செய்கிறது. இரண்டு திருத்தங்கள் செல்லுபடியாகும்: அந்த இலக்கைச் சுரங்கத்தின் வழியே அனுப்பி அனுமதிக்கப்பட்ட வெளியேற்றம் அதைச் சுமக்கட்டும், அல்லது தளம் நேரடியாக அடையப்படுகிறது என்பதை ஏற்று தொலைப் பயனர்களுக்கு அணுகல் நுழைவாயில் போன்ற மற்றொரு அனுமதிக்கப்பட்ட பாதையை வழங்கவும். வீட்டு முகவரி தற்செயலாகச் சேர்க்கப்படும் வரை தளத்தின் பொது அனுமதிப் பட்டியலை விரிவாக்குவது அவை இரண்டும் அல்ல, அது வடிவமைப்பு நடைமுறைப்படுத்த வேண்டிய எல்லையை நீக்குகிறது. முதல் இரண்டும் அணி அட்டவணையை நேர்மையாக வைத்திருக்கின்றன; மூன்றாவது அதிலிருந்து ஒரு வரிசையை அமைதியாக அழிக்கிறது.
மறுப்பை நிரூபியுங்கள், பின்னர் மீட்பை
அட்டவணையின் ஒவ்வொரு வரிசையிலும் நிற்கும் கிளையண்டிலிருந்து உண்மையான முடிவைப் பயன்படுத்தும் கோரிக்கையுடன் சோதிக்கவும். தொடர்பில்லாத முகவரியைக் காட்டும் ஏதோ ஒரு பக்கத்திற்கு எதிரான அணுகல் சரிபார்ப்பு எதையும் நிரூபிக்காது, ஏனெனில் அந்த இலக்கு பயன்பாட்டிலிருந்து வேறுபட்ட பாதையைப் பின்பற்றலாம்.
curl -sS -o /dev/null -w 'status=%{http_code}
' https://intranet.example.com/app/login
# repeat with the tunnel up, then with it down
tail -f /var/log/nginx/access.log | grep ' /app/'
எல்லையில் உள்ள அணுகல் பதிவை அட்டவணை முன்னறிவித்ததுடன் ஒப்பிடுங்கள். பின்னர் சுரங்கத்தை இறக்கி நிராகரிக்கப்பட வேண்டிய புதிய கோரிக்கையைச் செய்யுங்கள்; ஏற்கனவே ஏற்றப்பட்ட பக்கமோ ஏற்கனவே திறந்த இணைப்போ எதையும் சோதிக்காது. எந்த மறுப்பும் தெரியவில்லை என்றால், செயலாக்கப் புள்ளி நீங்கள் நினைக்கும் இடத்தில் இல்லை.
வலையமைப்பில் அனுமதிக்கப்பட்ட பிறகும் பயன்பாட்டு அங்கீகாரத்தை வைத்திருங்கள், ஏனெனில் அலுவலக வெளியேற்றமும் VPN வெளியேற்றமும் ஒவ்வொன்றும் பல மக்களைப் பிரதிநிதித்துவப்படுத்துகின்றன, எதுவும் ஒரு தனிநபரை அடையாளம் காணவில்லை. பயனர்களுக்கான அறிவுறுத்தல் சுருக்கமாகவே இருக்கிறது: அனுமதிக்கப்பட்ட சுரங்கத்தை உயர்த்தி, பின்னர் மீண்டும் முயற்சிக்கவும். இதுவே ஒரு URL-ஐ வசதியாக வைத்திருக்கிறது, மூல விதி ஊகத்திற்குப் பதிலாக முடிவாகவே இருக்கும்.