சமரசம் செய்யப்பட்ட வலை நுழைவாயில் இன்னும் எங்கு சென்றடைய முடியும்?
வலை நுழைவாயில் பார்வையாளர் எதைத் திறக்கிறார் என்பதை வரம்பிடுகிறது, சமரசம் செய்யப்பட்ட புரவலன் எங்கு சென்றடைய முடியும் என்பதை அல்ல. இரு மறுஆய்வுகள், ஒரு அதிகார அட்டவணை மற்றும் அணுகலை அளக்கும் கட்டளைகள்.
நுழைவாயிலின் புரவலன் அதன் சான்றிதழ் இன்னும் செல்லுபடியாகும் போதே சமரசம் செய்யப்பட்டதாக வைத்துக்கொள்வோம். பார்வையாளர் எந்தப் பக்கங்களைக் கோரலாம் என்பதை நிர்ணயித்த ஒவ்வொரு விதியும் அமலில் உள்ளது, அந்த விதிகளில் எதுவும் தாக்குபவர் இப்போது அந்தப் புரவலனிலிருந்து தரவுத்தள துணை வலையமைப்பை நோக்கித் திறக்கும் இணைப்பை வரம்பிடவில்லை. இந்த இடைவெளியே வலை-மட்டும் நுழைவுப் புள்ளி பிரிக்கப்பட்ட வலையமைப்புக்குச் சமமான கூற்று அல்ல என்பதற்குக் காரணம். இரு கூற்றுகளுக்கும் தனித்தனி மறுஆய்வுகள் தேவை, வெவ்வேறு தொடக்கப் புள்ளிகளிலிருந்து, அவற்றில் எதையும் நேர்மையாகச் செய்ய முடியும் முன்பு.
இரு கூற்றுகள், அவற்றில் ஒன்று மட்டுமே பார்வையாளரிடம் தொடங்குகிறது
முதல் கூற்று ஒரு நபரைப் பற்றியது: உலாவியும் செல்லுபடியாகும் அமர்வும் உள்ள பார்வையாளர் ஒரு பயன்பாட்டைத் திறக்கலாம், அதற்கு மேல் எதுவுமில்லை. வலை-மட்டும் நுழைவுப் புள்ளி அந்தக் கூற்றுக்கு நன்றாகப் பதிலளிக்கிறது, ஏனெனில் பார்வையாளர் வழித்தடத்தை விடப் பக்கம் பெறுகிறார். அந்தப் பதிலை வைத்திருப்பது மதிப்புள்ளது, மேலும் பெரும்பாலான வரைபடங்கள் பதிவு செய்யும் ஒரே கூற்றும் அதுவே.
இரண்டாவது கூற்று ஒரு பகுதியைப் பற்றியது: நுழைவாயில், அல்லது அதற்குப் பின்னால் உள்ள பயன்பாட்டுச் செயல்முறை, வேறொருவரின் கட்டுப்பாட்டில் இருப்பதாகக் கருதப்படுகிறது. அந்தக் கருதுகோளிலிருந்து எந்த URL அனுமதிக்கப்படுகிறது என்பதிலிருந்து செயல்முறை இன்னும் எந்த இலக்குகளையும் அடையாளங்களையும் சென்றடைய முடியும் என்பதற்கு கேள்வி மாறுகிறது.
இரு கூற்றுகளுக்கும் வெவ்வேறு உரிமையாளர்கள் உள்ளனர், வெவ்வேறு சான்றுகளை உருவாக்குகின்றன, தனித்தனியாகத் தோல்வியடைகின்றன. அடையாளக் குழு முதல் கூற்றை அமர்வுச் சோதனையால் காட்ட முடியும்; இரண்டாவதற்கு வலைக் கொள்கை, சேவைக் கணக்கு மறுஆய்வு மற்றும் புரவலன் கட்டுப்பாடுகள் தேவை. பார்வையாளரின் பாதியை மட்டும் பதிவு செய்யும் வடிவமைப்பு மறுஆய்வு ஸ்லைடில் முழுமையாகவும் நிகழ்வின் போது மெலிதாகவும் தோன்றுகிறது, ஏனெனில் சமரசத்திற்குப் பின் முக்கியமான கட்டுப்பாடுகள் ஒருபோதும் எல்லைக்குள் இருந்ததில்லை. எந்தக் கட்டுப்பாடு எந்தக் கூற்றை ஆதரிக்கிறது என்பதைப் பெயரிடுங்கள், இல்லையெனில் ஒரு நுழைவாயில் விதி இரண்டுக்கும் வரவு வைக்கப்படும்.
செயல்படுத்தப்பட்ட ஒரு செலவுச் சேவை, அது தோற்கும் இரு வழிகள்
ஒரு செலவுச் சேவையை எடுத்துக்கொள்வோம்: 10.60.4.10 இல் உள்ள பொது நுழைவாயில் பணியாளர்களை அங்கீகரித்து, ஒப்புதல் பெற்ற கோரிக்கைகளை 8443 துறைமுகத்தில் உள்ள பயன்பாட்டுக் கேட்பானுக்கு அனுப்புகிறது, அந்தப் பயன்பாடு expenses_app பாத்திரமாக 10.60.4.20:5432 இல் ஒரு PostgreSQL கேட்பானை அடைகிறது. பணியாளர்கள் பொதுவான உள் அணுகலைப் பெறக் கூடாது. சாதாரண இயக்கத்தில் வடிவமைப்பு தரவுத்தளக் கேட்பானை எங்கும் வெளியிடாமல் பயன்பாட்டுக்கு உரிய நுழைவை உண்மையில் வழங்குகிறது. முகவரிகள் முக்கியம், ஏனெனில் இந்தக் கட்டுரையின் ஒவ்வொரு பிந்தைய சரிபார்ப்பும் அவற்றைப் பெயரிடுகிறது.
இப்போது நுழைவாயிலை நம்பகமான தொகுப்பிலிருந்து அகற்றுங்கள். 10.60.4.10 இன் செயல்முறை தாக்குபவருக்குச் சொந்தமானதும் அது எந்த இலக்குகளை அடைய முடியும்? பார்வையாளர்களை வரம்பிட்ட URL வடிகட்டி, நுழைவாயில் புரவலன் தரவுத்தள துணை வலையமைப்பை நோக்கித் திறக்கும் இணைப்பைப் பற்றி எதுவும் கூறவில்லை.
அதற்குப் பதிலாக பயன்பாட்டுச் செயல்முறையை அகற்றுங்கள், அதிகாரம் வடிவம் மாறுகிறது: expenses_app பாத்திரம், அந்தச் சேவையகம் அடையக்கூடிய சேவைகள், அந்தக் கணக்கு படிக்கக்கூடிய கோப்புகள். இரண்டு சந்தர்ப்பங்களிலும் முன் கதவு வலை-மட்டுமாக இருக்க முடியும், பின்தள எல்லை இல்லாதபோது. எனவே முன் கதவின் லேபிள் இரு கேள்விகளில் எதற்கும் பதில் அல்ல.
ஒவ்வொரு தரப்பும் உண்மையில் வைத்திருக்கும் அதிகாரத்தை வரைபடமாக்குங்கள்
எண்ணப்பட்ட அனுமதிகளாக எழுதப்பட்ட ஒப்பந்தம் வடிவமைப்பை உங்களுக்குத் திரும்பக் கூறும். அதை வைத்திருக்கும் அதிகாரம், அதிகப்படியை மறுக்கும் சரிபார்ப்பு, அந்தச் சரிபார்ப்பின் உரிமையாளர் என எழுதுங்கள், ஒவ்வொரு வரிசையும் சோதிக்கக்கூடியதாகும். இந்த அட்டவணை மேலே உள்ள எடுத்துக்காட்டுக்கான முன்மொழிவு, தயாரிப்புக் கூற்று அல்ல:
| Component | Authority it actually holds | Check that proves the denial | Owner of the check |
|---|---|---|---|
| Identity provider | Issues assertions and session cookies, and holds no network path of its own | A request to the application URL without a session is redirected to the login page | Identity team |
| Public gateway host | TCP reachability to whatever its routing table and egress rules permit | An egress rule drops 10.60.4.20:5432 and the probe reports the port filtered | Network platform team |
| Application role | SQL privileges granted to expenses_app inside the expenses database | A privilege query shows no ownership or create right on any other schema | Application team |
| Database listener | Accepts connections only from the source ranges named in its host-based rules | A connection from an unlisted address is refused before authentication | Database administrator |
| Management path | Administrative access reserved for patching, monitoring and recovery | A staff workstation cannot reach the administrative port or jump through it | Platform owner |
உரிமை அதிகாரத்தைப் பின்தொடர்கிறது. அடையாளக் குழு கூற்றுகளை, வலைத் தளக் குழு வழித்தடங்களை, பயன்பாட்டுக் குழு தரவுத்தளப் பாத்திரத்தை, தரவுத்தள நிர்வாகி கேட்பானையும் அதன் புரவலன் அடிப்படையிலான விதிகளையும், தள உரிமையாளர் நிர்வாகத் தளத்தையும் உரிமை கொள்ளுகின்றனர். உரிமையாளர் இல்லாத மறுப்பு ஆவணத்தில் ஒரு வாக்கியம், கட்டுப்பாடு அல்ல.
இந்தப் பிரிவு இரட்டைக் கணக்கையும் தடுக்கிறது. துறைமுகக் கட்டுப்பாடு அட்டவணைச் சிறப்புரிமையை வெளிப்படுத்த முடியாது, தரவுத்தளப் பாத்திரம் தொடர்பில்லாத துணை வலையமைப்புக்குப் புரவலன் சாக்கெட் திறப்பதைத் தடுக்க முடியாது.
நுழைவாயில் எங்கு சென்றடைய முடியும் எனக் கூறுவதற்குப் பதிலாக எண்ணுங்கள்
எல்லைக் கூற்று அதற்குப் பின்னால் உள்ள எண்ணிக்கையைப் போலவே சிறந்தது. நுழைவாயில் புரவலனில், மூன்று கட்டளைகள் வழித் தேர்வு, நேரடிச் சோதனை மற்றும் வெளியேற்றக் கொள்கையை உள்ளடக்குகின்றன:
ip route get 10.60.4.20
nc -zv 10.60.4.20 5432
sudo nft list chain inet filter outputவெளியீட்டை அதே வரிசையில் படியுங்கள். 10.60.4.20 அந்தப் புரவலனிலிருந்து தேர்ந்தெடுக்கப்படுகிறதா என்பதை வழி கூறுகிறது; கேட்பான் பதிலளிக்கிறதா என்பதைச் சோதனை கூறுகிறது; கொள்கை பாக்கெட்டை நிறுத்துகிறதா அல்லது அதன் வழியில் ஒருபோதும் எதுவும் இல்லையா என்பதை விதிப் பட்டியல் காட்டுகிறது.
பயன்பாட்டுப் புரவலனிலிருந்து எண்ணிக்கையை மீண்டும் செய்யுங்கள். அங்கிருந்து தரவுத்தளப் பக்கம் பயன்பாட்டுப் பாத்திரமாக இயக்கப்படும் ஒரு வினவல்:
psql -h 10.60.4.20 -U expenses_app -d expenses -c 'select rolname, rolsuper, rolcreatedb from pg_roles'மற்றொரு திட்டத்தைப் படிக்க முடியாத பாத்திரத்தின் கீழ் வெற்றிகரமான இணைப்பு, உரிமையாளர் பாத்திரத்தின் கீழ் வெற்றிகரமான இணைப்பிலிருந்து வேறுபட்ட முடிவு. இரண்டாவது மட்டுமே ஒரு கண்டுபிடிப்பு.
மறுப்புகளைப் பதிவு செய்து, பின்னர் மறுஆய்வுக்குத் தேதி இடுங்கள்
ஏற்றுக்கொள்ளல் நோக்கங்களாக அல்ல, முடிவுகளாக எழுதப்படுகிறது: பணியாளர் அமர்வு கேட்பானை அடைய முடியாது, நுழைவாயில் புரவலன் தொடர்பில்லாத துணை வலையமைப்பை அடைய முடியாது, பயன்பாட்டுப் பாத்திரம் தரவுத்தளத்தை உருவாக்க முடியாது. ஒவ்வொன்றும் பெயரிடப்பட்ட உரிமையாளரும் தேதியும் கொண்ட தனிச் சரிபார்ப்பு.
கண்காணிப்பு, இணைப்பு மற்றும் மீட்பு ஆகியவற்றை அவற்றுக்காக வடிவமைக்கப்பட்ட நிர்வாக வழியில் அணுகக்கூடியதாக வைத்திருங்கள். தன் உரிமையாளரையும் தடுக்கும் எல்லை ஒரு இடையூறாக மாறும், அந்த இடையூற்றுக்கான வழக்கமான முதல் பதில் விதியை மீண்டும் விரிவாக்குவதே. CISA சுற்றளவு வழிகாட்டல் உள் வலையமைப்புகளுக்கு இடையிலான போக்குவரத்து உட்பட, நியாயப்படுத்தப்பட்ட துறைமுகங்கள் மற்றும் நெறிமுறைகளுக்கு உள்வரும் மற்றும் வெளிச்செல்லும் அணுகலை வரம்பிடக் கோருகிறது, இது பின்தளத்திலிருந்து தொடங்கும் திசை மற்றும் பெரும்பாலான வரைபடங்கள் தவிர்க்கும்.
மறுஆய்வுக்குத் தேதி இட்டு அதன் உரிமையாளரைப் பெயரிடுங்கள். நுழைவாயில் படிமம், வழிசெலுத்தல் அட்டவணை அல்லது பயன்பாட்டுப் பாத்திரத்தில் எந்த மாற்றத்திற்குப் பிறகும் எண்ணிக்கையையும் சிறப்புரிமை வினவலையும் மீண்டும் இயக்குங்கள்.