اذهب إلى المحتوى

تمهيد

هنالك بعض خطوات الضبط التي عليك إجراؤها عندما تُنشِئ خادومك، إذ ستزيد من حمايته وسهولة استخدامه، وستوفر لك أساسًا تستطيع البناء عليه لإجراء عمليات أخرى.

الخطوة الأولى: تسجيل الدخول بحساب الجذر

لتسجيل الدخول إلى خادومك، فعليك معرفة عنوان IP العام الخاص به إضافةً إلى كلمة مرور المستخدم الجذر root؛ إذا لم تُسجِّل دخولك من قبل إلى خادومك.
إذا لم تكن متصلًا بخادومك، فاستعمل الأمر الآتي الذي يُسجِّل دخولك بحساب الجذر root، لاحظ أنَّ عليك وضع عنوان IP العام لخادومك بدلًا من عبارة SERVER_IP_ADDRESS:

ssh root@SERVER_IP_ADDRESS

أكمل عملية تسجيل الدخول بقبولك للتحذير عن صحة وموثوقية الخادوم إن ظهر لك، ثم بتوفيرك لطريقة الاستيثاق المطلوبة لحساب الجذر (عبر كلمة مرور أو مفتاح خاص [private key]).
إذا كانت هذه هي أوّل مرة تسجِّل فيها دخولك إلى الخادوم، فسيُطلَب منك تغيير كلمة مرور الجذر أيضًا.

ما هو المستخدم الجذر؟

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

الخطوة الثانية: إنشاء حساب مستخدم جديد

بعد أن نسجِّل الدخول بحساب الجذر root، فأصبحنا جاهزين لإضافة حساب مستخدم جديد الذي سنستعمله من الآن وصاعدًا لتسجيل الدخول إلى النظام.
سنُنشِئ بواسطة الأمر الآتي مستخدمًا جديدًا باسم demo، لكن يمكنك استخدام أي اسم يحلو لك:

adduser demo

علينا بعد ذلك أن نسند كلمة مرور إلى المستخدم الجديد (تذكر أن تضع اسم المستخدم الذي اخترته بدلًا من demo):

passwd demo

ادخل كلمة مرور قوية، ثم كرِّر كتابتها للتأكيد.

الخطوة الثالثة: الحصول على امتيازات الجذر

أصبح لدينا الآن حساب مستخدم جديد يملك امتيازاتٍ عاديةً، لكننا سنحتاج في بعض الأحيان إلى إجراء عمليات إدارية.
ولتنجب الحاجة إلى تسجيل الخروج من حساب المستخدم العادي ثم الدخول مجددًا بحساب الجذر، فسنحاول ضبط إمكانية الحصول على امتيازات الجذر من حساب المستخدم العادي، وهذا يسمح للمستخدم العادي بتشغيل الأوامر بصلاحيات إدارية بوضع الكلمة sudo قبل كل أمر ينفذه.
لإضافة هذه الامتيازات إلى مستخدمنا الجديد، فعلينا إضافة المستخدم الجديد إلى مجموعة wheel؛ فالسلوك المبدئي لنظام CentOS 7 يسمح للمستخدمين الذين ينتمون إلى المجموعة wheel بالحصول على امتيازات الجذر باستعمال الأمر sudo.
نفِّذ الأمر الآتي بعد تسجيل دخولك بحساب الجذر لإضافة المستخدم الجديد إلى مجموعة wheel (لا تنسَ أن تضع اسم المستخدم الذي أنشَأته بدلًا من demo):

gpasswd -a demo wheel

يمكن للمستخدم الآن أن ينفِّذ الأوامر بامتيازات الجذر؛ ولمزيدٍ من المعلومات عن هذا الموضوع، أنصحك بقراءة درس How To Edit the Sudoers File on Ubuntu and CentOS.

الخطوة الرابعة: ضبط الاستيثاق عبر مفتاح عمومي (خطوة مستحسنة)

الخطوة التالية في طريق زيادة حماية خادومك هي ضبط الاستيثاق عبر مفتاح عمومي (public key authentication) للمستخدم الجديد الذي أنشَأته؛ مما يزيد من حماية خادومك بطلب مفتاح SSH خاص لإتمام تسجيل الدخول.

