لينڪس ۾ پاسورڊ پاليسي ٺاهڻ

هڪ ڀيرو ٻيهر ڀليڪار! نئين ڪورس گروپ جا ڪلاس سڀاڻي شروع ٿيندا "لينڪس ايڊمنسٽريٽر"ان سلسلي ۾، اسان موضوع تي هڪ مفيد مضمون شايع ڪري رهيا آهيون.

لينڪس ۾ پاسورڊ پاليسي ٺاهڻ

پوئين سبق ۾ اسان توهان کي ٻڌايو ته ڪيئن استعمال ڪجي pam_cracklibسسٽم تي پاسورڊ ٺاهڻ لاء وڌيڪ پيچيده ريڊ هيٽ 6 يا CentOS. Red Hat 7 ۾ pam_pwquality تبديل ڪيو cracklib جيئن pam پاسورڊ چيڪ ڪرڻ لاءِ ڊفالٽ ماڊل. ماڊل pam_pwquality Ubuntu ۽ CentOS تي پڻ سپورٽ ڪئي وئي، انهي سان گڏ ٻيا ڪيترائي او ايس. هي ماڊل ان کي آسان بڻائي ٿو پاسورڊ پاليسيون ٺاهڻ کي يقيني بڻائڻ لاءِ ته صارف توهان جي پاسورڊ جي طاقت جي معيار کي قبول ڪن.

گهڻي وقت تائين، پاس ورڊ جو عام طريقو استعمال ڪندڙ کي مجبور ڪرڻ هو ته هو اپر ڪيز، لوئر ڪيز، انگ، يا ٻيون علامتون استعمال ڪن. پاسورڊ جي پيچيدگي لاء اهي بنيادي قاعدا گذريل ڏهن سالن ۾ وڏي پيماني تي ترقي ڪئي وئي آهي. اتي تمام گهڻو بحث ڪيو ويو آهي ته ڇا اهو سٺو عمل آهي يا نه. اهڙين پيچيده حالتن کي ترتيب ڏيڻ جي خلاف بنيادي دليل اهو هو ته صارفين ڪاغذن جي ٽڪرن تي پاسورڊ لکندا آهن ۽ انهن کي غير محفوظ طور تي ذخيرو ڪندا آهن.

هڪ ٻي پاليسي جنهن کي تازو سوالن ۾ سڏيو ويو آهي صارفين کي هر x ڏينهن ۾ پنهنجو پاسورڊ تبديل ڪرڻ تي مجبور ڪري ٿو. ڪجھ اڀياس ڪيا ويا آھن جيڪي ڏيکاريا آھن ته اھو پڻ حفاظت لاء نقصانڪار آھي.

انهن بحثن جي موضوع تي ڪيترائي مضمون لکيا ويا آهن، جيڪي هڪ نقطي يا ٻئي نقطي کي ثابت ڪن ٿا. پر اهو نه آهي جيڪو اسان هن مضمون ۾ بحث ڪنداسين. هي آرٽيڪل سيڪيورٽي پاليسي کي منظم ڪرڻ جي بجاءِ پاسورڊ جي پيچيدگي کي صحيح طريقي سان ڪيئن ترتيب ڏيڻ بابت ڳالهائيندو.

پاسورڊ پاليسي سيٽنگون

