OpenVPN PAM: login வாதம் ஒரு சேவை, பயனரல்ல
auth-pam செருகுநிரல் பாதைக்குப் பின் வரும் சொல் PAM அடுக்கைத் தேர்ந்தெடுக்கிறது. அந்த அடுக்கைப் படித்து, அதன் கணக்கு மூலத்தைக் கண்டறிந்து, சுயவிவரங்களைத் திருத்தும் முன் pamtester மூலம் சோதிக்கவும்.
சேவையகத்தில் பயனர் சேர்க்கப்பட்டார், கடவுச்சொல் சரியாகத் தட்டச்சு செய்யப்பட்டது, இருப்பினும் இணைப்பு AUTH_FAILED உடன் முடிகிறது. பொதுவாக செருகுநிரல் வரியே காரணத்தை விளக்குகிறது: செருகுநிரல் பாதைக்குப் பின் வரும் சொல் ஒரு PAM சேவைப் பெயர், எந்தத் தொகுதி கேள்விக்குப் பதில் அளிக்கிறது என்பதை அதுவே தீர்மானிக்கிறது. அது பயனர் பெயர் அல்ல, OpenVPN தானே படிக்கும் கடவுச்சொல் கோப்புக்கான சுட்டியும் அல்ல.
இரண்டாவது சொல் எதைத் தேர்ந்தெடுக்கிறது
கட்டமைப்பு வரி ஒரு செருகுநிரல் பாதையையும் ஒரு வாதத்தையும் எடுக்கிறது:
plugin /usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so openvpnஅந்த வாதம் சேவைப் பெயராக PAM நூலகத்திற்கு அனுப்பப்படுகிறது, எனவே /etc/pam.d/openvpn இல் உள்ள அடுக்கு இயங்குகிறது. அங்கே login எழுதினால் அதற்குப் பதிலாக ஊடாடும் உள்நுழைவுக் கொள்கை செயல்படும், உங்கள் விநியோகத்தில் அந்தக் கொள்கை சேர்க்கும் தொகுதிகளுடன்.
நிறுவப்பட்ட தொகுப்பு வழங்கும் செருகுநிரல் பாதையைப் பயன்படுத்துங்கள், மற்றொரு ஹோஸ்ட்டிலிருந்து நகலெடுத்த பாதையை அல்ல. கோப்புப் பெயரும் கோப்பகமும் விநியோகங்களுக்கு இடையே வேறுபடும், தவறான பாதை அங்கீகார நேரத்தில் அல்ல, தொடக்கத்திலேயே செருகுநிரல் ஏற்றல் பிழையுடன் தோல்வியடையும்.
அடுக்கு உண்மையில் கணக்குகளை எங்கிருந்து படிக்கிறது
PAM ஒரு அனுப்புநர். சேவைக் கோப்பு தொகுதிகளை வரிசையாகப் பட்டியலிடுகிறது, பதில் அளிக்கக்கூடிய முதல் தொகுதியே முடிவைத் தீர்மானிக்கிறது. pam_unix அழைக்கும் அடுக்கு உள்ளூர் கணக்குகளைப் படிக்கிறது; LDAP அல்லது RADIUS தொகுதியை அழைக்கும் அடுக்கு சான்றுகளை முற்றிலும் வேறொரு இடத்திற்கு அனுப்புகிறது.
சேவைப் பெயர் தீர்க்கும் கோப்பை, அது சேர்க்கும் அனைத்துடன் படியுங்கள்:
cat /etc/pam.d/openvpn
grep -H pam_ /etc/pam.d/openvpn /etc/pam.d/common-authஅடுக்கு முடிவை ஒரு கோப்பகத்திடம் ஒப்படைத்தால், உள்ளூர் கணக்கைச் சேர்ப்பதால் எதுவும் மாறாது. அது உள்ளூர் கணக்குகளைப் படித்தால், கோப்பகத்தில் பயனரை உருவாக்குவதாலும் எதுவும் மாறாது. அடுக்கு தேடும் இடத்தில் கணக்கு இருக்க வேண்டும், இத்தகைய பெரும்பாலான அறிக்கைகளில் முழு நோயறிதலும் இதுவே.
ஒரு முயற்சி, இரண்டு பதிவுகள்
ஒரு தோல்வியடைந்த இணைப்பை இரு பக்கங்களிலும் இணைத்துப் பாருங்கள். OpenVPN பதிவு செருகுநிரல் முடிவையும் வாடிக்கையாளரின் மறுப்பையும் காட்டுகிறது; கணினி அங்கீகாரப் பதிவு எந்தத் தொகுதி இயங்கியது, என்ன முடிவெடுத்தது என்பதைக் காட்டுகிறது. இரண்டையும் ஒரே நேரச் சாளரத்தில் படிப்பதே காணாமற்போன சேவைக் கோப்பை பின்தள நேரமுடிவிலிருந்து பிரிக்கிறது. அங்கீகாரப் பதிவில் இடைவெளி இருந்தால் அடுக்கை அடையவே இல்லை என்பது பொருள்.
journalctl -u openvpn-server@server --since "-2 min"
journalctl -t sshd -t sudo --since "-2 min"VPN-ஐயும் அடுக்கையும் ஒரே நேரத்தில் பிழைதிருத்த வேண்டாம் என்பதற்காக, PAM பேசும் ஒரு கருவியால் சேவையை நேரடியாகச் சோதியுங்கள். அதே சேவைப் பெயரும் கணக்கும் கொண்ட நேரடிச் சோதனை வெற்றியடைந்தால், சிக்கல் கணக்கில் அல்ல, டீமன் சான்றுகளை எப்படி அனுப்புகிறது என்பதில் சுருங்கும்.
pamtester openvpn alice authenticateகன்சோலில் வேலை செய்யும் அதே சான்றுகளுடன் நேரடிச் சோதனை தோல்வியடைந்தால், அடுக்கு நீங்கள் கருதிய கணக்கு மூலத்தைப் படிக்கவில்லை. அது வெற்றியடைந்தால், செருகுநிரல் நடத்தும் உரையாடலையும் வாடிக்கையாளர் உண்மையில் அனுப்பியதையும் பாருங்கள். வேண்டுமென்றே தவறான கடவுச்சொல்லுடனும் ஒரு முறை இயக்குங்கள், மறுப்புக்கும் தொகுதிப் பிழைக்கும் உள்ள வேறுபாடு தெரியும். அந்த இரண்டு முடிவுகளும் VPN பதிவில் ஒரே மாதிரி தெரியும், இங்கே முற்றிலும் வேறுபடும்.
தனிச்சேவை login திருத்துவதை விட மேல்
VPN-இன் தேவைகள் ஊடாடும் உள்நுழைவிலிருந்து வேறுபடும்போது, பொதுவாக வேறுபடும், அதற்கு அதன் சொந்தச் சேவைக் கோப்பைக் கொடுங்கள். login அல்லது common-auth திருத்துவது அவற்றைச் சேர்க்கும் ஒவ்வொரு நிரலின் கொள்கையையும் மாற்றும், இதற்குத் தொடர்பில்லாத உள்நுழைவுச் சிக்கலைப் பிழைதிருத்தும் அடுத்த நபர் உங்கள் மாற்றத்தைப் பெற்றுக்கொள்வார்.
தேவையான தொகுதிகளை ஒரு சிறிய சேவைக் கோப்பில் நகலெடுங்கள், வரிசையைத் தெளிவாக வைத்திருங்கள், யார் உரிமையாளர் என்பதைக் குறிப்பிடுங்கள். கடவுச்சொல் மீட்டமைப்பு பயனில்லை எனத் தோன்றும்போது சரிபார்க்க வேண்டியது அதே கோப்புதான்.
வாடிக்கையாளர் என்ன அனுப்புகிறது, என்ன அனுப்புவதில்லை
வாடிக்கையாளர் பயனர் பெயரையும் கடவுச்சொல்லையும் அது ஆதரிக்கும் கேட்பு அல்லது கோப்பு வழியாக வழங்குகிறது. சேவையகச் செருகுநிரல் அந்த மதிப்புகளை PAM உரையாடலுக்கு அனுப்புகிறது; அவற்றை சேவையகத்தின் கட்டமைப்பிலிருந்து படிக்கவில்லை. கடவுச்சொல்லை வரையறுப்பது போல் தோன்றும் சேவையகப் பக்க வரி அதைச் செய்யாது, எந்தச் சுயவிவரத் திருத்தமும் கணக்கை உருவாக்காது.
பயனர் பெயரும் கடவுச்சொல்லும் வாடிக்கையாளர் சான்றிதழ்களுடன் சேர்ந்து இருக்கலாம், PAM-ஐ இயக்குவது சான்றிதழ்களைச் சரிபார்ப்பதை நிறுத்த காரணம் அல்ல. பயன்பாட்டு அமைப்பு நினைத்த அடுக்குகளை வைத்திருந்து கணக்கு மூலத்தை மட்டும் சரிசெய்யுங்கள்.
ஏற்பு இரு பக்கமானது: நோக்கமான கணக்கு வெற்றியடைகிறது, மறுக்கப்பட வேண்டிய கணக்கு இன்னும் தோல்வியடைகிறது. auth-pam செருகுநிரலின் README சேவை வாதத்தையும் அது முன்னால் வைத்திருக்கக்கூடிய பின்தளங்களையும் விவரிக்கிறது, நீங்கள் கட்டப்போகும் அமைப்பை உறுதிசெய்ய வேண்டிய இடம் அதுவே.