توليد زوج من المفاتيح

إذا لم يكن لديك زوجٌ من مفاتيح SSH، والتي تتألف من مفتاح عمومي ومفتاح خاص، فعليك توليدها؛ أما إذا كان زوج المفاتيح متوافرًا عندك فاذهب إلى خطوة «نسخ المفتاح العمومي» مباشرةً.
نفِّذ الأمر الآتي في طرفية الجهاز المحلي لتوليد زوج جديد من المفاتيح:

ssh-keygen

ولنفترض جدلًا أنَّ اسم المستخدم المحلي هو localuser، فستشاهد ناتجًا شبيهًا بالناتج الآتي:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

اضغط على زر Enter لقبول اسم الملف ومساره، أو أدخِل اسمًا جديدًا له.
سيُطلَب منك الآن إدخال عبارة مرور (passphrase) لتأمين المفتاح، يمكنك أن تدخِل ما تشاء في هذا الحقل أو أن تتركه فارغًا.
ملاحظة: إذا تركتَ حقل عبارة المرور فارغًا فستتمكن من استخدام المفتاح الخاص للاستيثاق دون الحاجة إلى إدخال عبارة المرور؛ أما إذا أدخلت عبارة المرور، فعليك توفير المفتاح الخاص إضافةً إلى عبارة المرور عند تسجيل الدخول. وصحيحٌ أنَّ إنشاء مفاتيح محمية بعبارة مرور أكثر أمانًا، لكن هنالك مواطن استخدام لكلا الطريقتين اللتين تصنفان أنهما أكثر أمانًا من الاستيثاق التقليدي عبر كلمات المرور (passwords).
سيولّد مفتاح خاص باسم id_rsa ومفتاح عام باسم id_rsa.pub في مجلد ‎.ssh الموجود في مجلد المنزل التابع للمستخدم المحلي localuser؛ تذكر أنَّ المفتاح الخاص يجب ألّا يُشارك مع أي شخص لا يحق له الوصول إلى خواديمك.

نسخ المفتاح العمومي

بعد توليد زوج مفاتيح SSH، عليك نسخ المفتاح العمومي إلى خادومك الجديد، وسنشرح طريقتين سهلتين لفعل ذلك.

الطريقة الأولى: استخدام سكربت ssh-copy-id

إذا كان السكربت ssh-copy-id مثبتًا على جهازك المحلي، فيمكنك استخدامه لتثبيت المفتاح العمومي لأي مستخدم تملك معلومات الوصول الخاصة به.
شغِّل سكربت ssh-copy-id بتحديد اسم المستخدم وعنوان IP للخادوم الذي تريد تثبيت المفتاح عليه، كما في الأمر الآتي:

ssh-copy-id demo@SERVER_IP_ADDRESS

بعد كتابة كلمة المرور عند طلبها، فيجب أن يُضاف المفتاح العمومي الخاص بك إلى ملف ‎.ssh/authorized_keys في الخادوم البعيد؛ ويمكن الآن استخدام المفتاح الخاص لتسجيل الدخول إليه.

الطريقة الثانية: تثبيت المفتاح يدويًا

بفرض أنَّك ولدت زوجًا من مفاتيح SSH باستعمال الخطوة السابقة، يمكنك تنفيذ الأمر الآتي في طرفية جهازك المحلي لطباعة محتويات المفتاح العمومي (id_rsa.pub):

cat ~/.ssh/id_rsa.pub

يجب أن تظهر أمامك محتويات المفتاح العمومي، والذي سيبدو كما يلي:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local

حدِّد المفتاح العمومي وانسخه إلى الحافظة.
يجب أن نضيف المفتاح العمومي إلى ملفٍ خاص في مجلد المنزل للمستخدم الذي أنشأناه على الخادوم البعيد، وذلك لتمكين الاستيثاق عبره في SSH.
نُفِّذ الأمر الآتي بعد تسجيلك بحساب الجذر root إلى الخادوم للتبديل إلى حساب المستخدم الجديد الذي أنشأتَه (تذكر أن تضع الاسم الذي اخترتَه بدلًا من demo):

