லினக்ஸில் கடவுச்சொல் கொள்கையை உருவாக்குதல்

மீண்டும் வணக்கம்! புதிய பாடப்பிரிவு குழுவிற்கான வகுப்புகள் நாளை தொடங்குகிறது "லினக்ஸ் நிர்வாகி", இது சம்பந்தமாக, நாங்கள் தலைப்பில் ஒரு பயனுள்ள கட்டுரையை வெளியிடுகிறோம்.

லினக்ஸில் கடவுச்சொல் கொள்கையை உருவாக்குதல்

முந்தைய டுடோரியலில் எப்படி பயன்படுத்துவது என்று சொன்னோம் pam_cracklibகணினிகளில் கடவுச்சொற்களை மிகவும் சிக்கலானதாக மாற்ற Red Hat 6 அல்லது CentOS. Red Hat 7 இல் pam_pwquality மாற்றப்பட்டது cracklib என pam கடவுச்சொற்களை சரிபார்க்க இயல்புநிலை தொகுதி. தொகுதி pam_pwquality Ubuntu மற்றும் CentOS மற்றும் பல OS களிலும் ஆதரிக்கப்படுகிறது. உங்கள் கடவுச்சொல் வலிமை தரநிலைகளை பயனர்கள் ஏற்றுக்கொள்வதை உறுதிசெய்ய, கடவுச்சொல் கொள்கைகளை உருவாக்குவதை இந்த தொகுதி எளிதாக்குகிறது.

நீண்ட காலமாக, கடவுச்சொற்களுக்கான பொதுவான அணுகுமுறை பயனரை பெரிய எழுத்து, சிற்றெழுத்து, எண்கள் அல்லது பிற குறியீடுகளைப் பயன்படுத்தும்படி கட்டாயப்படுத்துவதாகும். கடவுச்சொல் சிக்கலுக்கான இந்த அடிப்படை விதிகள் கடந்த பத்து ஆண்டுகளில் பரவலாக விளம்பரப்படுத்தப்பட்டுள்ளன. இது நல்ல நடைமுறையா இல்லையா என்பது பற்றி நிறைய விவாதங்கள் நடந்தன. இத்தகைய சிக்கலான நிபந்தனைகளை அமைப்பதற்கு எதிரான முக்கிய வாதம் என்னவென்றால், பயனர்கள் கடவுச்சொற்களை காகிதத் துண்டுகளில் எழுதி பாதுகாப்பற்ற முறையில் சேமித்து வைக்கின்றனர்.

சமீபத்தில் கேள்விக்குள்ளாக்கப்பட்ட மற்றொரு கொள்கை பயனர்கள் தங்கள் கடவுச்சொற்களை ஒவ்வொரு x நாட்களுக்கும் மாற்றும்படி கட்டாயப்படுத்துகிறது. இதுவும் பாதுகாப்பிற்கு கேடு விளைவிப்பதாக சில ஆய்வுகள் தெரிவிக்கின்றன.

இந்த விவாதங்களின் தலைப்பில் பல கட்டுரைகள் எழுதப்பட்டுள்ளன, இது ஒரு கண்ணோட்டத்தை அல்லது இன்னொரு கருத்தை உறுதிப்படுத்துகிறது. ஆனால் இந்த கட்டுரையில் நாம் விவாதிப்பது இதுவல்ல. பாதுகாப்புக் கொள்கையை நிர்வகிப்பதற்குப் பதிலாக கடவுச்சொல் சிக்கலை எவ்வாறு சரியாக அமைப்பது என்பது பற்றி இந்தக் கட்டுரை பேசும்.

கடவுச்சொல் கொள்கை அமைப்புகள்

