المقدمة
عند إنشاء خادم Rocky Linux 8 جديد لأول مرة، هناك بعض خطوات الإعداد التي يجب أن تقوم بها في وقت مبكر كجزء من الإعداد الأساسي. ستزيد هذه الخطوات من أمان واستخدامية الخادم الخاص بك وستمنحك أساسًا قويًا للاستفادة من الإجراءات التالية.
الخطوة 1 — تسجيل الدخول كمستخدم روت
لتسجيل الدخول إلى خادمك، ستحتاج إلى معرفة عنوان IP العام للخادم الخاص بك. ستحتاج أيضًا إلى كلمة المرور أو، إذا كنت قد قمت بتثبيت مفتاح SSH للمصادقة، فستحتاج إلى المفتاح الخاص بالمستخدم روت. إذا لم تكن قد سجلت الدخول إلى خادمك بالفعل، قد ترغب في متابعة وثائقنا حول كيفية الاتصال بـ Droplet الخاص بك باستخدام SSH، والتي تغطي هذه العملية بالتفصيل.
إذا لم تكن قد قمت بالفعل بالاتصال بالخادم الخاص بك، قم بتسجيل الدخول الآن كمستخدم روت باستخدام الأمر التالي (استبدل الجزء المظلل من الأمر بعنوان IP العام للخادم الخاص بك):
قم بقبول التحذير حول صحة المضيف إذا ظهر. إذا كنت تستخدم المصادقة بكلمة المرور، قم بتقديم كلمة المرور الخاصة بالمستخدم root لتسجيل الدخول. إذا كنت تستخدم مفتاح SSH الذي يتم حمايته بعبارة مرور، قد يُطلب منك إدخال العبارة المرورية في أول مرة تستخدم فيها المفتاح خلال كل جلسة. إذا كانت هذه أول مرة تقوم فيها بتسجيل الدخول إلى الخادم باستخدام كلمة مرور، قد يُطلب منك أيضًا تغيير كلمة مرور المستخدم root.
حول المستخدم Root
المستخدم root هو المستخدم الإداري في بيئة Linux، ولديه امتيازات واسعة جدًا. نظرًا للامتيازات المتزايدة لحساب root، يُنصح بعدم استخدامه بشكل متكرر. يعود ذلك إلى أن جزءًا من القوة الكامنة في حساب root هو القدرة على إجراء تغييرات مدمرة للغاية، حتى عن طريق الخطأ.
لذلك، الخطوة التالية هي إعداد حساب مستخدم بديل بنطاق تأثير مخفض للعمل اليومي. سيكون بالإمكان لهذا الحساب الحصول على امتيازات متزايدة عند الضرورة.
الخطوة 2 — إنشاء مستخدم جديد
بمجرد تسجيل الدخول بصفتك root، يمكنك إنشاء حساب المستخدم الجديد الذي سنستخدمه لتسجيل الدخول من الآن فصاعدًا.
هذا المثال ينشئ مستخدمًا جديدًا يسمى “sammy”، ولكن يجب عليك استبداله بأي اسم مستخدم تفضله:
بعد ذلك، قم بتعيين كلمة مرور قوية لمستخدم “sammy”:
سيُطلب منك إدخال كلمة المرور مرتين. بعد القيام بذلك، سيكون مستخدمك جاهزًا للاستخدام، ولكننا سنمنح هذا المستخدم امتيازات إضافية لاستخدام الأمر “sudo”. وهذا سيتيح لنا تشغيل الأوامر كـ “root” عند الضرورة.
الخطوة 3 — منح الامتيازات الإدارية
الآن، لدينا حساب مستخدم جديد بامتيازات حساب عادية. ومع ذلك، قد نحتاج في بعض الأحيان إلى أداء مهام إدارية.
لتجنب الحاجة إلى تسجيل الخروج من حساب المستخدم العادي وتسجيل الدخول مرة أخرى باسم المستخدم “root”، يمكننا إعداد ما يعرف بامتيازات “superuser” أو “root” لحسابنا العادي. وسيتيح لنا هذا للمستخدم العادي تشغيل الأوامر بامتيازات إدارية عن طريق وضع كلمة “sudo” قبل كل أمر.
لإضافة هذه الامتيازات إلى مستخدمنا الجديد، نحتاج إلى إضافة المستخدم الجديد إلى مجموعة “wheel”. وبشكل افتراضي، على Rocky Linux 8، يُسمح للمستخدمين الذين ينتمون إلى مجموعة “wheel” باستخدام الأمر “sudo”.
كمستخدم root، قم بتشغيل هذا الأمر لإضافة مستخدمك الجديد إلى مجموعة wheel (استبدل الكلمة المظللة باسم المستخدم الجديد الخاص بك):
الآن، عند تسجيل الدخول بصفتك مستخدم عادي، يمكنك كتابة sudo
قبل الأوامر للقيام بالإجراءات بامتيازات المستخدم الجذر.
الخطوة 4 — إعداد جدار ناري أساسي
توفر الجدران النارية مستوى أساسيًا من الأمان لخادمك. تتولى هذه التطبيقات منع حركة المرور إلى كل منفذ على الخادم الخاص بك، باستثناء تلك المنافذ/الخدمات التي وافقت عليها صراحة. تحتوي Rocky Linux على خدمة تُدعى firewalld
لأداء هذه الوظيفة. يُستخدم أداة تُدعى firewall-cmd
لتكوين سياسات جدار الحماية firewalld
.
ملاحظة: إذا كانت خوادمك تعمل على DigitalOcean، يمكنك استخدام DigitalOcean Cloud Firewalls اختياريًا بدلاً من firewalld
. نوصي باستخدام جدار ناري واحد فقط في وقت واحد لتجنب القواعد المتعارضة التي قد تكون صعبة للتصحيح.
قم أولاً بتثبيت firewalld
:
تسمح التكوين الافتراضي لـ firewalld
باتصالات ssh
، لذا يمكننا تشغيل جدار الحماية على الفور:
تحقق من حالة الخدمة للتأكد من بدء التشغيل:
Output● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-02-06 16:39:40 UTC; 3s ago
Docs: man:firewalld(1)
Main PID: 13180 (firewalld)
Tasks: 2 (limit: 5059)
Memory: 22.4M
CGroup: /system.slice/firewalld.service
└─13180 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid
يرجى ملاحظة أنه نشط
و ممكّن
، مما يعني أنه سيبدأ بشكل افتراضي إذا تم إعادة تشغيل الخادم.
الآن بعد أن بدأت الخدمة بالتشغيل، يمكننا استخدام أداة firewall-cmd
للحصول على معلومات السياسة وتعيينها للجدار الناري.
دعنا نبدأ بعرض الخدمات التي تم السماح بها بالفعل:
Outputpublic (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:
لرؤية الخدمات الإضافية التي يمكنك تمكينها بالاسم، اكتب:
لإضافة خدمة يجب السماح بها، استخدم العلم --add-service
:
سيتم بهذا إضافة خدمة http
والسماح بحركة المرور الواردة باستخدام TCP إلى المنفذ 80
. ستتم تحديث الإعداد بعد إعادة تحميل الجدار الناري:
تذكر أنه يجب عليك فتح الجدار الناري بشكل صريح (بالخدمات أو المنافذ) لأي خدمات إضافية قد تقوم بتكوينها لاحقًا.
الخطوة 5 — تمكين الوصول الخارجي للمستخدم العادي الخاص بك
الآن بعد أن لدينا مستخدم عادي غير root للاستخدام اليومي، نحتاج إلى التأكد من أننا يمكننا استخدامه للاتصال بـ SSH إلى خادمنا.
ملاحظة: حتى تتمكن من التحقق من إمكانية تسجيل الدخول واستخدام sudo
باستخدام المستخدم الجديد الخاص بك، نوصي بالبقاء مسجلاً بوصفك كـ root. بهذه الطريقة، إذا واجهتك مشاكل، يمكنك تتبع الأخطاء وإجراء أي تغييرات ضرورية بصفتك root. إذا كنت تستخدم Droplet من DigitalOcean وواجهت مشاكل في اتصال SSH الخاص بك بصفتك root، يمكنك تسجيل الدخول إلى Droplet باستخدام DigitalOcean Console.
إجراء تكوين الوصول عبر SSH للمستخدم الجديد يعتمد على ما إذا كان حساب root على الخادم يستخدم كلمة مرور أو مفاتيح SSH للمصادقة.
إذا كان حساب الـ Root يستخدم المصادقة بواسطة كلمة المرور
إذا قمت بتسجيل الدخول إلى حسابك root باستخدام كلمة مرور، فإن المصادقة باستخدام كلمة المرور مفعلة لـ SSH. يمكنك الاتصال عبر SSH بحساب المستخدم الجديد الخاص بك عن طريق فتح جلسة ترمينال جديدة واستخدام SSH مع اسم المستخدم الجديد:
بعد إدخال كلمة مرور المستخدم العادي، ستتم عملية تسجيل الدخول. تذكر، إذا كنت بحاجة إلى تشغيل أمر بامتيازات إدارية، اكتب sudo
قبله مثل هذا:
سيُطلب منك إدخال كلمة مرور المستخدم العادي عند استخدام sudo
لأول مرة في كل جلسة (وبشكل دوري بعد ذلك).
لتعزيز أمان الخادم الخاص بك، نوصي بشدة بإعداد مفاتيح SSH بدلاً من استخدام مصادقة كلمة المرور. اتبع دليلنا على إعداد مفاتيح SSH على Rocky Linux 8 لتعرف كيفية تكوين المصادقة القائمة على المفتاح.
إذا كان حساب الجذر يستخدم مصادقة مفتاح SSH
إذا قمت بتسجيل الدخول إلى حساب الجذر الخاص بك باستخدام مفاتيح SSH، فإن مصادقة كلمة المرور معطلة لبروتوكول SSH. ستحتاج إلى إضافة نسخة من المفتاح العام الخاص بك إلى ملف ~/.ssh/authorized_keys
للمستخدم الجديد من أجل تسجيل الدخول بنجاح.
نظرًا لأن المفتاح العام الخاص بك موجود بالفعل في ملف ~/.ssh/authorized_keys
الخاص بحساب الجذر على الخادم، يمكننا نسخ تلك الملفات وهيكل الدليل إلى حساب المستخدم الجديد.
أبسط طريقة لنسخ الملفات بالملكية والأذونات الصحيحة هي باستخدام أمر rsync
. سيقوم هذا الأمر بنسخ دليل المستخدم الجذر .ssh
، والاحتفاظ بالأذونات، وتعديل مالكي الملفات، كل ذلك في أمر واحد. تأكد من تغيير أجزاء الأمر المظللة أدناه لتتناسب مع اسم المستخدم العادي الخاص بك:
ملاحظة: تعامل أمر rsync
مع المصادر والوجهات التي تنتهي بشرطة مائلة بشكل مختلف عن تلك التي لا تنتهي بشرطة مائلة. عند استخدام rsync
أدناه، تأكد من أن دليل المصدر (~/.ssh
) لا يتضمن شرطة مائلة في النهاية (تحقق للتأكد من عدم استخدام ~/.ssh/
).
إذا أضفت عن طريق الخطأ شرطة مائلة إلى الأمر، سيقوم rsync
بنسخ محتويات دليل ~/.ssh
الخاص بحساب الجذر إلى دليل المستخدم sudo
في دليل المنزل بدلاً من نسخ هيكل الدليل ~/.ssh
بأكمله. ستكون الملفات في المكان الخطأ ولن يتمكن SSH من العثور عليها واستخدامها.
الآن، في نافذة الطرفية الجديدة على جهازك المحلي، افتح جلسة SSH جديدة مع حساب المستخدم غير الجذر:
يجب أن تكون مسجلاً داخل حساب المستخدم الجديد بدون استخدام كلمة مرور. تذكر، إذا كنت بحاجة إلى تشغيل أمر بامتيازات إدارية، اكتب sudo
قبله مثل هذا:
ستتلقى طلبًا لكلمة مرور مستخدمك العادي عند استخدام sudo
لأول مرة في كل جلسة (ومن حين لآخر بعد ذلك).
الاستنتاج
في هذه النقطة، لديك أساس قوي لخادمك. يمكنك الآن تثبيت أي من البرامج التي تحتاجها على خادمك.
Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-rocky-linux-8