حول المحتوى:
في هذا المقال، سنتعرف معًا خطوة بخطوة على كيفية تثبيت خدمة SSH على Ubuntu Server، وضبط إعداداتها الأساسية، وتحسين مستوى الأمان الخاص بها لضمان بيئة عمل أكثر استقرارًا وأمانًا.
في عالم إدارة الخوادم (DevOps)، يعتبر SSH (اختصارًا لـ Secure Shell) واحدًا من أهم البروتوكولات المستخدمة للتحكم بالخوادم عن بُعد بطريقة آمنة وموثوقة. فمن خلاله، يمكن للمطورين ومديري الأنظمة الوصول إلى الخوادم وتنفيذ الأوامر، أو نقل الملفات، أو إدارة الخدمات من أي مكان في العالم دون الحاجة إلى التواجد الفعلي أمام الجهاز.
وبما أن خوادم Ubuntu تعد من أكثر أنظمة التشغيل استخدامًا في بيئات الاستضافة والخدمات السحابية، فإن إعداد وضبط SSH بشكل صحيح يمثل خطوة ضرورية وأساسية عند تشغيل أي خادم جديد.
ليس ذلك فحسب، بل إن تأمين إعدادات SSH يُعتبر من أهم عوامل حماية الخوادم من محاولات الاختراق والهجمات المستهدفة.
في هذا المقال، سنتعرف معًا خطوة بخطوة على كيفية تثبيت خدمة SSH على Ubuntu Server، وضبط إعداداتها الأساسية، وتحسين مستوى الأمان الخاص بها لضمان بيئة عمل أكثر استقرارًا وأمانًا.
عند تثبيت نسخة Ubuntu Server لأول مرة، قد لا تكون خدمة SSH مثبتة بشكل افتراضي. لذلك، الخطوة الأولى لإدارة الخادم عن بُعد هي تثبيت خدمة OpenSSH Server، وهي الحزمة التي توفّر خادم SSH على نظام Ubuntu.
من الأفضل دائمًا التأكد من أن النظام محدث قبل تثبيت أي حزمة جديدة. لتنفيذ ذلك، يمكن استخدام الأمر التالي:
sudo apt update && sudo apt upgrade -y
بعد تحديث النظام، يمكن تثبيت خادم SSH باستخدام الأمر:
sudo apt install openssh-server
سيقوم النظام بتنزيل وتثبيت الحزمة المطلوبة، مع بدء تشغيل الخدمة بشكل تلقائي بعد اكتمال التثبيت.
بعد تثبيت الخدمة، يفضل التأكد من أنها تعمل بشكل صحيح. يمكن تنفيذ الأمر التالي للتحقق من حالة الخدمة:
sudo systemctl status ssh
إذا ظهرت رسالة تفيد بأن الخدمة "active (running)" فهذا يعني أن SSH يعمل بنجاح على الخادم.
حتى يبدأ تشغيل خدمة SSH بشكل تلقائي مع كل إعادة تشغيل للنظام، يمكن تنفيذ الأمر:
sudo systemctl enable ssh
بهذه الخطوات يكون خادم Ubuntu الخاص بك قد أصبح جاهزًا للاتصال عن بُعد باستخدام SSH، ويمكن الآن الانتقال إلى ضبط إعدادات الجدار الناري للسماح بالاتصال عبر SSH.
بعد تثبيت وتشغيل خدمة SSH، من الضروري التأكد من أن الجدار الناري الخاص بالنظام يسمح بمرور الاتصالات القادمة عبر المنفذ الخاص بـ SSH، والذي يكون عادة المنفذ رقم 22 بشكل افتراضي.
نظام Ubuntu يأتي مزودًا بأداة جدار ناري تُعرف باسم UFW (اختصارًا لـ Uncomplicated Firewall)، وهي أداة بسيطة وفعالة لإدارة قواعد الجدار الناري.
في البداية يمكن معرفة ما إذا كان UFW مفعّلًا أم لا عن طريق الأمر التالي:
sudo ufw status
إذا ظهرت رسالة تقول Status: inactive
فهذا يعني أن الجدار الناري غير مفعل حاليًا، ويمكن تفعيله لاحقًا بعد ضبط القواعد المطلوبة.
للسماح بالاتصالات الواردة عبر المنفذ 22 الخاص بـ SSH، يمكن تنفيذ الأمر:
sudo ufw allow ssh
هذا الأمر يضيف قاعدة تسمح بالاتصال عبر المنفذ 22.
بديلًا عن استخدام اسم الخدمة، يمكن تحديد رقم المنفذ مباشرة:
sudo ufw allow 22
إذا كنت تخطط لاحقًا لتغيير رقم المنفذ في إعدادات SSH، ستحتاج إلى السماح بالمنفذ الجديد بنفس الطريقة قبل تفعيل الجدار الناري.
بعد ضبط القاعدة الخاصة بـ SSH، يمكن تفعيل الجدار الناري باستخدام الأمر:
sudo ufw enable
عند تنفيذ هذا الأمر للمرة الأولى، سيطلب منك النظام تأكيد العملية.
من الضروري التأكد أن قاعدة السماح بـ SSH مضافة قبل التفعيل حتى لا يتم قطع الاتصال بالخادم.
بعد تفعيل الجدار الناري، يمكن مراجعة القواعد المفعلة باستخدام:
sudo ufw status numbered
سيعرض النظام قائمة بالقواعد المطبقة مع أرقامها، ويمكن لاحقًا حذف أو تعديل أي قاعدة بسهولة.
إذا كنت تتصل بالخادم عن بُعد بالفعل باستخدام SSH، فمن المهم جدًا التأكد من إضافة قاعدة السماح قبل تفعيل UFW، حتى لا يتم قطع الاتصال وتعطيل الوصول إلى الخادم.
بعد الانتهاء من تثبيت خدمة SSH وضبط إعدادات الجدار الناري للسماح بالاتصال، يمكنك الآن الاتصال بالخادم عن بُعد من أي جهاز آخر متصل بالشبكة أو عبر الإنترنت باستخدام أداة SSH.
لإجراء الاتصال ستحتاج إلى:
عنوان IP الخاص بالخادم.
اسم المستخدم الذي ستسجّل الدخول به.
التأكد من أن خدمة SSH تعمل بشكل صحيح على الخادم.
يمكن تنفيذ الاتصال من أي نظام تشغيل يدعم SSH (مثل أنظمة Linux و macOS مباشرة عبر الطرفية، أو من Windows باستخدام تطبيق مثل PuTTY أو عبر Windows Terminal في الإصدارات الحديثة).
الصيغة الأساسية للأمر:
ssh username@server_ip
مع استبدال:
username
باسم المستخدم الذي تريد تسجيل الدخول به.
server_ip
بعنوان IP الخاص بالخادم.
إذا كان اسم المستخدم هو mohammed
وعنوان الخادم هو 192.168.1.100
:
ssh [email protected]
عند تنفيذ هذا الأمر لأول مرة، سيعرض النظام رسالة تأكيد لإضافة البصمة الرقمية الخاصة بالخادم إلى قائمة الأجهزة الموثوقة على الجهاز العميل.
عند تأكيد ذلك، سيُطلب منك إدخال كلمة مرور المستخدم.
بعد الانتهاء من العمل على الخادم، يمكن إنهاء الاتصال من خلال كتابة الأمر:
exit
ثم الضغط على Enter.
بهذه الطريقة أصبح بإمكانك التحكم في خادم Ubuntu الخاص بك عن بُعد وتنفيذ الأوامر عليه بسهولة وأمان باستخدام SSH.
بعد تثبيت خدمة SSH وتشغيلها بنجاح، من المهم ضبط بعض الإعدادات الإضافية لتعزيز مستوى الأمان على الخادم. فالإعدادات الافتراضية قد تترك الخادم عرضة لمحاولات الاختراق، خاصة في حال ترك منفذ SSH الافتراضي مفتوحًا أو السماح بتسجيل الدخول كمستخدم root.
جميع إعدادات SSH موجودة في الملف:
/etc/ssh/sshd_config
يمكن فتح الملف باستخدام محرر نصوص مثل nano:
sudo nano /etc/ssh/sshd_config
بعد فتح الملف، يمكن تعديل الخيارات التالية:
بشكل افتراضي، يستخدم SSH المنفذ رقم 22. لتقليل احتمالات التعرض لهجمات التخمين الآلي، من الأفضل تغييره إلى رقم آخر (مثل 2222 أو 8888).
ابحث عن السطر:
#Port 22
وأزل علامة #
وعدل الرقم مثلًا:
Port 2222
احرص على السماح بالمنفذ الجديد في إعدادات الجدار الناري قبل تنفيذ هذه الخطوة.
لحماية الخادم من محاولات الدخول المباشرة بحساب root، يفضل تعطيل تسجيل الدخول لهذا المستخدم.
ابحث عن السطر:
PermitRootLogin yes
وعدّله إلى:
PermitRootLogin no
يمكن تحديد قائمة المستخدمين المصرّح لهم بتسجيل الدخول عبر SSH فقط.
في نهاية الملف، أضف:
AllowUsers mohammed user2
مع استبدال mohammed
وuser2
بأسماء المستخدمين المسموح لهم.
بعد الانتهاء من تعديل الإعدادات، احفظ الملف (في محرر nano اضغط Ctrl + O
ثم Enter للحفظ و Ctrl + X
للخروج).
ثم أعد تشغيل خدمة SSH لتطبيق التغييرات:
sudo systemctl restart ssh
في حال تغيير رقم المنفذ، يجب الاتصال بالخادم من الآن فصاعدًا مع تحديد المنفذ الجديد. مثلًا:
ssh -p 2222 [email protected]
بهذا الشكل تكون قد حسّنت مستوى الأمان في خدمة SSH على الخادم وأضفت حماية إضافية ضد الهجمات الشائعة.
الاعتماد على كلمات المرور لتأمين الاتصال بالخادم عبر SSH يعتبر أقل أمانًا، خاصة في حال اختيار كلمات مرور ضعيفة أو متكررة.
أما المصادقة باستخدام المفاتيح (Public/Private Key Authentication) فهي طريقة أكثر أمانًا، حيث تعتمد على زوج من المفاتيح:
مفتاح خاص (Private Key) يبقى محفوظًا على جهاز المستخدم.
مفتاح عام (Public Key) يتم نسخه على الخادم.
ميزة هذه الطريقة أن الاتصال لا يمكن إتمامه إلا إذا كان جهاز المستخدم يحتوي على المفتاح الخاص المطابق للمفتاح العام الموجود في الخادم، مما يصعّب جدًا محاولات الاختراق حتى لو تم تخمين اسم المستخدم.
على جهاز العميل (حاسوبك الشخصي)، افتح الطرفية ونفّذ الأمر التالي لإنشاء زوج مفاتيح:
ssh-keygen
سيطلب منك تحديد مكان حفظ المفتاح. يمكنك الضغط على Enter لاختيار المسار الافتراضي:
/home/username/.ssh/id_rsa
ثم يمكنك وضع عبارة سرية (Passphrase) إضافية للمفتاح لزيادة الحماية، أو الضغط Enter لتركها فارغة.
بعد إنشاء المفتاح، يمكن إرسال المفتاح العام إلى الخادم باستخدام الأمر:
ssh-copy-id username@server_ip
مع استبدال username
و server_ip
بالقيم المناسبة.
إذا كنت تستخدم منفذًا مخصصًا لـ SSH غير 22، أضف الخيار -p
:
ssh-copy-id -p 2222 username@server_ip
عند تنفيذ هذا الأمر، سيُطلب منك إدخال كلمة مرور المستخدم لمرة واحدة فقط، ليقوم بعدها النظام بنسخ المفتاح العام إلى الملف التالي على الخادم:
/home/username/.ssh/authorized_keys
بعد نسخ المفتاح، يمكن تجربة الاتصال بالخادم:
ssh username@server_ip
إذا تم الاتصال مباشرة دون طلب كلمة مرور فهذا يعني أن المصادقة بالمفاتيح تعمل بنجاح.
بعد التأكد من نجاح المصادقة بالمفاتيح، يمكن إلغاء إمكانية تسجيل الدخول باستخدام كلمة المرور كخطوة إضافية لزيادة الحماية.
افتح ملف إعدادات SSH:
sudo nano /etc/ssh/sshd_config
ثم عدل السطر:
PasswordAuthentication yes
إلى:
PasswordAuthentication no
بعدها احفظ الملف وأعد تشغيل الخدمة:
sudo systemctl restart ssh
قبل تنفيذ هذه الخطوة:
تأكد من أن المصادقة بالمفاتيح تعمل بنجاح.
لا تقم بتعطيل كلمات المرور إلا بعد اختبار المفتاح على اتصال فعلي، حتى لا تفقد الوصول إلى الخادم.
بهذا تكون قد أعددت نظامًا آمنًا يعتمد على المفاتيح بدل كلمات المرور، مما يقلل بشكل كبير من مخاطر الاختراق.
بعد إتمام إعداد المصادقة بالمفاتيح بنجاح وتعطيل تسجيل الدخول بكلمات المرور، يصبح خادمك أكثر أمانًا ضد محاولات الاختراق المباشر. ورغم ذلك، لا يزال بالإمكان اتخاذ بعض الإجراءات الإضافية التي من شأنها تعزيز الحماية وتأمين الخادم بشكل أفضل. في هذا الجزء، نستعرض مجموعة من النصائح المهمة التي يُنصح بتطبيقها مع أي خادم يستخدم SSH.
ترك خدمة SSH تعمل على المنفذ 22 الافتراضي يجعلها هدفًا سهلًا لأدوات التخمين الآلي التي تفحص الشبكات بحثًا عن هذا المنفذ.
يفضل اختيار رقم منفذ مختلف (مثل 2222 أو 8822) مع السماح له في إعدادات الجدار الناري قبل تطبيق التغيير.
Fail2Ban هي أداة تقوم بمراقبة ملفات السجلات (Logs) الخاصة بالنظام، وعند اكتشاف محاولات تسجيل دخول متكررة وفاشلة، تقوم بحظر عنوان IP المهاجم لفترة محددة.
يمكن تثبيتها بسهولة عبر:
sudo apt install fail2ban
ثم ضبط إعداداتها لتأمين SSH بشكل أفضل.
يمكن في إعدادات SSH تحديد عدد المحاولات المسموح بها قبل قطع الاتصال، وذلك بتعديل ملف:
/etc/ssh/sshd_config
وإضافة:
MaxAuthTries 3
هذا يمنع محاولات التخمين المتكررة.
في حال إنشاء مفتاح SSH، يُفضَّل وضع Passphrase معقدة أثناء توليد المفتاح لحماية المفتاح الخاص من الاستخدام في حال سرقته.
بعد التأكد من عمل المصادقة بالمفاتيح لكل المستخدمين المعتمدين على الخادم، يمكن تعطيل المصادقة بكلمات المرور كما وضحنا في القسم السابق.
هذه الخطوة تحمي الخادم تمامًا من أي محاولة لاختراقه باستخدام كلمات مرور.
الحرص على تحديث نظام التشغيل وخدمات SSH بشكل مستمر يغلق الثغرات الأمنية التي قد تظهر بمرور الوقت.
sudo apt update && sudo apt upgrade
ختاما، من خلال تنفيذ هذه الخطوات والنصائح، يمكنك إعداد خدمة SSH آمنة ومستقرة على خادم Ubuntu الخاص بك.
فالأمان في بيئة الخوادم لا يعتمد على خطوة واحدة، بل على مجموعة من الإجراءات الوقائية المتكاملة التي تعمل معًا لحماية بياناتك ومواردك من أي محاولات غير مصرح بها.
ابدأ بتطبيق هذه الخطوات، واحرص على مراجعة إعدادات الخادم بشكل دوري لضمان استمرار الحماية بأعلى مستوى ممكن.
في هذا المقال، سنتعرف معًا خطوة بخطوة على كيفية تثبيت خدمة SSH على Ubuntu Server، وضبط إعداداتها الأساسية، وتحسين مستوى الأمان الخاص بها لضمان بيئة عمل أكثر استقرارًا وأمانًا.
مساحة اعلانية
لا، لا يمكن للذكاء الاصطناعي استبدال البشر تمامًا في مجال الأمن السيبراني. في حين أن الذكاء الاصطناعي يمكنه أتمتة بعض المهام مثل الكشف عن التهديدات وتحليل البيانات، إلا أن الخبرة البشرية تظل ضرورية لفهم السياق الكامل للهجمات واتخاذ قرارات دقيقة في المواقف المعقدة.