su - demo

ستنتقل الآن إلى مجلد المنزل الخاص بالمستخدم الجديد.
أنشِئ مجلدًا جديدًا باسم ‎.ssh وامنع بقية المستخدمين من الوصول إليه، وذلك بتنفيذ الأمرين الآتيين:

mkdir .ssh
chmod 700 .ssh

أنشِئ ملفًا جديدًا في مجلد ‎.ssh باسم authorized_keys باستعمال محررك النصي المفضل، سنستخدم هنا محرر vi لتعديل الملف :

vi .ssh/authorized_keys

بدِّل إلى نمط الإدخال بالضغط على i ثم ألصق المفتاح العمومي (الذي يجب أن يكون موجودًا في الحافظة)، ثم اضغط على زر ESC للخروج من نمط الإدخال.
أدخِل ‎:x ثم اضغط على Enter لحفظ الملف والخروج من المحرر النصي.
ثم امنع الوصول إلى ملف authorized_keys لجميع المستخدمين ما عدا المستخدم المالك باستعمال هذا الأمر:

chmod 600 .ssh/authorized_keys

ثم نفِّذ هذا الأمر مرةً واحدةً للعودة إلى حساب المستخدم الجذر:

exit

يمكنك الآن تسجيل الدخول بحساب المستخدم الجديد عبر SSH باستعمال المفتاح الخاص للاستيثاق.
لمزيدٍ من المعلومات حول طريقة عمل الاستيثاق عبر المفاتيح، فأنصحك بقراءة مقالة العمل مع خواديم SSH: العملاء والمفاتيح.

الخطوة الخامسة: ضبط خدمة SSH

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

vi /etc/ssh/sshd_config

يمكننا هنا تعطيل تسجيل الدخول بحساب الجذر إلى SSH، وهذا أكثر أمانًا، وتذكر أننا نستطيع الوصول إلى خادومنا عبر حساب المستخدم العادي ثم الحصول على امتيازات الجذر عند اللزوم.
لتعطيل تسجيل الدخول لحساب الجذر عن بعد، عليك العثور على سطرٍ شبيهٍ بالسطر الآتي:

#PermitRootLogin yes

تلميح: للبحث عن السطر السابق في محرر vi، يمكنك أن تكتب ‎/PermitRoot ثم تضغط على Enter، مما سيحرك المؤشر إلى الحرف P في السطر السابق.
احذف رمز التعليق من السطر السابق بحذف محرف # (اضغط على Shift-x).
ثم انقل المؤشر إلى الكلمة yes بالضغط على c.
استبدل كلمة yes بالضغط على cw ثم اكتب الكلمة no ثم اضغط على زر Escape بعد أن تنتهي من التعديلات؛ ويجب أن يصبح السطر كما يلي:

PermitRootLogin no

أدخِل ‎:x ثم Enter لحفظ الملف والخروج من المحرر النصي.

إعادة تحميل خدمة SSH

بعد أن أجرينا تعديلاتنا، سنحتاج إلى إعادة تشغيل خدمة SSH لكي تستعمل الضبط المُعدَّل.
اكتب السطر الآتي لإعادة تحميل SSH:

systemctl reload sshd

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

ssh demo@SERVER_IP_ADDRESS

ملاحظة: إذا كنتَ تستخدم برمجية PuTTY للاتصال إلى خواديمك، فاحرص على تحديث رقم المنفذ ليُطابِق إعدادات النظام الحالي.
تذكر أنَّ تضع الأمر sudo قبل الأوامر التي تريد تنفيذها بامتيازات الجذر كما يلي:

sudo command_to_run

إذا جرى كل شيءٍ على ما يرام، فاخرج من كلا الجلستين بكتابة:

exit

ما هي الخطوات القادمة؟

أنشأنا في هذا الدرس أساسًا صلبًا لخادومك، ويمكنك الآن تثبيت أي برمجيات تحتاج لها عليه.
لمزيدٍ من المعلومات حول الخواديم عمومًا، فتصفح قسم DevOps في أكاديمية حسوب


ترجمة –وبتصرف– للمقال Initial Server Setup with CentOS 7 لصاحبه Mitchell Anicas


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...