கடவுச்சொல் கொள்கை விருப்பங்களையும் ஒவ்வொன்றின் சுருக்கமான விளக்கத்தையும் கீழே காண்பீர்கள். அவற்றில் பல தொகுதியில் உள்ள அளவுருக்களைப் போலவே உள்ளன cracklib. இந்த அணுகுமுறை உங்கள் கொள்கைகளை மரபு அமைப்பிலிருந்து எளிதாக போர்ட் செய்வதை எளிதாக்குகிறது.

  • டிஃபோக் - உங்கள் பழைய கடவுச்சொல்லில் இல்லாத உங்கள் புதிய கடவுச்சொல்லில் உள்ள எழுத்துக்களின் எண்ணிக்கை. (இயல்புநிலை 5)
  • மின்னன் - குறைந்தபட்ச கடவுச்சொல் நீளம். (இயல்புநிலை 9)
  • கடன் – பெரிய எழுத்துகளைப் பயன்படுத்துவதற்கான அதிகபட்ச வரவுகள் (அளவுரு > 0 எனில்), அல்லது குறைந்தபட்ச தேவையான பெரிய எழுத்துகளின் எண்ணிக்கை (அளவுரு <0 எனில்). இயல்புநிலை 1.
  • கடன் — சிற்றெழுத்து எழுத்துகளைப் பயன்படுத்துவதற்கான அதிகபட்ச வரவுகள் (அளவுரு > 0 எனில்), அல்லது குறைந்தபட்ச தேவையான சிற்றெழுத்து எழுத்துக்கள் (அளவுரு <0 எனில்). இயல்புநிலை 1.
  • கடன் - இலக்கங்களைப் பயன்படுத்துவதற்கான அதிகபட்ச வரவுகள் (அளவுரு > 0 எனில்), அல்லது குறைந்தபட்ச தேவையான இலக்கங்களின் எண்ணிக்கை (அளவுரு <0 எனில்). இயல்புநிலை 1.
  • கடன் — மற்ற சின்னங்களைப் பயன்படுத்துவதற்கான அதிகபட்ச வரவுகளின் எண்ணிக்கை (அளவுரு > 0 எனில்), அல்லது குறைந்தபட்ச தேவையான மற்ற குறியீடுகளின் எண்ணிக்கை (அளவுரு <0 எனில்). இயல்புநிலை 1.
  • சிறிய வகுப்பு - தேவையான வகுப்புகளின் எண்ணிக்கையை அமைக்கிறது. வகுப்புகளில் மேலே உள்ள அளவுருக்கள் (அப்பர் கேஸ் எழுத்துகள், சிறிய எழுத்துகள், எண்கள், பிற எழுத்துக்கள்) அடங்கும். இயல்புநிலை 0.
  • அதிகபட்சமாக மீண்டும் செய்யவும் - கடவுச்சொல்லில் ஒரு எழுத்தை அதிகபட்சமாக எத்தனை முறை மீண்டும் செய்ய முடியும். இயல்புநிலை 0.
  • அதிகபட்ச வகுப்பு மீண்டும் — ஒரு வகுப்பில் அதிகபட்ச தொடர்ச்சியான எழுத்துக்கள். இயல்புநிலை 0.
  • gecocheck – பயனரின் GECOS ஸ்டிரிங்க்களிலிருந்து கடவுச்சொல் ஏதேனும் உள்ளதா என்பதைச் சரிபார்க்கிறது. (பயனர் தகவல், அதாவது உண்மையான பெயர், இருப்பிடம் போன்றவை) இயல்புநிலை 0 (ஆஃப்) ஆகும்.
  • கட்டளைப்பாதை – கிராக்லிப் அகராதிகளுக்குச் செல்வோம்.
  • கெட்ட வார்த்தைகள் - கடவுச்சொற்களில் தடைசெய்யப்பட்ட இடத்தைப் பிரிக்கப்பட்ட சொற்கள் (நிறுவனத்தின் பெயர், வார்த்தை "கடவுச்சொல்" போன்றவை).

கடன்களின் கருத்து விசித்திரமாகத் தோன்றினால், பரவாயில்லை, இது சாதாரணமானது. பின்வரும் பிரிவுகளில் இதைப் பற்றி மேலும் பேசுவோம்.

கடவுச்சொல் கொள்கை கட்டமைப்பு

உள்ளமைவுக் கோப்புகளைத் திருத்தத் தொடங்கும் முன், அடிப்படைக் கடவுச்சொல் கொள்கையை முன்கூட்டியே எழுதுவது நல்ல நடைமுறை. எடுத்துக்காட்டாக, பின்வரும் சிரம விதிகளைப் பயன்படுத்துவோம்:

  • கடவுச்சொல்லில் குறைந்தபட்சம் 15 எழுத்துகள் இருக்க வேண்டும்.
  • கடவுச்சொல்லில் ஒரே எழுத்து இரண்டு முறைக்கு மேல் திரும்பக் கூடாது.
  • ஒரு கடவுச்சொல்லில் எழுத்து வகுப்புகள் நான்கு முறை வரை மீண்டும் மீண்டும் செய்யப்படலாம்.
  • கடவுச்சொல் ஒவ்வொரு வகுப்பிலிருந்தும் எழுத்துக்களைக் கொண்டிருக்க வேண்டும்.
  • புதிய கடவுச்சொல் பழையதை விட 5 புதிய எழுத்துக்களைக் கொண்டிருக்க வேண்டும்.
  • GECOS சரிபார்ப்பை இயக்கு.
  • "கடவுச்சொல், பாஸ், வார்த்தை, புட்டோரியஸ்" என்ற வார்த்தைகளைத் தடைசெய்க

