الحد من محاولات إدخال كلمة المرور على نظام لينكس لحماية الخدمات الحيوية

  • يسمح لك تكوين وحدات PAM مثل pam_faillock و pam_tally2 بحظر الحسابات بعد عدة محاولات فاشلة على Red Hat و Debian و Ubuntu.
  • يؤدي تعديل MaxAuthTries في sshd_config إلى الحد من عدد المحاولات لكل اتصال SSH، مما يكمل سياسات الحظر على مستوى النظام.
  • تتولى ملفات مثل /etc/login.defs و /etc/shadow وأدوات مثل change و passwd إدارة انتهاء صلاحية كلمة المرور والمعلمات العامة.
  • تعمل وحدات pam_cracklib و pam_pwquality على تعزيز تعقيد كلمة المرور، مما يمنع المفاتيح الضعيفة وإعادة الاستخدام غير الآمن.

الأمان عن طريق الحد من محاولات إدخال كلمة المرور في نظام لينكس

الحد من محاولات إدخال كلمة المرور في لينكس ليس هذا مجرد نزوة لدى مديري الأنظمة المتخوفين، بل هو أحد أكثر الإجراءات فعاليةً لإيقاف هجمات التخمين العشوائي والوصول غير المصرح به، سواءً في بيئات أجهزة الكمبيوتر المكتبية أو الخوادم. إذا كان جهاز الكمبيوتر الخاص بك يحتوي على معلومات حساسة أو يتصل بالإنترنت، فستحتاج إلى تأمين هذا الجزء من النظام. قم بمراجعة شبكتك المحلية.

بالإضافة إلى اختيار كلمة مرور قوية، قم بتكوين أقفال مؤقتة أو دائمة بعد عدة حالات فشل. هذا أمرٌ بالغ الأهمية: فهو يُبطئ المهاجمين، ويُولّد المزيد من السجلات لأغراض التدقيق، ويُمكّنك من دمج هذه الحماية مع سياسات كلمات المرور الأخرى (مثل انتهاء الصلاحية، والتعقيد، وإعادة الاستخدام، إلخ). دعونا نُلقي نظرةً متأنيةً ولكن مُفصّلةً على كيفية تطبيق ذلك في مختلف التوزيعات وعلى مختلف مستويات النظام.

تم قفل الحساب بسبب محاولات تسجيل دخول فاشلة على Red Hat و CentOS ومشتقاتها

في التوزيعات مبني على نظام Red Hat (RHEL، CentOS، Rocky، AlmaLinux...)تتم إدارة حظر الحسابات بسبب المحاولات الفاشلة باستخدام وحدة إدارة الوصول المتميز (PAM). pam_faillockتتحكم هذه الوحدة في عدد محاولات تسجيل الدخول الفاشلة المسموح بها، ومدة قفل الحساب، والمستخدمين المتأثرين (بما في ذلك، إذا رغبت في ذلك، المستخدم الجذر).

لتطبيق هذه السياسة، ستحتاج إلى تعديل ملفات PAM العامة، عادةً /etc/pam.d/system-auth وفي بعض النسخ، أيضاً /etc/pam.d/password-authتعمل هذه الملفات كقوالب لمعظم خدمات المصادقة على النظام (تسجيل الدخول إلى وحدة التحكم، sudo، SSH، إلخ).

تحتوي هذه الملفات على أسطر مشابهة لهذه، ضمن قسم المصادقة y حساب:

auth required pam_faillock.so preauth silent audit deny=2 unlock_time=120
auth pam_faillock.so authfail audit deny=2 unlock_time=120
account required pam_faillock.so

السطر الأول قبل المصادقة الفعلية (المصادقة المسبقة)يتم تشغيل العملية الثانية عند فشل المصادقة، أما العملية الثالثة فهي مسؤولة عن التحقق من حالة قفل الحساب خلال مرحلة حسابمن خلال تعديل المعايير، يمكنك ضبط السياسة وفقًا لاحتياجاتك.

