مقدمة
جميع الأجهزة التي تعمل بنظام لينكس مُثبّتة افتراضيًا مع مستخدم الجذر الذي يتمتع بكافة الصلاحيات على النظام؛ وبشكل افتراضي، أنت دائمًا المستخدم الجذر (المستخدم المتميز). توصي أفضل ممارسات الأمان بتعطيل تسجيل دخول الجذر عبر SSH لمنع الوصول غير المصرح به إلى جهازك الذي يعمل بنظام لينكس. يؤدي تعطيل تسجيل دخول الجذر إلى منع الوصول إليه عبر SSH، مما يعني أنه لا يمكن لأحد الاستفادة من صلاحيات غير محدودة. باتباع ممارسات الأمان الموصى بها، يُنصح بإنشاء مستخدم إضافي يتمتع بمعظم صلاحيات المستخدم المتميز لتسجيل الدخول.
في هذا البرنامج التعليمي، ستقوم بتعطيل تسجيل الدخول كجذر في أوبونتو لمنع الوصول غير المصرح به إلى الجذر عبر SSH وتحسين أمان نظامك القائم على لينكس.
المتطلبات الأساسية
لإكمال هذا الدرس التعليمي، ستحتاج إلى ما يلي:
- خادم Ubuntu 20.04 مع مستخدم غير جذري يتمتع بصلاحيات sudo، وجدار حماية، وذاكرة وصول عشوائي (RAM) لا تقل عن 1 جيجابايت، والتي يمكنك إعدادها باتباع دليل إعداد خادم Ubuntu 20.04 الأولي الخاص بنا.
الخطوة 1 - قم بتسجيل الدخول وتحقق من ملف auth.log
في هذه المرحلة، تقوم بتسجيل الدخول إلى الخادم كمستخدم غير الجذر مع صلاحيات sudo للتحقق من محاولات المصادقة. من خلال مراجعة سجل المصادقة، قد ترى محاولات تسجيل دخول مصرح بها وغير مصرح بها.
خلال الخطوات التمهيدية، أنشأتَ مستخدمًا جديدًا وأضفته إلى مجموعة sudo لمنحه صلاحيات إدارية. ستستخدم هذا المستخدم للوصول إلى نظامك، حيث لن تتمكن من تسجيل الدخول كمستخدم الجذر بعد تعطيل تسجيل دخول الجذر.
بحسب طريقة تسجيل الدخول التي اخترتها، استخدم SSH لتسجيل الدخول إلى الخادم. إذا استخدمت مفتاح SSH لتسجيل الدخول إلى حساب الجذر أثناء إعداد الخادم الأولي، فيجب عليك استخدام آلية المفتاح، حيث يتم تعطيل مصادقة كلمة المرور عند استخدام تسجيل الدخول بالمفتاح. وإلا، فاستخدم تسجيل الدخول بكلمة المرور باستخدام كلمة مرور مستخدم sudo.
ssh sammy@your_server_ipإذا كنت تستخدم طريقة تسجيل الدخول باستخدام المفتاح، فاستخدم الأمر التالي لتسجيل الدخول إلى الخادم كمستخدم sudo:
ssh -i your_private_key sammy@your_server_ipعلَم -أنا يشير إلى ملف الهوية الذي تُقرأ منه مفاتيحك الخاصة لأغراض المصادقة.
ثم، تحقق من ملف auth.log باستخدام الأمر التالي:
cd /var/log/
sudo cat auth.logأدخل كلمة المرور الخاصة بك إذا طُلب منك ذلك.
سوف تحصل على إخراج مماثل لهذا:
Output
May 29 18:46:32 ubuntu sshd[3886]: Disconnected from invalid user cally 43.155.90.144 port 47454 [preauth]
May 29 18:51:56 ubuntu sshd[3890]: Received disconnect from 195.38.129.16 port 10017:11: Bye Bye [preauth]
May 29 18:51:56 ubuntu sshd[3890]: Disconnected from authenticating user root 195.38.129.16 port 10017 [preauth]
May 29 18:52:24 ubuntu sshd[3892]: Received disconnect from 178.128.234.248 port 58660:11: Bye Bye [preauth]
May 29 18:52:24 ubuntu sshd[3892]: Disconnected from authenticating user root 178.128.234.248 port 58660 [preauth]
May 29 18:52:34 ubuntu sshd[3894]: Received disconnect from 43.134.106.128 port 33854:11: Bye Bye [preauth]
May 29 18:52:34 ubuntu sshd[3894]: Disconnected from authenticating user root 43.134.106.128 port 33854 [preauth]
May 29 18:53:07 ubuntu sshd[3896]: Invalid user projects from 176.183.60.72 port 42070
May 29 18:53:07 ubuntu sshd[3896]: Received disconnect from 176.183.60.72 port 42070:11: Bye Bye [preauth]
May 29 18:53:07 ubuntu sshd[3896]: Disconnected from invalid user projects 176.183.60.72 port 42070 [preauth]
May 29 18:57:27 ubuntu sshd[3900]: Received disconnect from 92.255.85.135 port 20436:11: Bye Bye [preauth]
May 29 18:57:27 ubuntu sshd[3900]: Disconnected from authenticating user root 92.255.85.135 port 20436 [preauth]
May 29 19:06:40 ubuntu sshd[3903]: Invalid user default from 27.71.207.190 port 57513
May 29 19:06:41 ubuntu sshd[3903]: Connection closed by invalid user default 27.71.207.190 port 57513 [preauth]
...بعد تسجيل الدخول والتحقق من سجل المصادقة، قد تلاحظ وجود عدد كبير من الطلبات غير المصرح بها التي يتلقاها خادمك. قد يشير هذا إلى ضرورة تعطيل تسجيل دخول المستخدم الجذر وتغيير مفاتيحك وكلمات مرورك بانتظام.
الخطوة 2 - تعطيل تسجيل دخول المستخدم الجذر
في هذه الخطوة، ستقوم بفتح ملف sshd_config لتعطيل تسجيل دخول المستخدم الجذر، ثم إعادة تشغيل خدمة sshd لقراءة التكوين بعد التعديلات.
يحتوي ملف sshd_config على ملفات تهيئة SSH التي تخزن المعلمات التي يستخدمها برنامج sshd. برنامج sshd مسؤول عن إدارة اتصالات SSH. يجب إعادة تشغيل برنامج sshd لتطبيق تغييرات التهيئة.
sudo nano /etc/ssh/sshd_configتصفح الملف وابحث عن سطر PermitRootLogin:
Output
...
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
...ثم القيمة تصريح تسجيل الدخول الجذري من نعم ل لا يتغير:
Output
...
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
...احفظ الملف وأغلقه، ثم أعد تشغيل خدمة sshd لتطبيق تغييرات التكوين:
sudo systemctl restart sshdالخطوة 3 - اختبار تسجيل الدخول إلى حساب الجذر
بعد تعطيل تسجيل دخول المستخدم الجذر، حاول تسجيل الدخول كمستخدم الجذر باستخدام SSH. لتسجيل الدخول باستخدام كلمة المرور أو مفتاح SSH، استخدم الأوامر التالية:
ssh root@your_server_ipسيؤدي تسجيل الدخول كمسؤول النظام إلى ظهور رسالة خطأ كهذه:
root@your_server_ip: Permission denied (publickey).لاستعادة الوصول إلى الخادم، استخدم بيانات اعتماد مستخدم غير الجذر يتمتع بصلاحيات sudo لتسجيل الدخول:
ssh sammy@your_server_ipنتيجة
في هذه المقالة، قمتَ بضبط إعدادات sshd لتعطيل تسجيل دخول المستخدم الجذر في أوبونتو. الآن، أنت تعرف كيفية تعطيل تسجيل دخول المستخدم الجذر على أجهزتك التي تعمل بنظام لينكس، وبالتالي توفير المزيد من الأمان لأنظمتك.