هيٺ توهان ڏسندا پاسورڊ پاليسي جا اختيار ۽ هر هڪ جو مختصر بيان. انھن مان گھڻا ماڊل ۾ پيراگراف سان ملندڙ جلندڙ آھن cracklib. اهو طريقو توهان جي پاليسين کي ورثي واري نظام مان پورٽ ڪرڻ آسان بڻائي ٿو.

  • مون کي افسوس آهي - توهان جي نئين پاسورڊ ۾ ڪردارن جو تعداد جيڪو توهان جي پراڻي پاسورڊ ۾ موجود نه هجڻ گهرجي. (ڊفالٽ 5)
  • منٽ - گھٽ ۾ گھٽ پاسورڊ ڊگھائي. (ڊفالٽ 9)
  • ڪريڊٽ - اپر ڪيس اکرن کي استعمال ڪرڻ لاءِ ڪريڊٽ جو وڌ ۾ وڌ تعداد (جيڪڏھن پيراميٽر > 0)، يا گھٽ ۾ گھٽ گھربل تعداد اپر ڪيس اکرن جو (جيڪڏھن پيرا ميٽر <0). ڊفالٽ 1 آهي.
  • ڪريڊٽ - لوئر ڪيز اکرن کي استعمال ڪرڻ لاءِ ڪريڊٽ جو وڌ ۾ وڌ تعداد (جيڪڏھن پيرا ميٽر > 0)، يا گھٽ ۾ گھٽ گھربل تعداد لوئر ڪيز اکرن جو (جيڪڏھن پيرا ميٽر <0). ڊفالٽ 1 آهي.
  • ڪريڊٽ - انگن کي استعمال ڪرڻ لاء ڪريڊٽ جو وڌ ۾ وڌ تعداد (جيڪڏهن پيٽرولر > 0)، يا گهٽ ۾ گهٽ گهربل انگن جو تعداد (جيڪڏهن پيٽرولر <0). ڊفالٽ 1 آهي.
  • هو مڃي ٿو - ٻين علامتن کي استعمال ڪرڻ لاءِ ڪريڊٽ جو وڌ ۾ وڌ تعداد (جيڪڏھن پيرا ميٽر > 0)، يا گھٽ ۾ گھٽ گھربل تعداد ٻين نشانين جو (جيڪڏھن پيرا ميٽر <0). ڊفالٽ 1 آهي.
  • منٽ ڪلاس - گھربل طبقن جو تعداد مقرر ڪريو. طبقن ۾ مٿيون پيٽرول شامل آهن (اپر ڪيس اکر، لوئر ڪيس اکر، انگ، ٻيا اکر). ڊفالٽ 0 آهي.
  • وڌ کان وڌ ٻيهر ورجائڻ - وڌ ۾ وڌ تعداد جو هڪ ڪردار پاسورڊ ۾ بار بار ڪري سگهجي ٿو. ڊفالٽ 0 آهي.
  • maxclassrepeat - هڪ طبقي ۾ لڳاتار اکرن جو وڌ ۾ وڌ تعداد. ڊفالٽ 0 آهي.
  • gecoscheck - چيڪ ڪري ٿو ته پاسورڊ ۾ صارف جي GECOS تارن مان ڪي لفظ شامل آهن. (صارف جي معلومات، يعني اصل نالو، مقام، وغيره) ڊفالٽ 0 (آف) آهي.
  • dictpath - اچو ته هلون cracklib لغات ڏانهن.
  • badwords - خلا کان ڌار ڪيل لفظ جيڪي پاس ورڊ ۾ منع ٿيل آهن (ڪمپني جو نالو، لفظ ”پاسورڊ“ وغيره).

جيڪڏهن قرضن جو تصور عجيب لڳي، اهو ٺيڪ آهي، اهو عام آهي. اسان ان بابت وڌيڪ ڳالهائينداسين هيٺين حصن ۾.

پاسورڊ پاليسي جي ٺاھ جوڙ

ان کان اڳ جو توھان ڪنفيگريشن فائلن کي ايڊٽ ڪرڻ شروع ڪريو، اھو بھتر آھي ته ھڪ بنيادي پاسورڊ پاليسي اڳ ۾ ئي لکو. مثال طور، اسان هيٺ ڏنل مشڪلاتي ضابطن کي استعمال ڪنداسين:

  • پاسورڊ ۾ گهٽ ۾ گهٽ 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 تي مقرر ڪيو، ڊي ڪريڊٽ کي 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 configuration فائل ۾. عام طور تي، 50 کان گهٽ جي اسڪور کي "عام پاسورڊ" سمجهيو ويندو آهي، ۽ ان جي مٿان هڪ سکور کي "مضبوط پاسورڊ" سمجهيو ويندو آهي. ڪو به پاسورڊ جيڪو معيار جي چڪاس پاس ڪري ٿو (خاص طور تي جبري تصديق cracklib) لغت جي حملن کي منهن ڏيڻ گهرجي، ۽ سيٽنگ سان گڏ 50 کان مٿي اسڪور سان پاسورڊ minlen جيتوڻيڪ ڊفالٽ طور brute force حملا.

ٿڪل

adjustment pwquality - استعمال جي تڪليف جي مقابلي ۾ اهو آسان ۽ سادو آهي cracklib سڌو فائل ايڊيٽنگ سان pam. هن رهنمائي ۾، اسان هر شي کي ڍڪي ڇڏيو آهي توهان کي ضرورت پوندي جڏهن پاسورڊ پاليسين سيٽ ڪرڻ تي Red Hat 7، CentOS 7، ۽ حتي Ubuntu سسٽم. اسان قرضن جي تصور جي باري ۾ پڻ ڳالهايو، جنهن جي باري ۾ گهٽ ۾ گهٽ تفصيل سان لکيو ويو آهي، تنهنڪري اهو موضوع اڪثر ڪري انهن لاء اڻڄاتل رهي ٿو جيڪي اڳ ۾ ان سان منهن نه ڪيو هو.

ذريعن:

pwquality man page
pam_pwquality man صفحو
pwscore man page

مددگار ڪڙيون:

محفوظ پاسورڊ چونڊڻ - بروس شنيئر
لوري فيٿ ڪرنر CMU تي هن جي پاسورڊ پڙهائي تي بحث ڪيو
Entropy تي بدنام xkcd ڪارٽون

جو ذريعو: www.habr.com

تبصرو شامل ڪريو