أكثر المعايير شيوعاً لـ pam_faillock هي:

  • التدقيقيُمكّن هذا الخيار من تسجيل محاولات تسجيل الدخول بالتفصيل، بحيث تبقى آثارها في سجلات النظام (على سبيل المثال، في / فار / السجل / آمنة).
  • deny=2يُحدد هذا الخيار الحد الأقصى لعدد محاولات إدخال كلمة المرور الفاشلة قبل قفل الحساب. في هذا المثال، هو 2، ولكن يمكنك زيادته (3، 5، 10...).
  • unlock_time=120يشير الرمز : إلى مدة الحظر بالثواني. هنا، ستكون المدة 120 ثانية (دقيقتان) حتى يتم إعادة تنشيط الحساب تلقائيًا.
  • صامتإذا كان موجوداً، لا يُظهر للمستخدم أنه قد تم حظرهببساطة، يتوقف النظام عن قبول عمليات تسجيل الدخول، مما يجعله أقل "إسهاباً" بالنسبة للمهاجم.

ومن التفاصيل المهمة أنه، بشكل افتراضي، تم استبعاد المستخدم الجذر من هذه الكتلةإذا كنت ترغب في تطبيق نفس القواعد عليه أيضًا، فأنت بحاجة إلى إضافة المعلمة even_deny_root في سطور pam_faillock ضمن قسم المصادقة. هذا يعزز الأمان، ولكن يجب عليك مراعاة مخاطر فقدان الوصول في حال ارتكاب الكثير من الأخطاء.

عندما يتم قفل الحساب ولا تستخدم المعلمة صامتيمكن للنظام عرض رسائل تحذيرية صريحة تُنبه المستخدم إلى تجاوزه عدد المحاولات المسموح به. يُعد هذا مفيدًا في بيئات الاختبار للتحقق من الإعدادات، مع أنه من الأفضل عادةً في بيئة الإنتاج عدم تقديم معلومات كثيرة.

لعرض محاولات تسجيل الدخول الفاشلة لمستخدم معين، يمكنك استخدام الأمر التالي على أنظمة Red Hat قفل الفشل بالإشارة إلى الحساب الذي تهتم به:

faillock --user lionel

يظهر هذا الأمر كم عدد المحاولات الفاشلة التي تراكمت لدى المستخدم؟بما في ذلك عنوان IP المستخدم في حالة SSH وتفاصيل أخرى ذات صلة بالتدقيق. بالإضافة إلى ذلك، يمكنك دائمًا مراجعة ما يظهر في / فار / السجل / آمنةحيث سيتم تسجيل هذه الأحداث الأمنية.

الحد من محاولات إدخال كلمة المرور في لينكس

تم قفل الحساب بسبب محاولات تسجيل دخول فاشلة في دبيان وأوبونتو

في حالة دبيان وأوبونتو ومشتقاتهالمنطق متشابه، لكن وحدة PAM المستخدمة تتغير. تقليديًا، كانت تُستخدم pam_tally2 لحساب المحاولات الفاشلة وحظر الحسابات تلقائيًا، على الرغم من أنه يُنصح في الإصدارات الحديثة بالترقية إلى pam_faillockومع ذلك، لا يزال pam_tally2 موجودًا بكثرة في العديد من الأدلة والبيئات.

لتطبيق قفل بناءً على عدد المحاولات الفاشلة في نظام دبيان النموذجي، عادةً ما تقوم بتحرير الملف /etc/pam.d/common-authوهو ما يحدد سياسة المصادقة القياسية لمعظم الخدمات المحلية. يمكنك إضافة سطر كهذا إليه:

auth required pam_tally2.so onerr=fail deny=3 unlock_time=120 audit even_deny_root root_unlock_time=600

