مرحبا مرة أخرى! ستبدأ الفصول غداً في المجموعة الجديدة من
دورة Linux Administrator ، وفي هذا الصدد ننشر مقالة مفيدة حول الموضوع.

في الدرس الأخير ، تحدثنا عن كيفية استخدام
pam_cracklib
لتعقيد كلمات المرور على أنظمة
Red Hat 6 أو CentOS. في Red Hat 7 ، استبدل
cracklib
كوحدة
pam
للتحقق من كلمة المرور. يتم
pam_pwquality
وحدة
pam_pwquality
أيضًا على Ubuntu و CentOS ، وكذلك على العديد من أنظمة التشغيل الأخرى. تسهل هذه الوحدة إنشاء سياسات كلمة المرور للتأكد من قبول المستخدمين لمعايير تعقيد كلمة المرور الخاصة بك.
لفترة طويلة ، كانت الطريقة المعتادة لكلمات المرور هي إجبار المستخدم على استخدام الأحرف أو الأحرف الكبيرة أو الصغيرة أو الأحرف الأخرى فيها. لقد تم الترويج لقواعد تعقيد كلمة المرور الأساسية هذه بنشاط خلال السنوات العشر الماضية. كان هناك الكثير من النقاش حول ما إذا كانت هذه ممارسة جيدة أم لا. وكانت الحجة الرئيسية ضد وضع مثل هذه الظروف الصعبة هي أن المستخدمين يكتبون كلمات المرور على الورق ويخزنونها بطريقة غير آمنة.
هناك سياسة أخرى تم استدعاؤها مؤخراً موضع تساؤل يدفع المستخدمين إلى تغيير كلمات المرور الخاصة بهم كل يوم. تم إجراء العديد من الدراسات التي أظهرت أن هذا يضر أيضًا بالسلامة.
تمت كتابة الكثير من المقالات حول موضوع هذه المناقشات التي تبرر وجهة النظر هذه أو تلك. لكن هذا ليس ما سنناقشه في هذا المقال. ستخبرك هذه المقالة بكيفية تعيين تعقيد كلمة المرور بشكل صحيح ، وليس إدارة سياسة الأمان.
إعدادات سياسة كلمة المرورستجد أدناه إعدادات سياسة كلمة المرور ووصفًا موجزًا لكل منها. العديد منهم يشبه المعلمات في وحدة
cracklib
. يسهل هذا النهج نقل سياساتك من النظام القديم.
- difok - عدد الأحرف في كلمة المرور الجديدة التي يجب ألا تكون موجودة في كلمة المرور القديمة. (الافتراضي هو 5)
- minlen - الحد الأدنى لطول كلمة المرور. (الافتراضي هو 9)
- ucredit - الحد الأقصى لعدد الأرصدة لاستخدام الأحرف الكبيرة (إذا كانت المعلمة> 0) ، أو الحد الأدنى لعدد الأحرف الكبيرة (إذا كانت المعلمة <0). الافتراضي هو 1.
- lcredit - الحد الأقصى لعدد الأرصدة لاستخدام الأحرف الصغيرة (إذا كانت المعلمة> 0) ، أو الحد الأدنى لعدد الأحرف الصغيرة (إذا كانت المعلمة <0). الافتراضي هو 1.
- dcredit - الحد الأقصى لعدد الأرصدة لاستخدام الأرقام (إذا كانت المعلمة> 0) ، أو الحد الأدنى لعدد الأرقام المطلوبة (إذا كانت المعلمة <0). الافتراضي هو 1.
- ocredit - الحد الأقصى لعدد الأرصدة لاستخدام الرموز الأخرى (إذا كانت المعلمة> 0) ، أو الحد الأدنى المطلوب للرموز الأخرى (إذا كانت المعلمة <0). الافتراضي هو 1.
- minclass - يحدد عدد الفصول المطلوبة. تشمل الفئات المعلمات أعلاه (الحالة العلوية والصغيرة والأرقام والأحرف الأخرى). الافتراضي هو 0.
- maxrepeat - الحد الأقصى لعدد مرات تكرار الحرف في كلمة المرور. الافتراضي هو 0.
- maxclassrepeat - الحد الأقصى لعدد الأحرف المتتالية في فئة واحدة. الافتراضي هو 0.
- gecoscheck - للتحقق مما إذا كانت كلمة المرور تحتوي على أي كلمات من خطوط GECOS للمستخدم. (معلومات المستخدم ، مثل الاسم الحقيقي ، والموقع ، وما إلى ذلك) الافتراضي 0 (إيقاف).
- dictpath - واسمحوا ل cracklib القواميس.
- الكلمات المفتاحية - الكلمات المفصولة بمساحة محظورة في كلمات المرور (اسم الشركة ، كلمة "كلمة المرور" ، إلخ).
إذا كان مفهوم القروض يبدو غريباً ، فلا بأس ، فهذا جيد. سنتحدث عن هذا بمزيد من التفصيل في الأقسام التالية.
تكوين سياسة كلمة المرورقبل البدء في تحرير ملفات التكوين ، من الممارسات الجيدة الكتابة المسبقة لسياسة كلمة المرور الأساسية. على سبيل المثال ، سوف نستخدم قواعد التعقيد التالية:
- يجب ألا يقل طول كلمة المرور عن 15 حرفًا.
- في كلمة المرور ، يجب عدم تكرار نفس الحرف أكثر من مرتين.
- في كلمة المرور ، يمكن تكرار فئات الأحرف حتى أربع مرات.
- يجب أن تحتوي كلمة المرور على أحرف من كل فصل.
- يجب أن تحتوي كلمة المرور الجديدة على 5 أحرف جديدة مقارنةً بالحرف القديم.
- تمكين التحقق من صحة GECOS.
- رفض الكلمات "كلمة المرور ، تمرير ، كلمة ، putorius"
الآن ، بمجرد وضع السياسة ، يمكننا تعديل ملف
/etc/security/pwquality.conf
لتعزيز متطلبات تعقيد كلمة المرور. فيما يلي مثال لملف التعليق لفهم أفضل.
كما لاحظت ، بعض المعلمات في ملفنا زائدة عن الحاجة. على سبيل المثال ،
minclass
المعلمة
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 أحرف والحصول على رصيدين للأحرف للأرقام ، ومن ثم يمكن أن تكون كلمة المرور 10.
نلقي نظرة على هذا المثال. قمت بتعيين طول كلمة المرور إلى 13 ، وتعيين dcredit إلى 2 ، وكل شيء آخر إلى 0.
$ pwscore Thisistwelve Password quality check failed: The password is shorter than 13 characters $ pwscore Th1sistwelve 18
أخفق الفحص الأول لأن كلمة المرور كانت أقل من 13 حرفًا. في المرة التالية التي غيرت فيها الحرف "أنا" إلى الرقم "1" ، وحصلت على رصيدين للأرقام ، أي ما يعادل كلمة المرور بـ 13.
اختبار كلمة المرورتوفر حزمة
libpwquality
الوظيفة الموضحة في المقالة. كما يأتي مع برنامج
pwscore
، والذي تم تصميمه للتحقق من كلمة المرور للتعقيد. استخدمناها أعلاه للتحقق من القروض.
الأداة المساعدة
pwscore
يقرأ من
stdin . مجرد تشغيل الأداة المساعدة وكتابة كلمة المرور الخاصة بك ، وسوف يعطي خطأ أو قيمة 0 حتي 100.
ترتبط درجة جودة كلمة المرور
minlen
في ملف التكوين. بشكل عام ، يعتبر المؤشر الأقل من 50 كلمة "كلمة مرور عادية" ، وفوق ذلك "كلمة مرور قوية". يجب أن تصمد أي كلمة مرور
cracklib
إجراء
cracklib
الجودة (خاصة الشيكات القسرية لـ
cracklib
) أمام هجمات القاموس ، وكلمة مرور أعلى من 50 مع إعداد
minlen
الافتراضي
minlen
.
استنتاجيعد إعداد
pwquality
وسهلاً مقارنة بإزعاج استخدام
cracklib
مع التحرير المباشر لملفات
pam
. في هذا الدليل ، قمنا بتغطية كل ما تحتاجه لإعداد سياسات كلمة المرور على أنظمة Red Hat 7 و CentOS 7 وحتى أنظمة Ubuntu. تحدثنا أيضًا عن مفهوم القروض ، والتي نادراً ما تتم كتابتها بالتفصيل ، لذلك غالبًا ما ظل هذا الموضوع غير مفهوم بالنسبة لأولئك الذين لم يواجهوه من قبل.
مصادر:صفحة رجل pwqualityصفحة رجل pam_pwqualityصفحة رجل pwscoreروابط مفيدة:اختيار كلمات مرور آمنة - بروس شنيرلوري فيث كرانور تناقش دراسات كلمة المرور الخاصة بها في جامعة CMUالرسوم المتحركة xkcd سيئة السمعة على Entropy