இப்போது கொள்கையை வகுத்துள்ளோம், கோப்பைத் திருத்தலாம் /etc/security/pwquality.confகடவுச்சொல் சிக்கலான தேவைகளை அதிகரிக்க. சிறந்த புரிதலுக்கான கருத்துகளுடன் ஒரு எடுத்துக்காட்டு கோப்பு கீழே உள்ளது.

# Make sure 5 characters in new password are new compared to old password
difok = 5
# Set the minimum length acceptable for new passwords
minlen = 15
# Require at least 2 digits
dcredit = -2
# Require at least 2 upper case letters
ucredit = -2
# Require at least 2 lower case letters
lcredit = -2
# Require at least 2 special characters (non-alphanumeric)
ocredit = -2
# Require a character from every class (upper, lower, digit, other)
minclass = 4
# Only allow each character to be repeated twice, avoid things like LLL
maxrepeat = 2
# Only allow a class to be repeated 4 times
maxclassrepeat = 4
# Check user information (Real name, etc) to ensure it is not used in password
gecoscheck = 1
# Leave default dictionary path
dictpath =
# Forbid the following words in passwords
badwords = password pass word putorius

நீங்கள் கவனித்தபடி, எங்கள் கோப்பில் உள்ள சில அளவுருக்கள் தேவையற்றவை. உதாரணமாக, அளவுரு minclass புலங்களைப் பயன்படுத்தி வகுப்பிலிருந்து குறைந்தபட்சம் இரண்டு எழுத்துக்களையாவது ஏற்கனவே பயன்படுத்துவதால் தேவையற்றது [u,l,d,o]credit. எந்த வகுப்பையும் 4 முறை திரும்பத் திரும்பச் சொல்வதை நாங்கள் தடை செய்திருப்பதால் (எங்கள் பட்டியலில் உள்ள அனைத்து சொற்களும் சிற்றெழுத்து எழுத்துக்களில் எழுதப்பட்டுள்ளன) பயன்படுத்த முடியாத சொற்களின் பட்டியல் தேவையற்றது. உங்கள் கடவுச்சொல் கொள்கையை உள்ளமைக்க அவற்றை எவ்வாறு பயன்படுத்துவது என்பதை விளக்குவதற்காக மட்டுமே இந்த விருப்பங்களைச் சேர்த்துள்ளேன்.
உங்கள் கொள்கையை உருவாக்கியதும், அடுத்த முறை உள்நுழையும்போது, ​​பயனர்களின் கடவுச்சொற்களை மாற்றும்படி கட்டாயப்படுத்தலாம். அமைப்பு.

நீங்கள் கவனித்திருக்கும் மற்றொரு விசித்திரமான விஷயம் என்னவென்றால், வயல்வெளிகள் [u,l,d,o]credit எதிர்மறை எண்ணைக் கொண்டிருக்கும். ஏனென்றால், 0ஐ விட அதிகமான அல்லது அதற்கு சமமான எண்கள் உங்கள் கடவுச்சொல்லில் உள்ள எழுத்தைப் பயன்படுத்துவதற்குக் கடன் கொடுக்கும். புலத்தில் எதிர்மறை எண் இருந்தால், குறிப்பிட்ட அளவு தேவை என்று அர்த்தம்.

கடன்கள் என்றால் என்ன?

நான் அவற்றை கடன்கள் என்று அழைக்கிறேன், ஏனென்றால் அது அவர்களின் நோக்கத்தை முடிந்தவரை துல்லியமாக வெளிப்படுத்துகிறது. அளவுரு மதிப்பு 0 ஐ விட அதிகமாக இருந்தால், கடவுச்சொல் நீளத்திற்கு "x" க்கு சமமான பல "எழுத்து வரவுகளை" சேர்க்கிறீர்கள். எடுத்துக்காட்டாக, அனைத்து அளவுருக்கள் என்றால் (u,l,d,o)credit 1 ஆக அமைக்கப்பட்டு, தேவையான கடவுச்சொல் நீளம் 6 ஆக இருந்தது, பின்னர் நீளத் தேவையைப் பூர்த்தி செய்ய உங்களுக்கு 6 எழுத்துகள் தேவைப்படும், ஏனெனில் ஒவ்வொரு பெரிய எழுத்தும், சிறிய எழுத்தும், இலக்கமும் அல்லது மற்ற எழுத்துகளும் உங்களுக்கு ஒரு கிரெடிட்டைக் கொடுக்கும்.