بهذا التكوين، النظام تم حظر الحساب بعد 3 محاولات فاشلة.يحتفظ النظام بالقفل لمدة 120 ثانية للمستخدمين العاديين ولمدة 600 ثانية للمستخدم الجذر. علاوة على ذلك، في حالة حدوث أي خطأ في الوحدة (onerr=failلأسباب أمنية، يتم رفض الوصول بدلاً من السماح به.

المعايير الرئيسية لـ pam_tally2 هي:

  • onerr=failفي حالة وجود مشكلة في قراءة أو تحديث عداد المحاولات، يتم رفض المصادقة لتجنب ترك باب مفتوح عن طريق الخطأ.
  • deny=3الحد الأقصى لعدد المحاولات الفاشلة المسموح بها قبل قفل الحساب. عادةً ما تكون القيمة 3 معقولة جدًا من الناحية العملية.
  • unlock_time=120: المدة بالثواني التي سيظل فيها الحساب مغلقًا للمستخدمين العاديين.
  • التدقيق: يسجل معلومات فشل المصادقة (في دبيان، عادةً ما يكون /var/log/auth.log).
  • even_deny_root: يجبر الجذر أيضًا على أن يتم احتسابه في نظام القفل هذا، وهو أمر يجب استخدامه بحذر.
  • root_unlock_time=600: وقت قفل محدد لحساب الجذر، بالثواني، بغض النظر عن المستخدمين الآخرين.

عند تفعيل الحظر، ستظهر للمستخدم رسالة تُفيد بتعطيل حسابه مؤقتًا نتيجةً لكثرة محاولات تسجيل الدخول الفاشلة. يُمكّن هذا الإجراء المسؤول من رصد أي سلوك مُريب وتنبيه المستخدم إلى وجود مشكلة.

لعرض المحاولات الفاشلة المسجلة بواسطة pam_tally2 بالنسبة لمستخدم معين (على سبيل المثال، ليونيل)، يمكنك استخدام ما يلي:

pam_tally2 -u lionel

هذا الأمر يُظهر عدد حالات الفشل المتراكمة ويتيح لك ذلك إعادة ضبط العداد يدويًا عند الحاجة، مع خيارات إضافية. علاوة على ذلك، وكما هو الحال في ريد هات، لديك دائمًا خيار المراجعة. /var/log/auth.log للاطلاع على تفاصيل أكثر حول ما حدث في كل محاولة مصادقة.

قم بتقييد محاولات SSH باستخدام MaxAuthTries

تُعد إحدى نقاط الدخول الأكثر شيوعًا في خوادم لينكس هي SSHلذا، من الضروري التحكم في عدد محاولات المصادقة المسموح بها لكل اتصال. وهنا يأتي دور السياسة. MaxAuthTries، والذي يتم تكوينه في الملف / الخ / سه / sshd_config من خادم OpenSSH.

الفكرة بسيطة: يحدد MaxAuthTries الحد الأقصى لعدد محاولات المصادقة المسموح بها لكل اتصال SSHإذا تم تجاوز هذا الحد، يقوم الخادم بقطع الاتصال، مما يجبر المهاجم على بدء جلسة جديدة لمواصلة تجربة التركيبات، الأمر الذي يبطئ بشكل كبير هجمات القوة الغاشمة الآلية.

لضبط الإعدادات، ما عليك سوى تعديل ملف الإعدادات:

sudo nano /etc/ssh/sshd_config

بعد ذلك، حدد موقع سطر مثل هذا أو أضفه:

MaxAuthTries 3

بهذه القيمة، يُسمح بثلاث محاولات مصادقة فقط لكل اتصال SSHإذا كرر المستخدم نفس الخطأ عدة مرات، يقوم برنامج sshd بتسجيل خروجه. ولتفعيل التغيير، يجب إعادة تحميل الخدمة أو إعادة تشغيلها، على سبيل المثال باستخدام الأمر التالي:

sudo systemctl restart sshd

لا يحل MaxAuthTries محل وحدات PAM مثل pam_tally2 أو pam_faillock، بل يعمل بالتوازييتحكم خادم SSH في عدد المحاولات المتتالية المسموح بها في جلسة واحدة، بينما يحتفظ PAM بعدد إجمالي لكل مستخدم ويمكنه حظر حسابه على مستوى النظام.

بالإضافة إلى MaxAuthTries، يُنصح بدمج تدابير أمان SSH الأخرى لجعل الخدمة أكثر قوة:

  • قم بتغيير المنفذ الافتراضيإن التوقف عن استخدام المنفذ 22 ونقل SSH إلى منفذ أقل وضوحًا يساعد في تصفية العديد من عمليات المسح التلقائي الأساسية.
  • استخدم المفاتيح العامة بدلاً من كلمات المرور فقطيؤدي استخدام مفاتيح SSH للمصادقة إلى التخلص من مشكلة كلمات المرور الضعيفة، كما أنه أكثر قوة بكثير ضد هجمات القوة الغاشمة.
  • قم بتقييد المصادر باستخدام جدار الحماية أو قم بتكوين منطقة معزولة (DMZ).إن السماح باستخدام SSH فقط من عناوين IP محددة أو نطاقات شبكة معينة يضيف حاجزًا فعالًا للغاية على مستوى الشبكة.

نظام التشغيل PAM Linux

الحد من محاولات المصادقة المحلية باستخدام PAM

بالإضافة إلى بروتوكول SSH، المصادقة المحلية (وحدة التحكم، ووحدات طرفية النصوص، وsudo، ومدير العرض الرسومي) تتم إدارتها أيضًا باستخدام PAM. في دبيان وأوبونتو، على سبيل المثال، الملف /etc/pam.d/common-auth إنه جوهر هذا التكوين، وفي أنظمة ريد هات يتم لعب دوره مصادقة النظام (وأحيانًا مصادقة كلمة المرور).

بالإضافة إلى وحدات الحظر المخصصة مثل pam_faillock أو pam_tally2، تسمح بعض التوزيعات بتقييد محاولات تسجيل الدخول وأوقاتها مباشرةً من خلال login.defsفي هذا الملف، الموجود في /etc/login.defsيتم الإعلان عن قيم مثل ما يلي:

  • تسجيل الدخول_إعادة المحاولة: الحد الأقصى لعدد المحاولات المسموح بها عند مطالبة تسجيل الدخول قبل إيقاف العملية.
  • نفذ الوقت المسموح للدخول: الحد الأقصى للوقت، بالثواني، الذي يُسمح لجلسة تسجيل الدخول بالبقاء فيه في انتظار إدخال المستخدم.

على سبيل المثال، إذا قمت بالتعديل تسجيل الدخول_إعادة المحاولة مع حدّ ثلاث كلمات مرور، لن يُتاح للمستخدم سوى ثلاث محاولات لإدخال كلمة المرور في جلسة تسجيل دخول واحدة قبل أن يُغلق النظام تلك المحاولة، مما يُجبره على إعادة العملية. لا يُقفل النظام الحساب بشكل مباشر، ولكنه يُؤدي إلى ذلك. عدد المحاولات المسموح بها في كل جلسة.

في نفس الملف login.defs يمكنك أيضًا تعديل معايير الأمان الأخرى ذات الصلة، مثل:

  • مرور_ماكس_أيام: الحد الأقصى لعدد الأيام التي يمكن فيها استخدام كلمة المرور قبل إجبار المستخدم على تغييرها.
  • PASS_MIN_DAYS: الحد الأدنى لعدد الأيام بين تغييرات كلمة المرور، لتجنب التغييرات المتكررة والمتسلسلة بشكل مفرط.
  • تحذير المرور: أيام من الإشعار قبل انتهاء صلاحية كلمة المرور، حتى يكون لدى المستخدم وقت للرد.
  • طول الدقائق المسموح بها y طول الممر الأقصى: الحد الأدنى والحد الأقصى لطول كلمة المرور.
  • تحذير دائم: يُصدر تحذيراً عندما لا تستوفي كلمة المرور معايير قوة معينة.
  • محاولات تغيير كلمة المرور: الحد الأقصى لعدد محاولات تغيير كلمة المرور إذا اعتبرت كلمة المرور الجديدة بسيطة للغاية.
  • تشفير_طريقةخوارزمية التجزئة المستخدمة لكلمات المرور (الطريقة الشائعة اليوم هي SHA-512، المشار إليه بـ $ $ 6).

تؤثر هذه التوجيهات بشكل أساسي مستخدمون جدد يتم إنشاء هذه بعد تعديل ملف login.defs، لذا فهي طريقة ملائمة لوضع سياسة أساسية للمؤسسة بأكملها.

إدارة المحاولات وانتهاء الصلاحية باستخدام /etc/shadow وأمر التغيير

الملف / الخ / الظل هنا يخزن النظام كلمات المرور المشفرة للمستخدمين المحليين، بالإضافة إلى جميع معلومات انتهاء صلاحيتها. ورغم أنها لا تُغيّر يدويًا بشكل يومي، إلا أن فهم بنيتها يُساعد بشكل كبير في تدقيق سياسات الأمان وتحسينها.

في كل سطر من / الخ / الظل تظهر عدة حقول، مفصولة بنقطتين رأسيتين. أهمها فيما يتعلق بسياساتنا هي:

  • اسم المستخدم: يحدد الحساب الذي تنتمي إليه بقية الحقول.
  • كلمة المرور المشفرة: يتم تخزينها كـ $id$salt$hashedحيث دولار يشير إلى الخوارزمية (1 دولار أمريكي MD5, سمكة البخاخ $2a$/$2y$, 5 دولارات أمريكية SHA-256, 6 دولارات أمريكية SHA-512ثم الملح والحشيش.
  • آخر تغيير لكلمة المرور: عدد الأيام منذ 1 يناير 1970 (حقبة) عندما تم تعديله آخر مرة.
  • الحد الأدنى والحد الأقصى لأيام الاستخداميتحكمون في وقت تغيير كلمة المرور مرة أخرى وموعد انتهاء صلاحيتها.
  • أيام إشعار انتهاء الصلاحيةكم يوماً قبل انتهاء الصلاحية يبدأ النظام بإخطار المستخدم؟
  • أيام من الخمولبعد انتهاء صلاحية كلمة المرور، كم من الوقت يستغرق تعطيل الحساب بالكامل؟
  • تاريخ انتهاء صلاحية الحساب النهائي: أيضاً بصيغة الأيام منذ عام 1970، يشير إلى اللحظة التي لم يعد فيها تسجيل الدخول مسموحاً لهذا المستخدم.

لإدارة هذه المعلمات دون المساس مباشرةً بملف /etc/shadow، يتم استخدام الأمر التالي: تغيير (تغيير العمر), مما يسمح لك بتعديل كلمة المرور وتاريخ انتهاء صلاحية الحساب لمستخدمين محددين.

بعض الخيارات الشائعة لـ تغيير هي:

  • -d، –اليوم الأخير: يحدد تاريخ آخر تغيير لكلمة المرور (بالأيام منذ بداية الحقبة أو بتاريخ قابل للقراءة).
  • -E، –انتهاء الصلاحية: يحدد تاريخ انتهاء صلاحية الحساب.
  • -أنا، –غير نشط: يُعلّم الحساب بأنه غير نشط بعد عدد من الأيام من تاريخ انتهاء صلاحية كلمة المرور.
  • -m، –mindays: يحدد الحد الأدنى لعدد الأيام بين تغييرات كلمة المرور.
  • -M، –maxdaysيشير الرمز : إلى الحد الأقصى لعدد الأيام التي تظل فيها كلمة المرور صالحة.
  • -W، –أيام تحذيرية: يحدد عدد الأيام التي سيبدأ فيها إرسال الإشعارات قبل انتهاء الصلاحية.
  • -l، –list: يعرض حالة انتهاء صلاحية المستخدم الحالية.

على سبيل المثال، للتحقق من معلومات انتهاء صلاحية المستخدم بيبي يمكن تنفيذه:

chage -l pepe

سيشير المخرج تاريخ آخر تغيير، وما إذا كانت كلمة المرور تنتهي صلاحيتها أم لا، وفترة عدم النشاط، والحد الأدنى والحد الأقصى للأيام...من بين بيانات أخرى. باستخدام هذه الأداة، يمكنك تطبيق السياسات بشكل فردي، مستخدمًا تلو الآخر، أو في برامج نصية تعالج مجموعات كاملة من الحسابات.

سياسات تعقيد كلمات المرور باستخدام pam_cracklib و pam_pwquality

يُعدّ الحدّ من محاولات إدخال كلمة المرور أمرًا رائعًا، ولكن إذا كانت كلمات المرور من نوع "123456" أو "qwerty"، فلن تتمكن من الوصول إلى أي مكان. لهذا السبب يُعدّ هذا الأمر بالغ الأهمية. فرض كلمات مرور قوية باستخدام وحدات PAM مثل pam_cracklib وفي الإصدارات الأحدث، pam_pwquality.

وحدة pam_pwquality إنها نسخة متطورة من مكتبة cracklib، وتتكامل مع مكتبات مثل جودة libpw للتحقق من عدم وجود كلمات المرور في القواميس، وأنها ليست قصيرة جدًا، ولا تكرر أنماطًا بسيطة أو بيانات المستخدم الشخصية. وهي مُضمنة بشكل أصلي في بيئات RHEL، ويمكن تثبيتها في Debian/Ubuntu باستخدام حزم مثل libpam-cracklib y libpam-pwquality.

بعد التثبيت، يتم عادةً إجراء التكوين الرئيسي في الملف /etc/security/pwquality.confحيث يمكنك تحديد معايير التعقيد مثل:

  • difok: عدد الأحرف التي يجب أن تختلف عن كلمة المرور السابقة.
  • مينلين: الحد الأدنى المقبول لطول كلمة المرور الجديدة.
  • com.dcredit, com.ucredit, lcredit, com.ocreditيُنسب الفضل في تضمين الأرقام والحروف الكبيرة والصغيرة وغيرها من الأحرف.
  • com.minclass: الحد الأدنى لعدد فئات الأحرف المختلفة المطلوبة (أحرف صغيرة، أحرف كبيرة، أرقام، رموز).
  • maxrepeatالحد الأقصى لعدد الأحرف المتطابقة المتتالية المسموح بها.
  • com.maxclassrepeat: الحد الأقصى لعدد الأحرف المتتالية من نفس الفئة.
  • com.gecoscheck: يتحقق من أن كلمة المرور لا تحتوي على كلمات من حقل GECOS (التعليق) الخاص بالمستخدم في /etc/passwd.
  • dictpath: مسار القاموس المستخدم للتحقق مما إذا كانت كلمة المرور جزءًا من كلمة معروفة.
  • كلمات سيئةقائمة الكلمات المحظورة صراحةً.

النظام ائتمانات إنها مرنة للغاية. ببساطة، يحصل رمز المرور على نقاط إضافية لاحتوائه على مجموعة متنوعة من الأحرف؛ ويمكن لهذه النقاط أن تعوض عن قصر طوله قليلاً. على سبيل المثال، مع الحد الأدنى للطول = 10 y dcredit=2كلمة مرور مكونة من 8 أحرف ورقمين قد تجتاز الفلتر لأنها تضيف نقطتين إضافيتين. مع ذلك، إذا حددت نقاطًا سالبة، فستحتاج إلى حرف سالب واحد على الأقل (على سبيل المثال، dcredit=-1 (يتطلب رقمًا واحدًا على الأقل، بدون استثناءات).

مع com.minclass يمكنك اشتراط أن تتضمن كلمة المرور عدة فئات مختلفة. على سبيل المثال، قيمة 2 تعني مزيجًا من الأحرف والأرقام، أو الأحرف والرموز، وما إلى ذلك. الحد الأدنى للفئة = 4 سيتطلب ذلك استخدام الأحرف الصغيرة والكبيرة والأرقام والرموز الخاصة في وقت واحد، وهو أمر شائع جدًا في سياسات الشركات الصارمة.

أدوات مثل com.pwscore تتيح لك هذه الأدوات اختبار قوة كلمة المرور وفقًا للسياسات المحددة. عند تمرير كلمة المرور من خلال com.pwscoreهذا يخبرك ما إذا كان المفتاح يفي بالمتطلبات أم لا، وإذا لم يكن كذلك، فما هي القاعدة التي ينتهكها (طول غير كافٍ، بسيط للغاية، مشابه جدًا للمفتاح السابق، إلخ).

قم بتكوين سياسات قوية على نظامي Debian و Ubuntu باستخدام pam_cracklib

في أنظمة ديبيان/أوبونتو، من الشائع جدًا استخدام pam_cracklib (أو pwquality عبر PAM) لفرض سياسة كلمة المرور. الملف الرئيسي هنا هو /etc/pam.d/common-password، والذي يحدد كيفية إدارة تغييرات كلمات المرور لمستخدمي النظام.

قبل إجراء أي تعديلات، من الممارسات الجيدة عمل نسخة احتياطية من الملف:

sudo cp /etc/pam.d/common-password /root/

بعد ذلك، يمكنك تعديله باستخدام محرر النصوص المفضل لديك (نانو، فيم، إلخ) بصلاحيات المستخدم المتميز. ستجد بداخله سطرًا مشابهًا لما يلي:

password requisite pam_cracklib.so retry=3 minlen=8 difok=3

هنا، يتم تعريف معلمات مثل ما يلي:

  • إعادة المحاولة: عدد المحاولات المسموح بها للمستخدم عند تغيير كلمة المرور الخاصة به، قبل أن يفشل التغيير.
  • مينلينالحد الأدنى لطول كلمة المرور.
  • difok: عدد الأحرف التي يجب أن تختلف عن كلمة المرور السابقة.
  • com.ucredit, lcredit, com.dcredit, com.ocredit: نقاط إيجابية أو سلبية للأحرف الكبيرة، والأحرف الصغيرة، والأرقام، والرموز الأخرى.

على سبيل المثال، قد تكون السياسة التي تتطلب قدراً كبيراً من الصرامة كالتالي:

password requisite pam_cracklib.so retry=3 minlen=12 difok=3 ucredit=-3 lcredit=-3 dcredit=-3 ocredit=-3

مع هذا الإعداد ، يجب ألا يقل طول كل كلمة مرور جديدة عن 12 حرفًايجب أن يختلف رمز المرور الجديد عن الرمز السابق بثلاثة أحرف على الأقل، وأن يحتوي على ثلاثة أحرف كبيرة على الأقل، وثلاثة أحرف صغيرة على الأقل، وثلاثة أرقام على الأقل، وثلاثة رموز على الأقل. إنها سياسة صارمة للغاية، لكنها فعالة جدًا ضد رموز المرور البسيطة.

بعد تغيير السياسة، يمكنك اختبارها عن طريق تغيير كلمة مرورك الخاصة باستخدام:

sudo passwd

إذا لم تستوفِ كلمة المرور المتطلبات، فسيعرض النظام رسائل توضح السبب: قصيرة جدًا، أو مشابهة لكلمة من القاموس، أو تحتوي على تكرار مفرط للأحرف، وما إلى ذلك. بمجرد أن تتوافق كلمة المرور مع السياسة، سيتم تطبيق التغيير دون أي مشكلة.

بالإضافة إلى تشديد سياسة التغييرات الجديدة، يسمح كل من دبيان وأوبونتو إجبار المستخدمين الحاليين على تغيير كلمات مرورهم للتكيف مع القواعد الجديدة. باستخدام الأمر:

passwd -e USUARIO

تم وضع علامة "منتهية الصلاحية" على كلمة مرور هذا المستخدم، وسيُطلب منه عند تسجيل الدخول التالي تعيين كلمة مرور جديدة تتوافق مع السياسة الحالية. يمكنك أيضًا التحكم في انتهاء صلاحية كلمات المرور العامة من خلال:

passwd -w 5 -x 30 USUARIO

حيث -x 30 يحدد صلاحية كلمة المرور بحد أقصى 30 يومًا و -w 5 هذا يجعل النظام يبدأ بإخطارك قبل 5 أيام من تاريخ انتهاء الصلاحية. إذا أضفت أنا 1:

passwd -w 5 -x 30 -i 1 USUARIO

سيتم وضع علامة "غير نشط" على الحساب إذا لم يقم المستخدم بتغيير كلمة المرور الخاصة به. بعد يوم واحد من انتهاء صلاحيتهمما أجبر المسؤول على التدخل لإعادة تنشيطه.

على الرغم من أن تغيير كلمات المرور بشكل متكرر كان يُوصى به لسنوات، إلا أن إرشادات الأمان الحديثة (مثل تلك الصادرة عن المعهد الوطني للمعايير والتكنولوجيا) تُقيّد هذه الممارسة: يُفضّل اختيار كلمات مرور طويلة ومعقدة، وأنظمة المصادقة الثنائية.بدلاً من فرض تغييرات متكررة للغاية تؤدي في النهاية إلى توليد مفاتيح يمكن التنبؤ بها.

قم بتكوين وحدات PAM (pam_faillock، pam_tally2، pam_cracklib، pam_pwquality) وملفات المفاتيح بعناية مثل /etc/pam.d/common-auth, /etc/pam.d/common-password, /etc/login.defs, / الخ / سه / sshd_config وفهم كيف تنعكس تلك القرارات في / الخ / الظلوهذا يمثل الفرق بين النظام "القياسي" والبيئة المحصنة حقًا ضد الوصول غير المصرح به وهجمات القوة الغاشمة.

نماب
المادة ذات الصلة:
قم بتحليل شبكتك المحلية باستخدام Nmap و Wireshark خطوة بخطوة