ProtectHome vs TOTP விதை: VPN உள்நுழைவு ஏன் தோல்வியடைகிறது
சரியான குறியீடும் விதையைத் திறக்க முடியாத PAM தொகுதிக்கு உதவாது. drop-in மற்றும் எழுதக்கூடிய நிலைப் பாதைக்கு இடையே தேர்ந்தெடுத்து, பின்னர் அலகைச் சரிபார்க்கவும்.
அங்கீகாரச் செயலி புதிய ஆறு இலக்கக் குறியீட்டைக் காட்டுகிறது, VPN அதை நிராகரிக்கிறது, அதே குறியீட்டை உங்கள் சொந்த ஷெல்லிலிருந்து சோதிக்கும்போது சரியாகச் சரிபார்க்கப்படுகிறது. இந்த இடைவெளியே முழுக் கதை. பதிவு ரகசியத்தைத் திறக்க முடியாத PAM தொகுதி தவறான குறியீட்டைப் போலவே தோன்றும் தோல்வியைத் திருப்பித் தருகிறது, வீட்டு அடைவுகளை மறைக்கும் சேவைச் சூழலே இதற்கான பொதுவான காரணம். எந்த அனுமதியையும் தளர்த்தும் முன், நீங்கள் மூன்று நிலைகளில் எதில் இருக்கிறீர்கள் என்பதைத் தீர்மானிக்கவும்.
இந்த மூன்று தோல்விகளில் எது?
முதலாவது தொகுதியால் படிக்கவே முடியாத ரகசியம். இரண்டாவது படிக்க முடியும் ஆனால் புதுப்பிக்க முடியாத ரகசியம். மூன்றாவது உண்மையிலேயே தவறான குறியீடு, பொதுவாக கடிகார நகர்வு அல்லது மீண்டும் பயன்படுத்தப்பட்ட மதிப்பால்.
ஒரு தோல்வியடைந்த முயற்சிக்கான சேவைப் பதிவும் கணினி அங்கீகாரப் பதிவும் படித்து அவற்றைப் பிரிக்கவும், பின்னர் செருகுநிரல் எந்த PAM சேவையை ஏற்றுகிறது, அந்தச் சேவை எந்தத் தொகுதி வரியைப் பயன்படுத்துகிறது என்பதை உறுதிப்படுத்தவும். பொதுவான அங்கீகாரத் தோல்விச் செய்தி அவற்றை வேறுபடுத்தாது, கைமுறைச் சோதனை வெற்றியடைந்தாலும் வேறுபடுத்தாது, ஏனெனில் உங்கள் ஷெல் சேவையின் சூழல் அல்ல.
சேவை மட்டும் தோல்வியடையும்போது அலகின் கோப்பு முறைமைப் பார்வையே வழக்கமான குற்றவாளி.
systemctl show -p ProtectHome -p ProtectSystem -p ReadWritePaths [email protected]
ls -l /var/lib/vpn-otp/*/.google_authenticator 2>/dev/null | head -n 20விருப்பம் A: ரகசியத்தை வீட்டிலிருந்து வெளியே நகர்த்தவும்
சேவை /home ஐ மறைக்கும்போது அந்தப் பாதுகாப்பை வைத்திருக்க விரும்பினால், ரகசியத்தை அது பார்க்கக்கூடிய இடத்தில் சேமிக்கவும். தொகுதி secret= பாதையையும் கோப்புச் செயல்பாடுகளைச் செய்யும் user= கணக்கையும் ஏற்றுக்கொள்கிறது, இது மையச் சேமிப்பகம் பல அடையாளங்களுக்குச் சேவை செய்ய உதவுகிறது.
இது ஒழுங்கான விருப்பம், மேலும் இதற்கே அதிக கவனம் தேவை, ஏனெனில் பகிரப்பட்ட சேமிப்பகம் ஒரு அடைவையே ஒவ்வொரு கணக்கின் பாதுகாப்பு எல்லையாக்குகிறது.
auth required pam_google_authenticator.so secret=/var/lib/vpn-otp/${USER}/.google_authenticator user=vpn-otpநம்புவதற்கு முன் மூன்று விஷயங்களைச் சரிபார்க்கவும்: கணக்கு உள்ளது, தொகுதியின் வேலைச் செயல்முறை அதற்கு மாற முடியும், கோப்புகள் கட்டுப்படுத்தும் முறைகளுடன் அதற்குச் சொந்தமானவை. user= உடன் ~ அல்லது வீட்டு மாறிப் பாதையைப் பயன்படுத்த வேண்டாம், பாதை வேலை செய்ய தொகுதியின் உரிமைச் சரிபார்ப்புகளை முடக்க வேண்டாம். கடவுச்சொல் நிலையையும் மீதமுள்ள அடுக்கையும் அப்படியே வைத்திருக்கவும்.
விருப்பம் B: கோப்பை விட்டுவிட்டு பாதையைத் திறக்கவும்
ரகசியம் பயனரின் வீட்டிலேயே இருக்க வேண்டுமானால், ஹோஸ்ட்டில் உள்ள ஒவ்வொரு வீட்டையும் வெளிப்படுத்தாமல் அந்த ஒரு அடைவை மட்டும் உள்ளடக்கிய பார்வை அலகுக்குத் தேவை. drop-in சாண்ட்பாக்ஸ் செய்யப்பட்ட வீட்டின் கீழ் குறுகிய வரம்புடைய பிணைப்பு மவுண்ட்டைச் சேர்க்க முடியும்.
இது பயனர் வாரியான உரிமையை மாதிரியாக வைத்திருக்கிறது, சாண்ட்பாக்ஸ் மாறும்போதெல்லாம் மதிப்பாய்வு செய்ய வேண்டிய அலகு மாற்றத்தின் விலையில்.
இரண்டு வரம்புகளை எளிதில் தவறவிடலாம். சாண்ட்பாக்ஸ் மறைக்கும் அடைவின் கீழ் சேர்க்கப்படும் படிக்க-மட்டும் பாதை அதை வெளிப்படுத்தாது, ஏனெனில் பெற்றோர் அங்கேயே இல்லை. மேலும் தொகுதி நிலையைப் புதுப்பிக்க வேண்டுமானால் மவுண்ட் எழுதக்கூடியதாக இருக்க வேண்டும், இது அடுத்த விருப்பத்தைக் கொண்டு வருகிறது. drop-in ஐ /usr/lib கீழ் உள்ள தொகுக்கப்பட்ட அலகைத் திருத்துவதற்குப் பதிலாக தனிக் கோப்பாக எழுதவும், தொகுப்பு மேம்படுத்தல் அதை அமைதியாக ரத்து செய்யாதிருக்க.
விருப்பம் C: சாண்ட்பாக்ஸை வைத்து நிலை எழுத்துகளைச் சரிசெய்யவும்
ரகசியத்தைப் படிப்பது அங்கீகாரத்தின் பாதி மட்டுமே. தொகுதி நேர விலகல் தகவல், மறுஇயக்கப் பாதுகாப்பு அல்லது ஒரு கணக்கியை மீண்டும் எழுதலாம், படிக்கும் சரிபார்ப்பைக் கடந்த கோப்பும் எழுதுவதில் தோல்வியடையலாம்.
அந்தத் தோல்வி இந்த முயற்சியில் அல்ல, அடுத்த முயற்சியில் மோசமான குறியீடாகத் தெரிகிறது, அதனால்தான் கடிகார நகர்வுடன் தவறாகப் புரிந்து கொள்ளப்படுகிறது.
முழு வீட்டையும் எழுதக்கூடியதாக்குவதற்குப் பதிலாக அதற்குத் தனி எழுதக்கூடிய அடைவைக் கொடுத்து ரகசியத்தின் பாதையை அங்கு செலுத்தவும். அடைவின் உரிமையாளர், கோப்பு முறைமையின் காலி இடம், அலகு வேறெங்கு எழுத்துகளைக் கட்டுப்படுத்துகிறதா என்பதை உறுதிப்படுத்தவும். பின்னர் தொடர்ச்சியாக இரண்டு உள்நுழைவுகளைச் சோதிக்கவும், ஏனெனில் இரண்டாவது எழுத்துப் பாதையை நிரூபிக்கிறது, முதலாவது படிப்பை மட்டும்.
நீங்களாக அல்ல, சேவையாகச் சரிபார்க்கவும்
முக்கியமான ஒவ்வொரு சரிபார்ப்பும் அலகின் சாண்ட்பாக்ஸுக்குள் அலகின் அடையாளத்துடன் இயங்க வேண்டும்.
root ஆக வெற்றியடையும் கட்டளை கோப்பு உள்ளது என்பதை மட்டும் சொல்லும். உண்மையான சேவை வழியாக உள்நுழைவு தொகுதி ரகசியத்தைப் படிக்க, பயன்படுத்த, தேவையானதைத் திரும்ப எழுத முடியுமா என்பதைச் சொல்லும்.
இறுதியாக, தேவையை அப்படியே வைத்திருங்கள். பூஜ்ய கடவுச்சொல் விருப்பத்தைச் சேர்ப்பது, படிக்க-மட்டும் தோல்விகளை ஏற்பது அல்லது சாண்ட்பாக்ஸை அகற்றுவது — இவை அனைத்தும் கொள்கையை மாற்றி அறிகுறியை மறையச் செய்யும். குறியீட்டைச் சமர்ப்பிக்க வேண்டிய பயனர் ரகசியத்தை அணுக முடியாதபோதும் நிராகரிக்கப்பட வேண்டும்.