நீங்கள் நிறுவினால் dcredit 2 இல், நீங்கள் கோட்பாட்டளவில் 9 எழுத்துகள் கொண்ட கடவுச்சொல்லைப் பயன்படுத்தலாம் மற்றும் எண்களுக்கு 2 எழுத்து வரவுகளைப் பெறலாம், பின்னர் கடவுச்சொல் நீளம் ஏற்கனவே 10 ஆக இருக்கலாம்.

இந்த உதாரணத்தைப் பாருங்கள். கடவுச்சொல் நீளத்தை 13 ஆகவும், dcredit ஐ 2 ஆகவும், மற்ற அனைத்தையும் 0 ஆகவும் அமைத்தேன்.

$ pwscore
 Thisistwelve
 Password quality check failed:
  The password is shorter than 13 characters

$ pwscore
 Th1sistwelve
 18

கடவுச்சொல் 13 எழுத்துகளுக்கு குறைவாக இருந்ததால் எனது முதல் சோதனை தோல்வியடைந்தது. அடுத்த முறை நான் "I" என்ற எழுத்தை "1" என்ற எண்ணுக்கு மாற்றினேன் மற்றும் எண்களுக்கு இரண்டு வரவுகளைப் பெற்றேன், இது கடவுச்சொல்லை 13 ஆக மாற்றியது.

கடவுச்சொல் சோதனை

தொகுப்பு libpwquality கட்டுரையில் விவரிக்கப்பட்டுள்ள செயல்பாட்டை வழங்குகிறது. இது ஒரு நிரலுடன் வருகிறது pwscore, இது கடவுச்சொல் சிக்கலை சரிபார்க்க வடிவமைக்கப்பட்டுள்ளது. கடன்களை சரிபார்க்க மேலே பயன்படுத்தினோம்.
பயன்பாடு pwscore இருந்து படிக்கிறது ஸ்ட்டின். பயன்பாட்டை இயக்கி உங்கள் கடவுச்சொல்லை எழுதவும், அது ஒரு பிழை அல்லது 0 முதல் 100 வரையிலான மதிப்பைக் காண்பிக்கும்.

கடவுச்சொல் தர மதிப்பெண் அளவுருவுடன் தொடர்புடையது minlen கட்டமைப்பு கோப்பில். பொதுவாக, 50 க்கும் குறைவான மதிப்பெண் "சாதாரண கடவுச்சொல்" என்றும், அதற்கு மேல் மதிப்பெண் "வலுவான கடவுச்சொல்" என்றும் கருதப்படுகிறது. தரச் சரிபார்ப்புகளைக் கடந்து செல்லும் எந்த கடவுச்சொல்லும் (குறிப்பாக கட்டாய சரிபார்ப்பு cracklib) அகராதி தாக்குதல்களைத் தாங்க வேண்டும், மேலும் 50 க்கு மேல் மதிப்பெண் கொண்ட கடவுச்சொல்லை அமைப்பில் வைத்திருக்க வேண்டும் minlen முன்னிருப்பாக கூட brute force தாக்குதல்கள்.

முடிவுக்கு

சரிசெய்தல் pwquality - பயன்பாட்டின் சிரமத்துடன் ஒப்பிடும்போது இது எளிதானது மற்றும் எளிமையானது cracklib நேரடி கோப்பு திருத்தத்துடன் pam. இந்த வழிகாட்டியில், Red Hat 7, CentOS 7 மற்றும் Ubuntu கணினிகளில் கடவுச்சொல் கொள்கைகளை அமைக்கும்போது உங்களுக்குத் தேவையான அனைத்தையும் நாங்கள் உள்ளடக்கியுள்ளோம். கடன்கள் பற்றிய கருத்தைப் பற்றியும் நாங்கள் பேசினோம், இது பற்றி அரிதாகவே விரிவாக எழுதப்பட்டுள்ளது, எனவே இந்த தலைப்பு பெரும்பாலும் முன்னர் சந்திக்காதவர்களுக்கு தெளிவாகத் தெரியவில்லை.

ஆதாரங்கள்:

pwquality மனிதன் பக்கம்
pam_pwquality மேன் பக்கம்
pwcore மேன் பக்கம்

பயனுள்ள இணைப்புகள்:

பாதுகாப்பான கடவுச்சொற்களைத் தேர்ந்தெடுப்பது - புரூஸ் ஷ்னியர்
Lorrie Faith Cranor CMU இல் தனது கடவுச்சொல்லைப் பற்றி விவாதிக்கிறார்
என்ட்ரோபியில் பிரபலமற்ற xkcd கார்ட்டூன்

ஆதாரம்: www.habr.com

கருத்தைச் சேர்