تمهيد
هنالك بعض خطوات الضبط التي عليك إجراؤها عندما تُنشِئ خادومك، إذ ستزيد من حمايته وسهولة استخدامه، وستوفر لك أساسًا تستطيع البناء عليه لإجراء عمليات أخرى.
الخطوة الأولى: تسجيل الدخول بحساب الجذر
لتسجيل الدخول إلى خادومك، فعليك معرفة عنوان 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
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.