كيف (ولماذا) تعطيل تسجيل الدخول إلى الجذر عبر SSH على نظام Linux
نشرت: 2022-09-29يعد تسجيل الدخول كمستخدم جذر Linux ممارسة سيئة. يعد تسجيل الدخول كجذر عبر اتصال SSH أسوأ. نخبرك لماذا ، ونبين لك كيفية منعه.
السيف ذو الحدين
أنت بحاجة إلى شخص لديه السلطة لامتلاك وإدارة تلك الأجزاء من نظام التشغيل الخاص بك والتي تعتبر مهمة جدًا أو حساسة للغاية بحيث يتعذر على المستخدمين العاديين التعامل معها. هذا هو المكان الذي يأتي فيه الجذر. الجذر هو المستخدم الخارق القوي لأنظمة تشغيل Unix و Linux.
حساب المستخدم الجذر ، مثل جميع الحسابات ، محمي بكلمة مرور. بدون كلمة مرور المستخدم الجذر ، لا يمكن لأي شخص آخر الوصول إلى هذا الحساب. هذا يعني أن امتيازات وصلاحيات الجذر لا يمكن استخدامها من قبل أي شخص آخر. الجانب الآخر هو أن الدفاع الوحيد بين المستخدم الضار وصلاحيات الجذر هو كلمة المرور هذه. كلمات المرور ، بالطبع ، يمكن تخمينها أو استنتاجها أو رصدها مكتوبة في مكان ما أو إجبارها على ذلك.
إذا اكتشف مهاجم ضار كلمة مرور الجذر ، فيمكنه تسجيل الدخول والقيام بأي شيء يحلو له للنظام بأكمله. مع الامتيازات المرتفعة للجذر ، لا توجد قيود على ما يمكنهم فعله. سيكون الأمر كما لو أن المستخدم الجذر قد ابتعد عن محطة طرفية دون تسجيل الخروج ، مما يسمح بالوصول الانتهازي إلى حسابه.
بسبب هذه المخاطر ، لا تسمح العديد من توزيعات Linux الحديثة بتسجيل الدخول إلى الجذر إلى الكمبيوتر محليًا ، ناهيك عن SSH. المستخدم الجذر موجود ، لكن لم يتم تعيين كلمة مرور له. ومع ذلك ، يجب أن يكون شخص ما قادرًا على إدارة النظام. حل هذا اللغز هو أمر sudo
.
يسمح sudo
للمستخدمين المعينين باستخدام الامتيازات على مستوى الجذر مؤقتًا من داخل حساب المستخدم الخاص بهم. تحتاج إلى المصادقة لاستخدام sudo
، وهو ما تفعله عن طريق إدخال كلمة المرور الخاصة بك. يمنحك هذا وصولاً مؤقتًا إلى قدرات الجذر.
تموت قوى الجذر الخاصة بك عند إغلاق النافذة الطرفية التي تم استخدامها فيها. إذا تركت نافذة المحطة الطرفية مفتوحة ، فستنتهي مهلتها ، ويعيدك تلقائيًا إلى حالة المستخدم العادية. يوفر هذا نوعًا آخر من الحماية. إنه يحميك من نفسك.
إذا كنت معتادًا على تسجيل الدخول بحساب جذر بدلاً من حساب عادي ، فإن أي أخطاء ترتكبها في سطر الأوامر قد تكون كارثية. إن الاضطرار إلى استخدام sudo
لأداء الإدارة يعني أنه من المرجح أن تكون أكثر تركيزًا وحذرًا بشأن ما تكتبه.
يؤدي السماح بتسجيل الدخول إلى الجذر عبر SSH إلى زيادة المخاطر لأن المهاجمين لا يجب أن يكونوا محليين ؛ يمكنهم محاولة فرض النظام الخاص بك عن بعد.
ذات صلة: كيفية مراجعة استخدام sudo Command على نظام Linux
مستخدم الجذر والوصول إلى SSH
من المرجح أن تصادف هذه المشكلة عند إدارة الأنظمة لأشخاص آخرين. ربما قرر شخص ما تعيين كلمة مرور جذر حتى يتمكنوا من تسجيل الدخول. يلزم تغيير الإعدادات الأخرى للسماح للجذر بتسجيل الدخول عبر SSH.
هذه الأشياء لن تحدث بالصدفة. ولكن يمكن القيام به من قبل الأشخاص الذين لا يفهمون المخاطر المرتبطة بها. إذا توليت إدارة جهاز كمبيوتر في تلك الحالة ، فستحتاج إلى إبلاغ المالكين بسبب كونها فكرة سيئة ، ثم إعادة النظام إلى العمل الآمن. إذا كان شيئًا ما تم تكوينه بواسطة مسؤول النظام السابق ، فقد لا يعرف المالكون عنه.
هنا مستخدم على جهاز كمبيوتر يقوم بتشغيل Fedora ، يقوم بإجراء اتصال SSH بجهاز كمبيوتر Ubuntu باعتباره المستخدم الأساسي لجهاز كمبيوتر Ubuntu.
ssh [email protected]
يسمح كمبيوتر Ubuntu للمستخدم الجذر بتسجيل الدخول عبر SSH. على كمبيوتر Ubuntu ، يمكننا أن نرى أن اتصالًا مباشرًا جاريًا من المستخدم الجذر.
منظمة الصحة العالمية
ما لا نستطيع رؤيته هو من يستخدم تلك الجلسة. لا نعرف ما إذا كان الشخص الموجود على الطرف الآخر من اتصال SSH هو المستخدم الجذر أو شخص ما تمكن من الحصول على كلمة مرور الجذر.
تعطيل وصول SSH للجذر
لتعطيل وصول SSH للمستخدم الجذر ، نحتاج إلى إجراء تغييرات على ملف تكوين SSH. هذا موجود في “/ etc / ssh / sshd_config.” سنحتاج إلى استخدام sudo
لكتابة التغييرات عليه.
sudo gedit / etc / ssh / sshd_config
قم بالتمرير خلال الملف أو ابحث عن السلسلة "PermitRootLogin".
يمكنك إما تعيين هذا على "لا" أو التعليق على السطر بوضع علامة " #
" كأول حرف في السطر. احفظ التغييرات.
نحتاج إلى إعادة تشغيل عفريت SSH حتى تدخل تغييراتنا حيز التنفيذ.
إعادة تشغيل sudo systemctl ssh
إذا كنت تريد أيضًا منع عمليات تسجيل الدخول المحلية ، فقم بتعطيل كلمة مرور الجذر. نحن نتبع نهج الحزام والأقواس ونستخدم كلا الخيارين -l
(القفل) و -d
(حذف كلمة المرور).
sudo passwd الجذر -ld
يؤدي هذا إلى قفل الحساب وإزالة كلمة مرور الحساب من الصفقة. حتى إذا كان المستخدم الجذر يجلس فعليًا على جهاز الكمبيوتر الخاص بك ، فلن يتمكن من تسجيل الدخول.
طريقة أكثر أمانًا للسماح بوصول الجذر عبر SSH
ستواجه أحيانًا مقاومة إدارية لإزالة الوصول إلى الجذر عبر SSH. إذا لم يستمعوا حقًا ، فقد تجد نفسك في وضع يتعين عليك فيه إعادته. إذا كانت هذه هي الحالة ، فيجب أن تكون قادرًا على التنازل بطريقة تقلل من المخاطر ولا تزال تسمح بتسجيل الدخول عن بُعد من المستخدم الجذر.
يعد استخدام مفاتيح SSH لإجراء اتصال عبر SSH أكثر أمانًا من استخدام كلمات المرور. نظرًا لعدم وجود كلمات مرور متضمنة ، لا يمكن إجبارها أو تخمينها أو اكتشافها بأي طريقة أخرى.
قبل قفل حساب الجذر المحلي ، قم بإعداد مفاتيح SSH على الكمبيوتر البعيد بحيث يمكن للمستخدم الجذر الاتصال بجهاز الكمبيوتر المحلي الخاص بك. ثم انطلق واحذف كلمة المرور الخاصة بهم وأغلق حسابهم المحلي.
سنحتاج أيضًا إلى تعديل ملف "sshd_config" مرة أخرى.
sudo gedit / etc / ssh / sshd_config
قم بتغيير سطر "PermitRootLogin" بحيث يستخدم خيار "حظر كلمة المرور".
احفظ التغييرات وأعد تشغيل عفريت SSH.
إعادة تشغيل sudo systemctl ssh
الآن ، حتى إذا أعاد شخص ما كلمة مرور المستخدم الجذر ، فلن يتمكن من تسجيل الدخول عبر SSH باستخدام كلمة مرور.
عندما يقوم مستخدم الجذر البعيد بإجراء اتصال SSH بجهاز الكمبيوتر المحلي الخاص بك ، يتم تبادل المفاتيح وفحصها. إذا اجتازوا المصادقة ، فسيتم توصيل المستخدم الجذر بجهاز الكمبيوتر المحلي الخاص بك دون الحاجة إلى كلمة مرور.
ssh [email protected]
ممنوع الدخول
يعد رفض الاتصالات عن بُعد من المستخدم الجذر هو الخيار الأفضل. يعتبر السماح للجذر بالاتصال باستخدام مفاتيح SSH هو ثاني أفضل خيار ، ولكنه لا يزال أفضل بكثير من استخدام كلمات المرور.
ذات صلة: كيفية التحكم في sudo Access على نظام Linux