لینکس میں پاس ورڈ پالیسی بنانا

ہیلو دوبارہ! نئے کورس گروپ کی کلاسز کل سے شروع ہوں گی۔ "لینکس ایڈمنسٹریٹر"اس سلسلے میں ہم اس موضوع پر ایک مفید مضمون شائع کر رہے ہیں۔

لینکس میں پاس ورڈ پالیسی بنانا

پچھلے ٹیوٹوریل میں ہم نے آپ کو استعمال کرنے کا طریقہ بتایا تھا۔ pam_cracklibسسٹمز پر پاس ورڈ زیادہ پیچیدہ بنانے کے لیے ریڈ ہیٹ 6 یا CentOS۔ ریڈ ہیٹ 7 میں pam_pwquality تبدیل کر دیا cracklib کے طور پر pam پاس ورڈ چیک کرنے کے لیے ڈیفالٹ ماڈیول۔ ماڈیول pam_pwquality Ubuntu اور CentOS کے ساتھ ساتھ بہت سے دوسرے OS پر بھی تعاون یافتہ ہے۔ یہ ماڈیول پاس ورڈ کی پالیسیاں بنانا آسان بناتا ہے تاکہ یہ یقینی بنایا جا سکے کہ صارفین آپ کے پاس ورڈ کی مضبوطی کے معیارات کو قبول کرتے ہیں۔

ایک طویل عرصے سے، پاس ورڈز کے لیے عام طریقہ یہ تھا کہ صارف کو بڑے، چھوٹے، نمبر، یا دیگر علامتیں استعمال کرنے پر مجبور کیا جائے۔ پاس ورڈ کی پیچیدگی کے لیے ان بنیادی اصولوں کو پچھلے دس سالوں میں بڑے پیمانے پر فروغ دیا گیا ہے۔ اس بارے میں کافی بحث ہوئی ہے کہ آیا یہ اچھا عمل ہے یا نہیں۔ اس طرح کے پیچیدہ حالات قائم کرنے کے خلاف بنیادی دلیل یہ تھی کہ صارف کاغذ کے ٹکڑوں پر پاس ورڈ لکھ کر انہیں غیر محفوظ طریقے سے محفوظ کر لیتے ہیں۔

ایک اور پالیسی جس پر حال ہی میں سوال اٹھایا گیا ہے صارفین کو ہر ایکس دن میں اپنا پاس ورڈ تبدیل کرنے پر مجبور کرتا ہے۔ کچھ مطالعات ہوئے ہیں جن سے معلوم ہوا ہے کہ یہ حفاظت کے لیے بھی نقصان دہ ہے۔

ان مباحث کے موضوع پر بہت سے مضامین لکھے گئے ہیں، جو کسی نہ کسی نقطہ نظر کی تصدیق کرتے ہیں۔ لیکن یہ وہ نہیں ہے جس پر ہم اس مضمون میں بات کریں گے۔ یہ مضمون سیکیورٹی پالیسی کو منظم کرنے کے بجائے پاس ورڈ کی پیچیدگی کو درست طریقے سے ترتیب دینے کے بارے میں بات کرے گا۔

پاس ورڈ پالیسی کی ترتیبات

ذیل میں آپ پاس ورڈ پالیسی کے اختیارات اور ہر ایک کی مختصر تفصیل دیکھیں گے۔ ان میں سے بہت سے ماڈیول کے پیرامیٹرز سے ملتے جلتے ہیں۔ cracklib. یہ طریقہ آپ کی پالیسیوں کو میراثی نظام سے پورٹ کرنا آسان بناتا ہے۔

  • difok - آپ کے نئے پاس ورڈ میں حروف کی تعداد جو آپ کے پرانے پاس ورڈ میں موجود نہیں ہونی چاہیے۔ (پہلے سے طے شدہ 5)
  • منن - پاس ورڈ کی کم از کم لمبائی۔ (پہلے سے طے شدہ 9)
  • یوکریڈٹ - بڑے حروف (اگر پیرامیٹر > 0) استعمال کرنے کے لیے کریڈٹ کی زیادہ سے زیادہ تعداد، یا بڑے حروف کی کم از کم مطلوبہ تعداد (اگر پیرامیٹر <0)۔ ڈیفالٹ 1 ہے۔
  • کریڈٹ - چھوٹے حروف (اگر پیرامیٹر > 0) استعمال کرنے کے لیے کریڈٹ کی زیادہ سے زیادہ تعداد، یا چھوٹے حروف کی کم از کم مطلوبہ تعداد (اگر پیرامیٹر <0)۔ ڈیفالٹ 1 ہے۔
  • ڈی کریڈٹ - ہندسوں کے استعمال کے لیے کریڈٹ کی زیادہ سے زیادہ تعداد (اگر پیرامیٹر > 0)، یا ہندسوں کی کم از کم مطلوبہ تعداد (اگر پیرامیٹر <0)۔ ڈیفالٹ 1 ہے۔
  • کریڈٹ — دیگر علامتوں کے استعمال کے لیے کریڈٹ کی زیادہ سے زیادہ تعداد (اگر پیرامیٹر > 0)، یا دیگر علامتوں کی کم از کم مطلوبہ تعداد (اگر پیرامیٹر <0)۔ ڈیفالٹ 1 ہے۔
  • کم کلاس - مطلوبہ کلاسوں کی تعداد مقرر کرتا ہے۔ کلاسوں میں مندرجہ بالا پیرامیٹرز (اپر کیس حروف، لوئر کیس حروف، نمبر، دیگر حروف) شامل ہیں۔ ڈیفالٹ 0 ہے۔
  • زیادہ سے زیادہ دہرانا - پاس ورڈ میں ایک حرف کو زیادہ سے زیادہ بار دہرایا جا سکتا ہے۔ ڈیفالٹ 0 ہے۔
  • maxclassrepeat - ایک کلاس میں لگاتار حروف کی زیادہ سے زیادہ تعداد۔ ڈیفالٹ 0 ہے۔
  • gecoscheck - چیک کرتا ہے کہ آیا پاس ورڈ میں صارف کے GECOS سٹرنگز سے کوئی الفاظ شامل ہیں۔ (صارف کی معلومات، یعنی اصلی نام، مقام، وغیرہ) ڈیفالٹ 0 (آف) ہے۔
  • dictpath - آئیے کریک لیب لغات کی طرف چلتے ہیں۔
  • برے الفاظ - جگہ سے الگ کیے گئے الفاظ جو پاس ورڈز میں ممنوع ہیں (کمپنی کا نام، لفظ "پاس ورڈ" وغیرہ)۔

اگر قرضوں کا تصور عجیب لگتا ہے تو یہ ٹھیک ہے، یہ معمول کی بات ہے۔ اس کے بارے میں ہم درج ذیل حصوں میں مزید بات کریں گے۔

پاس ورڈ پالیسی کی ترتیب

اس سے پہلے کہ آپ کنفیگریشن فائلوں میں ترمیم کرنا شروع کریں، پہلے سے ایک بنیادی پاس ورڈ پالیسی لکھنا ایک اچھا عمل ہے۔ مثال کے طور پر، ہم درج ذیل مشکل قواعد استعمال کریں گے:

  • پاس ورڈ کی لمبائی کم از کم 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 مین پیج

کارآمد روابط:

محفوظ پاس ورڈز کا انتخاب - بروس شنئیر
Lorrie Faith Cranor CMU میں اپنے پاس ورڈ کے مطالعہ پر تبادلہ خیال کرتے ہیں۔
اینٹروپی پر بدنام زمانہ xkcd کارٹون

ماخذ: www.habr.com

نیا تبصرہ شامل کریں