أنا أستخدم pam_tally2 لإغلاق الحسابات بعد 3 عمليات تسجيل دخول فاشلة لكل سياسة ، ومع ذلك ، لا يتلقى المستخدم المتصل الخطأ الذي يشير إلى إجراء pam_tally2. (عبر SSH.)

أتوقع أن أرى في المحاولة الرابعة:

Account locked due to 3 failed logins

لا يوجد مزيج من المطلوب أو المطلوب أو يبدو أن الطلب في الملف يساعد. هذا تحت Red Hat 6 ، وأنا أستخدمه /etc/pam.d/password-auth. يعمل القفل كما هو متوقع ولكن المستخدم لا يتلقى الخطأ الموصوف أعلاه. هذا يسبب الكثير من الارتباك والإحباط لأنه ليس لديهم طريقة لمعرفة سبب فشل المصادقة عندما يتأكدون من أنهم يستخدمون كلمة المرور الصحيحة.

يتبع التنفيذ دليل NSA للتكوين الآمن لـ Red Hat Enterprise Linux 5 . (صفحة 45) أفهم أن الشيء الوحيد الذي تغير في PAM هو أن /etc/pam.d/sshd يتضمن الآن /etc/pam.d/password-auth بدلاً من مصادقة النظام .

If locking out accounts after a number of incorrect login attempts is required by your security policy, implement use of pam_tally2.so.

To enforce password lockout, add the following to /etc/pam.d/system-auth. First, add to the top of the auth lines:

auth required pam_tally2.so deny=5 onerr=fail unlock_time=900

Second, add to the top of the account lines:

account required pam_tally2.so

تعديل:

تلقيت رسالة الخطأ عن طريق إعادة تعيين pam_tally2 أثناء إحدى محاولات تسجيل الدخول.

[email protected]'s password: (bad password)
Permission denied, please try again.
[email protected]'s password: (bad password)
Permission denied, please try again.

(إعادة تعيين pam_tally2 من قذيفة أخرى)

[email protected]'s password: (good password)
Account locked due to ...
Account locked due to ...
Last login: ...
[[email protected] ~]$
answer

أنت أيضا بحاجة ChallengeResponseAuthentication yesفي /etc/ssh/sshd_config.

لعرض الخطأ ، pamيحتاج إلى وظيفة محادثة.

يخبر هذا الخيار ssh بتوفير وظيفة محادثة PAM أكثر اكتمالاً ، والتي تغطي من بين أشياء أخرى توفير المخرجات والمطالبة بإدخال تعسفي (بدلاً من مجرد تسليم كلمة مرور من قبل sshd).

تحرير: ستحتاج PasswordAuthentication noإلى التأكد من أن إدخال كلمة المرور يمر دائمًا بمحادثة PAM هذه.

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

علاوة على ذلك ، لا يوفر pam_tally2 أي نوع من توجيهات رسائل الخطأ المعرفة من قبل المستخدم ، لذلك يمكنك الاعتماد فقط على ما هو موجود في سجل النظام الخاص بك على أي حال.

إحدى الطرق التي يمكنك النظر فيها هي تعديل كود OpenSSH (ليس صعبًا جدًا) ، لكن هذا خارج نطاق هذا السؤال.