إعداد الخادم الأولي مع Rocky Linux 9

المقدمة

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

الخطوة 1 — تسجيل الدخول كمستخدم رووت

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

إذا لم تكن متصلاً بالفعل بالخادم الخاص بك، قم بتسجيل الدخول كمستخدم رووت الآن باستخدام الأمر التالي (استبدل الجزء المظلل في الأمر بعنوان IP العام لخادمك):

  1. ssh root@your_server_ip

قبول تحذير حول مصداقية المضيف إذا ظهر. إذا كنت تستخدم المصادقة بواسطة كلمة المرور، قدم كلمة مرورك root لتسجيل الدخول. إذا كنت تستخدم مفتاح SSH محمي بكلمة مرور، قد يُطلب منك إدخال كلمة المرور في المرة الأولى التي تستخدم فيها المفتاح في كل جلسة. إذا كانت هذه هي المرة الأولى التي تقوم فيها بتسجيل الدخول إلى الخادم بكلمة مرور، قد يُطلب منك أيضًا تغيير كلمة مرور root.

حول المستخدم الجذر

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

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

الخطوة 2 — إنشاء مستخدم جديد

عندما تكون مسجل الدخول بوصفه root، يمكنك إنشاء حساب مستخدم جديد ستستخدمه لتسجيل الدخول من الآن فصاعداً.

هذا المثال يقوم بإنشاء مستخدم جديد يسمى sammy، ولكن يجب عليك استبداله بأي اسم مستخدم تفضله:

  1. adduser sammy

بعد ذلك، قم بتعيين كلمة مرور قوية للمستخدم sammy:

  1. passwd sammy

سيُطلب منك إدخال كلمة المرور مرتين. بعد القيام بذلك، سيكون المستخدم جاهزًا للاستخدام، ولكن أولاً ستمنح هذا المستخدم امتيازات إضافية لاستخدام أمر sudo. وهذا سيسمح لك بتشغيل الأوامر كمستخدم root عند الضرورة.

الخطوة 3 — منح الامتيازات الإدارية

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

لتجنب الحاجة إلى تسجيل الخروج من حساب المستخدم العادي الخاص بك وتسجيل الدخول مرة أخرى كحساب root، يمكنك إعداد ما يعرف بامتيازات “المستخدم الجذر” أو root لحسابك العادي. وهذا سيسمح للمستخدم العادي بتشغيل الأوامر بامتيازات إدارية عن طريق وضع كلمة sudo قبل كل أمر.

لإضافة هذه الامتيازات للمستخدم الجديد، تحتاج إلى إضافة المستخدم الجديد إلى مجموعة wheel. وبشكل افتراضي، في Rocky Linux 9، يُسمح للمستخدمين الذين ينتمون إلى مجموعة wheel باستخدام أمر sudo.

كمستخدم root، قم بتشغيل هذا الأمر لإضافة مستخدمك الجديد إلى مجموعة wheel (استبدل الكلمة المظللة باسم المستخدم الجديد الخاص بك):

  1. usermod -aG wheel sammy

الآن، عند تسجيل الدخول باسم مستخدمك العادي، يمكنك كتابة sudo قبل الأوامر لتنفيذ الإجراءات بامتيازات المستخدم الجذر.

الخطوة 4 — إعداد جدار الحماية

توفر جدران الحماية مستوى أساسيًا من الأمان لخادمك. تكون هذه التطبيقات مسؤولة عن رفض حركة المرور إلى كل منفذ على الخادم الخاص بك، باستثناء تلك الأماكن/الخدمات التي قمت بالموافقة عليها صراحة. يحتوي Rocky Linux على خدمة تسمى firewalld لأداء هذه الوظيفة. يُستخدم أداة تسمى firewall-cmd لتكوين سياسات جدار الحماية firewalld.

ملاحظة: إذا كانت خوادمك تعمل على DigitalOcean، يمكنك استخدام اختياري لاستخدام DigitalOcean Cloud Firewalls بدلاً من firewalld. يجب عليك استخدام جدار حماية واحد فقط في وقت واحد لتجنب قواعد التعارض التي قد تكون صعبة لتصحيح الأخطاء.

قم بتثبيت firewalld أولاً:

  1. dnf install firewalld -y

تسمح تكوينات firewalld الافتراضية بالاتصالات ssh، لذا يمكنك تشغيل جدار الحماية على الفور:

  1. systemctl start firewalld

تحقق من حالة الخدمة للتأكد من بدء تشغيلها:

  1. systemctl status firewalld
Output
● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-09-13 18:26:19 UTC; 1 day 2h ago Docs: man:firewalld(1) Main PID: 15060 (firewalld) Tasks: 4 (limit: 10938) Memory: 28.1M CPU: 6.127s CGroup: /system.slice/firewalld.service └─15060 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid

ملاحظة أنه يعتبر وضع active و enabled، وهذا يعني أنه سيتم تشغيله بشكل افتراضي إذا تم إعادة تشغيل الخادم.

الآن بعد أن تم تشغيل الخدمة، يمكنك استخدام أداة firewall-cmd للحصول على معلومات السياسة وتعيينها لجدار الحماية.

دعنا نقوم أولاً بقائمة الخدمات المسموح بها بالفعل:

  1. firewall-cmd --permanent --list-all
Output
public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: cockpit dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:

لرؤية الخدمات الإضافية التي يمكنك تمكينها بالاسم، اكتب:

  1. firewall-cmd --get-services

