Linuxలో పాస్‌వర్డ్ విధానాన్ని సృష్టిస్తోంది

మళ్ళీ హలో! కొత్త కోర్సు గ్రూప్‌లో తరగతులు రేపటి నుంచి ప్రారంభమవుతాయి "Linux అడ్మినిస్ట్రేటర్", ఈ విషయంలో, మేము అంశంపై ఉపయోగకరమైన కథనాన్ని ప్రచురిస్తున్నాము.

Linuxలో పాస్‌వర్డ్ విధానాన్ని సృష్టిస్తోంది

ఎలా ఉపయోగించాలో మునుపటి ట్యుటోరియల్‌లో మేము మీకు చెప్పాము 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.
  • gecoscheck – పాస్‌వర్డ్ వినియోగదారు యొక్క 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 నుండి చదువుతుంది stdin. యుటిలిటీని అమలు చేసి, మీ పాస్‌వర్డ్‌ను వ్రాయండి, అది లోపం లేదా 0 నుండి 100 వరకు విలువను ప్రదర్శిస్తుంది.

పాస్‌వర్డ్ నాణ్యత స్కోర్ పారామీటర్‌కు సంబంధించినది minlen కాన్ఫిగరేషన్ ఫైల్‌లో. సాధారణంగా, 50 కంటే తక్కువ స్కోర్‌ను "సాధారణ పాస్‌వర్డ్"గా పరిగణిస్తారు మరియు దాని పైన ఉన్న స్కోర్ "బలమైన పాస్‌వర్డ్"గా పరిగణించబడుతుంది. నాణ్యత తనిఖీలను పాస్ చేసే ఏదైనా పాస్‌వర్డ్ (ముఖ్యంగా నిర్బంధ ధృవీకరణ cracklib) డిక్షనరీ దాడులను తట్టుకోవాలి మరియు సెట్టింగ్‌తో 50 కంటే ఎక్కువ స్కోర్‌తో పాస్‌వర్డ్ ఉండాలి minlen డిఫాల్ట్‌గా కూడా brute force దాడులు.

తీర్మానం

సర్దుబాటు pwquality - ఉపయోగం యొక్క అసౌకర్యంతో పోలిస్తే ఇది సులభం మరియు సులభం cracklib డైరెక్ట్ ఫైల్ ఎడిటింగ్‌తో pam. ఈ గైడ్‌లో, Red Hat 7, CentOS 7 మరియు Ubuntu సిస్టమ్‌లలో కూడా పాస్‌వర్డ్ విధానాలను సెటప్ చేసేటప్పుడు మీకు కావాల్సిన అన్నింటినీ మేము కవర్ చేసాము. మేము రుణాల భావన గురించి కూడా మాట్లాడాము, ఇది చాలా అరుదుగా వివరంగా వ్రాయబడుతుంది, కాబట్టి ఈ అంశం ఇంతకుముందు ఎదుర్కొని లేని వారికి తరచుగా అస్పష్టంగా ఉంటుంది.

వర్గాలు:

pwquality మ్యాన్ పేజీ
pam_pwquality మ్యాన్ పేజీ
pwscore మ్యాన్ పేజీ

ఉపయోగకరమైన లింకులు:

సురక్షిత పాస్‌వర్డ్‌లను ఎంచుకోవడం - బ్రూస్ ష్నీయర్
లారీ ఫెయిత్ క్రానోర్ CMUలో తన పాస్‌వర్డ్ అధ్యయనాలను చర్చిస్తుంది
ఎంట్రోపీపై ఇన్‌ఫేమస్ xkcd కార్టూన్

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి