OpenConnect csd-wrapper: உள்நுழைவுக்கு முன் ஸ்கிரிப்ட்டை தணிக்கை செய்யுங்கள்
--csd-wrapper-ஐ குறியீடு இயக்கத்தின் எல்லையாகக் கருதுங்கள்: ஸ்கிரிப்ட்டை தணிக்கை செய்யுங்கள், தனி csd பயனரைத் தேர்ந்தெடுத்து, நுழைவாயில் உண்மையில் என்ன பார்க்கிறது என்பதைச் சரிபார்க்கவும்.
சுயவிவரத்தில் --csd-wrapper சேர்ப்பது, உள்நுழைவின் போது அதை இயக்கும் டீமானுக்கு உள்ளூர் ஸ்கிரிப்ட்டை ஒப்படைக்கிறது, எனவே உங்கள் முன் உள்ள முடிவு குறியீடு மறுஆய்வு, விருப்பத் தொகுப்பு அல்ல. நுழைவாயிலின் ஹோஸ்ட் சரிபார்ப்பு பகுதியை மாற்ற முடியும் என்பதற்காக இந்த விருப்பம் உள்ளது, மேலும் நீங்கள் வழங்கும் ஸ்கிரிப்ட்டுக்கான பாதையை இது எடுக்கிறது. கீழே உள்ள அனைத்தும், எந்த நிலை சரிபார்ப்பு தேவை என்பதை வரிசைப்படுத்தியவர் ஏற்கனவே சொல்லியிருப்பதாகக் கருதுகிறது; அந்தப் பகுதி இன்னும் திறந்திருந்தால், முதலில் அதைத் தீர்க்கவும். வழிகாட்டியில் நான்கு படிகள் உள்ளன: தோல்வியடைந்த நிலையைக் கண்டறியவும், ஸ்கிரிப்ட்டைப் படிக்கவும், அது எந்த அடையாளத்தின் கீழ் இயங்குகிறது என்பதைத் தேர்ந்தெடுக்கவும், முடிவை நிரூபிக்கவும்.
படி 1: தோல்வியடைந்த நிலையைக் கண்டறியவும்
வாடிக்கையாளரின் இறுதிச் செய்தி பொதுவாக ஒரு குக்கியைப் பற்றியது, அது சங்கிலியின் முடிவு, தொடக்கம் அல்ல. HTTPS உள்நுழைவு, சேவையகச் சான்றிதழ் சரிபார்ப்பு, அங்கீகாரப் பரிமாற்றம் மற்றும் நிலைக் கூறு அனைத்தும் அந்தச் செய்திக்கு முன் உள்ளன.
பயன்பாட்டில் உள்ள பதிப்பையும் உள்நுழைவு முகவரியையும் பதிவு செய்து, விரிவான வெளியீட்டை உங்கள் சொந்த முனையத்தில் வைத்துக்கொண்டு முயற்சியை மீண்டும் செய்யவும். மீண்டும் முயற்சி அல்லாத முதல் பிழையைப் படிக்கவும், பதிவின் கடைசி வரியை அல்ல. எந்த மதிப்பீட்டுக் கூறின் பெயரும் கூறப்படுவதற்கு முன் பதிவு நின்றால், போர்வை இன்னும் உங்கள் பிரச்சினை அல்ல. அந்த நேரத்தில் அதைச் சேர்ப்பது பின்னர் நீங்கள் பாதுகாக்க வேண்டிய மேற்பரப்பை மட்டுமே விரிவாக்குகிறது.
openconnect --version
openconnect --verbose --user="$VPN_USER" vpn.example.com </dev/nullபதிவை உள்ளூரில் வைத்திருங்கள், ஏனெனில் குக்கிகள் மற்றும் அங்கீகாரப் பதில்கள் அணுகல் பொருள். அரட்டை இழையில் ஒட்டப்படும் தடம், மதிப்பீட்டு படி பாதிப்பில்லாததாகத் தோன்றினாலும், சான்றுகளின் கசிவு. பிழையின் உரையையும் ஓட்டத்தில் அது தோன்றிய இடத்தையும் பகிருங்கள், ஒருபோதும் பேலோடை அல்ல.
படி 2: ஸ்கிரிப்ட் சுயவிவரத்திற்குள் செல்வதற்கு முன் அதைப் படிக்கவும்
போர்வை நீங்கள் மதிப்பாய்வு செய்த திருத்தத்தின் அளவுக்கே நம்பகமானது, எனவே அந்தத் திருத்தத்தைப் பின் செய்து அதன் ஹாஷை ஒப்புதல் குறிப்புக்கு அருகில் சேமிக்கவும். கீழே உள்ள இரண்டு கட்டளைகள் ஒரு வரியும் படிக்காமல் கைரேகை மற்றும் மலிவான தொடரியல் சரிபார்ப்பைத் தருகின்றன. அவை அடுத்த நபருக்கு நிலையான குறிப்பையும் தருகின்றன, கோப்பு தொகுப்பு மேலாண்மைக்கு வெளியே வாழும்போது இது முக்கியம். எந்தக் கட்டளையும் ஸ்கிரிப்ட் என்ன செய்கிறது என்று சொல்லவில்லை, எனவே அவற்றை இயக்கி படிப்பதைத் தொடரவும்.
sha256sum ./vpn-csd-wrapper.sh
bash -n ./vpn-csd-wrapper.shமுழு கோப்பையும் நான்கு கேள்விகளை மனதில் வைத்துப் படிக்கவும்: அது வெளிச்செல்லும் HTTP அழைப்புகளைச் செய்கிறதா, சான்று கோப்புகள் அல்லது சூழல் மாறிகளைப் படிக்கிறதா, தற்காலிக அடைவுக்கு வெளியே எழுதுகிறதா, மேலும் ஏதும் அளவிடாமல் தேர்ச்சி நிலையை ஏதேனும் கிளை தெரிவிக்கிறதா. அந்தக் கடைசி வடிவம், பதிவு வரியுடன் இணைக்கப்பட்ட கொள்கைத் தவிர்ப்பு. நகலெடுக்கப்பட்ட போர்வைகள் அதை நம்பத்தகுந்ததாகத் தோன்றும் சரிபார்ப்பின் பின்னால் கடத்துகின்றன. ஸ்கிரிப்ட் சாதனத்தைப் பார்ப்பதற்கு முன்பே சாதனம் நன்றாக உள்ளது என்று முடிவெடுத்தால், அங்கேயே நிற்கவும்.
தொகுக்கப்பட்ட பேலோடுகளையும் சரிபார்க்கவும், ஏனெனில் படிக்கக்கூடிய தலைப்பு கோப்பின் மீதமுள்ள பகுதியைப் பற்றி எதையும் நிரூபிக்காது. மன்ற இழையிலிருந்து ஸ்கிரிப்ட்டைப் பதிவிறக்குவது, அதன் பெயர் உண்மையான ஹோஸ்ட் சரிபார்ப்பு கூறைப் போல ஒலிப்பதால் மட்டும் அதை நம்பகமானதாக்காது. யார் நிறுவியது, எங்கிருந்து வந்தது, எப்படி புதுப்பிக்கப்படும் என்பதைப் பதிவு செய்யவும்.
grep -nE 'base64 -d|xxd -r|eval |curl |wget ' ./vpn-csd-wrapper.shபடி 3: போர்வை எந்த அடையாளத்தின் கீழ் இயங்குகிறது என்பதைத் தேர்ந்தெடுக்கவும்
CSD, TNCC அல்லது HIP நிரல் இயங்கும்போது --csd-user சிறப்புரிமைகளைக் குறைக்கிறது. அந்தக் கணக்கு உள்ளூர் இயக்க ஏற்பாட்டின் ஒரு பகுதி, நுழைவாயிலுக்குச் சமர்ப்பிக்கப்படும் பயனர்பெயர் அல்ல.
போர்வைக்கு ஊடாடும் ஷெல் இல்லாத, sudo உரிமைகள் இல்லாத, தேவைப்படாத குழு உறுப்பினர் தகுதி இல்லாத பிரத்யேகக் கணக்கைக் கொடுக்கவும். ஸ்கிரிப்ட்டுக்கும் அது ஆய்வு செய்யும் குறிப்பிட்ட கோப்புகளுக்கும் படிக்கும் அணுகலைக் கொடுத்து, VPN சுயவிவரத்தைத் தொடுவதற்கு முன் சிறப்புரிமைக் குறைப்பைச் சோதிக்கவும். பிரச்சினையை இங்கே கண்டறிவது வாடிக்கையாளருக்குள் கண்டறிவதை விட மலிவு.
sudo -u vpn-csd /usr/local/libexec/vpn-csd-wrapper.shசிறப்புரிமைகளைக் குறைப்பது மோசமான ஸ்கிரிப்ட் ஏற்படுத்தக்கூடிய சேதத்தைக் கட்டுப்படுத்துகிறது. ஆனால் அது குறியீட்டை மதிப்பாய்வு செய்யாது, அறிக்கையை உண்மையாக்காது, நுழைவாயில் நிர்வாகி இந்தச் செயலாக்கத்தை சாதனக் கொள்கை நிறைவேற்றமாக ஏற்கிறார் என்பதை நிறுவாது.
படி 4: மாற்றத்தை மீளக்கூடியதாக வைத்திருங்கள்
சுயவிவரத்தைத் திருத்துவதற்கு முன் காப்புப்பிரதி எடுக்கவும், போர்வையை பதிப்புக் கட்டுப்பாட்டில் வைக்கவும், அதனால் மீளமைப்பு நகலைத் தேடுவதற்குப் பதிலாக அறியப்பட்ட ஹாஷை மீட்டெடுக்கும். ஸ்கிரிப்ட் பாதை, ஹாஷ், இயக்கப் பயனர் மற்றும் ஒப்புதல் அளித்தவரை ஒரே இடத்தில் எழுதவும்.
மீளமைக்க, விருப்பத்தை நீக்கி, வாடிக்கையாளரை மறுதொடக்கம் செய்து, அசல் பிழை திரும்புகிறதா என்பதை உறுதிப்படுத்தவும். மீளமைப்புக்குப் பிறகும் நுழைவாயில் உள்நுழைவை மறுத்தால், வேறு ஏதோவும் மாறியுள்ளது, அந்த வேறுபாட்டைக் கண்டறிவது போர்வையை மீண்டும் முயல்வதற்கு முன் வரும். மாற்ற சாளரம் முழுவதும் முந்தைய நகலை வைத்திருங்கள், அதாவது பெரும்பாலான குழுக்களுக்கு அடுத்த பராமரிப்பு சாளரம் கடக்கும் வரை.
வெற்றிகரமான வரிசைப்படுத்தலுக்குப் பிறகு ஒன்றல்ல, இரண்டைச் சரிபார்க்கவும்: சுரங்கப்பாதை எழுகிறது, மேலும் நிலைச் சரிபார்ப்பில் தோல்வியடைய வேண்டிய சாதனம் இன்னும் நிராகரிக்கப்படுகிறது. அனைவருக்கும் வேலை செய்யும் இணைப்பு, மதிப்பீடு உங்கள் மாற்றத்திலிருந்து தப்பியது என்பதற்கான ஆதாரம் அல்ல.
இரண்டாவது பிரச்சினையை உருவாக்கும் குறுக்குவழிகள்
தேவையான சரிபார்ப்புகளை இயக்காமல் உதவியாளர் இணக்கமான நிலையைத் தெரிவிக்க அனுமதிக்காதீர்கள், மற்றொரு இயக்க முறைமைக்குப் பொருந்தும் வகையில் தள அடையாளத்தை மேலெழுதாதீர்கள். வேறு தளம் என்று கூறுவது, உண்மையான சாதனம் கொள்கையை நிறைவேற்றுகிறது என்பதற்கான ஆதாரம் அல்ல. இது எதிர்கால ஒவ்வொரு உள்நுழைவிலும் பொய் சொல்லும் வாடிக்கையாளரை உங்களிடம் விட்டுச் செல்கிறது.
சேவையகச் சரிபார்ப்பை முடக்குவது, பழைய குக்கியை மீண்டும் இயக்குவது, மதிப்பாய்வு செய்யாத ஸ்கிரிப்ட்களை அடுக்குவது — இவை அனைத்தும் கண்காணிக்கக்கூடிய தோல்வியைக் கண்காணிக்க முடியாத ஒன்றால் மாற்றுகின்றன. நிறுவப்பட்ட வாடிக்கையாளர் ஆதரிக்கப்படும் ஓட்டத்தை முடிக்க முடியாவிட்டால், உங்களிடம் உள்ளதை வளைப்பதற்குப் பதிலாக அங்கீகரிக்கப்பட்ட மாற்றைக் கேளுங்கள்.
OpenConnect கையேடு --csd-wrapper மற்றும் --csd-user ஆகியவற்றைத் தனித்தனியாக ஆவணப்படுத்துகிறது, அதுவே முக்கியமான துப்பு: ஸ்கிரிப்ட்டும் அடையாளமும் இரண்டு முடிவுகள். அவற்றைத் தனித்தனியாக மதிப்பாய்வு செய்து இரண்டையும் எழுதுங்கள். பிறகு உள்நுழைவு கேட்பு, குறியீட்டை ஒட்டி தீர்க்கும் புதிராக இருப்பதில்லை.