لإضافة خدمة يجب أن تكون مسموحًا بها، استخدم العلامة --add-service:

  1. firewall-cmd --permanent --add-service=http

سيتم إضافة خدمة http والسماح بحركة المرور TCP الواردة إلى المنفذ 80. سيتم تحديث التكوين بعد إعادة تحميل جدار الحماية:

  1. firewall-cmd --reload

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

الخطوة 5 — تمكين الوصول الخارجي لمستخدمك العادي

الآن بمجرد أن لديك مستخدم غير root للاستخدام اليومي، يجب عليك التأكد من أنه يمكنك استخدامه للاتصال عبر SSH إلى خادمك.

ملاحظة: حتى تتحقق من إمكانية تسجيل الدخول واستخدام sudo باستخدام المستخدم الجديد الخاص بك، يجب أن تظل مسجل الدخول كـ root. بهذه الطريقة، إذا كنت تواجه مشاكل، يمكنك حل المشكلات وإجراء أي تغييرات ضرورية كـ root. إذا كنت تستخدم DigitalOcean Droplet وتواجه مشاكل في اتصال SSH الخاص بـ root، يمكنك تسجيل الدخول إلى Droplet باستخدام DigitalOcean Console.

يعتمد عملية تكوين وصول SSH للمستخدم الجديد على ما إذا كان حساب root الخاص بخادمك يستخدم كلمة مرور أم مفاتيح SSH للمصادقة.

إذا كان حساب الـ Root يستخدم مصادقة كلمة المرور

إذا قمت بتسجيل الدخول إلى حساب root الخاص بك باستخدام كلمة المرور، فإن مصادقة كلمة المرور ممكّنة لـ SSH. يمكنك تسجيل الدخول إلى حساب المستخدم الجديد بافتتاح جلسة طرفية جديدة واستخدام SSH باسم المستخدم الجديد:

  1. ssh sammy@your_server_ip

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

  1. sudo command_to_run

سيُطلب منك إدخال كلمة مرور المستخدم العادي عند استخدام sudo لأول مرة في كل جلسة (وبشكل دوري بعد ذلك).

لتعزيز أمان الخادم الخاص بك، يجب أن تقوم بإعداد مفاتيح SSH بدلاً من استخدام مصادقة كلمة المرور. اتبع هذا الدليل حول كيفية إعداد مفاتيح SSH على Rocky Linux 9 لمعرفة كيفية تكوين المصادقة بناءً على المفتاح.

إذا كان حساب الجذر يستخدم مصادقة مفتاح SSH

إذا قمت بتسجيل الدخول إلى حساب الجذر باستخدام مفاتيح SSH، فإن مصادقة كلمة المرور معطلة لبروتوكول SSH. ستحتاج إلى إضافة نسخة من المفتاح العام الخاص بك إلى ملف ~/.ssh/authorized_keys لتسجيل الدخول بنجاح.

نظرًا لأن المفتاح العام الخاص بك موجود بالفعل في ملف ~/.ssh/authorized_keys الخاص بحساب الجذر على الخادم، يمكنك نسخ ذلك الملف وهيكل الدليل إلى حساب مستخدم جديد.

أسهل طريقة لنسخ الملفات بالملكيات والأذونات الصحيحة هي باستخدام الأمر rsync. سيقوم هذا بنسخ مجلد الجذر الخاص بالمستخدم .ssh، مع الحفاظ على الأذونات، وتعديل مالكي الملفات، كل ذلك في أمر واحد. تأكد من تغيير الأجزاء المظللة في الأمر أدناه لتتناسب مع اسم المستخدم العادي الخاص بك:

ملاحظة: يعامل أمر rsync المصادر والوجهات التي تنتهي بشرطة مائلة بشكل مختلف عن تلك التي لا تحتوي على شرطة مائلة. عند استخدام rsync أدناه، تأكد من أن دليل المصدر (~/.ssh) لا يحتوي على شرطة مائلة (تحقق للتأكد من أنك لا تستخدم ~/.ssh/).

إذا أضفت بشكل عرضي شرطة مائلة إلى الأمر، سيقوم rsync بنسخ محتويات دليل ~/.ssh لحساب المستخدم الجذر إلى دليل المستخدم sudo المنزلي بدلاً من نسخ هيكل دليل ~/.ssh بأكمله. ستكون الملفات في الموقع الخطأ ولن يتمكن SSH من العثور عليها واستخدامها.

  1. rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

الآن، عد إلى نافذة تيرمينال جديدة على جهازك المحلي، وافتح جلسة SSH جديدة باستخدام حسابك غير الـ جذري:

  1. ssh sammy@your_server_ip

يجب أن تكون قد قمت بتسجيل الدخول إلى حساب المستخدم الجديد دون استخدام كلمة مرور. تذكر، إذا كنت بحاجة إلى تشغيل أمر بامتيازات إدارية، اكتب sudo قبله مثل هذا:

  1. sudo command_to_run

سيُطلب منك كلمة مرور المستخدم العادي عند استخدام sudo لأول مرة خلال كل جلسة (ومن حين لآخر بعد ذلك).

الختام

في هذه النقطة، لديك أساس قوي لخادمك. يمكنك تثبيت أي من البرامج التي تحتاجها على خادمك الآن. على سبيل المثال، يمكنك البدء بتثبيت خادم الويب Nginx.

Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-rocky-linux-9