لقد قمت مؤخرًا بإعداد خادم مع FreeRADIUS لمصادقة وتتبع تسجيلات دخول المسؤول على بعض أجهزتي.

إنني أتطلع إلى الحصول على أجهزة Linux و FreeBSD الخاصة بي للمصادقة على RADIUS باستخدام الوحدة النمطية pam_auth_radius. أنا أعمل حاليًا مع جهاز ظاهري Ubuntu 10.04 للاختبار. كما أنني أقوم حاليًا باختبار مع RADIUS لمصادقة مستخدمي SSH البعيدين فقط ، وأود أن تتم المصادقة بالكامل بهذه الطريقة في مرحلة ما.

وفقًا للتعليمات الواردة من جميع أنحاء الويب ، أقوم بتثبيت pam_auth_radius وأضف سطرًا يشير إلى الوحدة في /etc/pam.d/sshd وأضف عنوان الخادم والسرية المشتركة إلى /etc/pam_radius_auth.conf.

بعد القيام بذلك يمكنني المصادقة مقابل RADIUS ... ومع ذلك ، يمكن فقط للمستخدمين الذين أضفتهم إلى جهاز الاختبار (باستخدام adduser) المصادقة. على سبيل المثال ، المستخدم "cory" هو مستخدم RADIUS صالح ، حيث يقوم RADIUS بإرجاع كلمة "Accept" ، لكني أستمر في الحصول على "Permission Denied" أثناء محاولة تسجيل الدخول عبر ssh حتى "adduser cory".

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

هل هناك طريقة لإنشاء مستخدم مؤقت / دليل / إلخ ديناميكيًا؟ أو هل يمكن للمستخدمين الذين يقومون بالمصادقة عبر RADIUS أن يتم تعيينهم إلى حساب موجود لإزالة الحاجة إلى إنشاء كل مستخدم؟

answer

ما يحدث هو أنه بدون باقي الهياكل المطلوبة ، لا يمتلك نظام لينكس أي معلومات حول "كوري" المستخدم. أشياء مثل UID / GID ، shell ، دليل منزلي ، أيا كان.

يمكنك إعداد حساب المستخدم المحلي ، ثم إخبار PAM بالتحقق من كلمة مرور صالحة مقابل RADIUS.

ما تريده حقًا هو إعداد LDAP. سيتيح لك ذلك تحديد حسابات مستخدمي يونكس كاملة في قاعدة بيانات مركزية. ثم ستقوم بتكوين خادم RADIUS الخاص بك لإجراء عمليات التحقق من صحة قاعدة بيانات LDAP لتلك الأجهزة التي يمكنها استخدامها.