يعد الاتصال بالخادم باستخدام SSH (Secure Shell) مهمة أساسية لمديري الأنظمة والمطورين. بينما يوفر SSH

يعد الاتصال بالخادم باستخدام SSH (Secure Shell) مهمة أساسية لمديري الأنظمة والمطورين. بينما يوفر SSH قناة مشفرة، من الضروري تكوينه بشكل آمن لحماية خادمك من الوصول غير المصرح به. يغطي هذا الدليل الممارسات الرئيسية لاتصالات SSH الآمنة.

Beginner

يعد الاتصال بالخادم باستخدام SSH (Secure Shell) مهمة أساسية لمديري الأنظمة والمطورين. بينما يوفر SSH قناة مشفرة، من الضروري تكوينه بشكل آمن لحماية خادمك من الوصول غير المصرح به. يغطي هذا الدليل الممارسات الرئيسية لاتصالات SSH الآمنة.

1. استخدام المصادقة المستندة إلى مفتاح SSH

مفاتيح SSH أكثر أمانًا بكثير من كلمات المرور. تتضمن زوجًا من المفاتيح التشفيرية: مفتاح خاص (يُحتفظ به سراً على جهازك المحلي) ومفتاح عام (يوضع على الخادم).

  • إنشاء المفاتيح: على جهازك المحلي، استخدم ssh-keygen لإنشاء زوج مفاتيح. bash ssh-keygen -t rsa -b 4096 سيُطلب منك إدخال عبارة مرور لمفتاحك الخاص. استخدم عبارة مرور قوية.
  • نسخ المفتاح العام إلى الخادم: استخدم ssh-copy-id لنقل مفتاحك العام بسهولة إلى الخادم. bash ssh-copy-id username@your_server_ip يقوم هذا الأمر بإلحاق مفتاحك العام بملف ~/.ssh/authorized_keys على الخادم.

2. تعطيل المصادقة بكلمة المرور

بمجرد عمل مصادقة مفتاح SSH، قم بتعطيل تسجيلات الدخول بكلمة المرور لمنع هجمات القوة الغاشمة.

  • تحرير تكوين SSH: افتح ملف تكوين خادم SSH على الخادم. bash sudo nano /etc/ssh/sshd_config
  • تعديل الإعدادات: ابحث عن الأسطر التالية وقم بتغييرها: PasswordAuthentication no # إذا كنت تستخدم تسجيل الدخول الجذر، فتأكد من تعطيله أيضًا: # PermitRootLogin no
  • إعادة تشغيل خدمة SSH: قم بتطبيق التغييرات عن طريق إعادة تشغيل خدمة SSH. bash sudo systemctl restart sshd

3. تغيير منفذ SSH الافتراضي

منفذ SSH الافتراضي (22) هو هدف شائع للمسح الآلي. قد يؤدي تغييره إلى تقليل حركة المرور غير المرغوب فيها.

  • تحرير تكوين SSH: في /etc/ssh/sshd_config، ابحث عن السطر Port 22 وقم بتغيير 22 إلى رقم منفذ مختلف وغير مستخدم (على سبيل المثال، 2222). Port 2222
  • تحديث جدار الحماية: تأكد من أن جدار الحماية الخاص بك يسمح بحركة المرور على المنفذ الجديد. bash sudo ufw allow 2222/tcp sudo ufw delete allow ssh # إزالة القاعدة القديمة للمنفذ 22
  • إعادة تشغيل خدمة SSH: bash sudo systemctl restart sshd عند الاتصال، ستحتاج إلى تحديد المنفذ الجديد: ssh -p 2222 username@your_server_ip.

4. تقييد وصول المستخدم

قم بتقييد وصول SSH للمستخدمين الضروريين فقط.

  • تعطيل تسجيل الدخول الجذر: قم بتعيين PermitRootLogin no في /etc/ssh/sshd_config. قم دائمًا بتسجيل الدخول كمستخدم عادي واستخدم sudo للمهام الإدارية.
  • السماح لمستخدمين/مجموعات محددة: استخدم توجيهات AllowUsers أو AllowGroups في sshd_config لوضع علامة على الحسابات المحددة في القائمة البيضاء. AllowUsers your_user another_user

5. استخدام جدار حماية

قم بتكوين جدار الحماية الخاص بخادمك (على سبيل المثال، ufw) للسماح باتصالات SSH فقط من عناوين IP أو شبكات موثوق بها.

  • مثال مع UFW: bash sudo ufw allow from trusted_ip_address to any port 2222 proto tcp # أو للسماح من شبكة فرعية محددة # sudo ufw allow from 192.168.1.0/24 to any port 2222 proto tcp تذكر أيضًا السماح بالمنافذ الأخرى الضرورية لتطبيقاتك.

6. تطبيق Fail2Ban

يقوم Fail2Ban بفحص ملفات السجل بحثًا عن الأنشطة الضارة (مثل محاولات تسجيل الدخول الفاشلة المتكررة) ويقوم تلقائيًا بتحديث قواعد جدار الحماية لحظر عناوين IP المخالفة.

  • تثبيت Fail2Ban: bash sudo apt install fail2ban
  • التكوين: عادةً ما يعمل بشكل مباشر لـ SSH، ولكن يمكنك تخصيص إعداداته في /etc/fail2ban/jail.local.

7. الحفاظ على تحديث البرامج

قم بتحديث نظام تشغيل الخادم وبرنامج SSH الخاص بك بانتظام لتصحيح أي ثغرات معروفة.

sudo apt update && sudo apt upgrade -y

من خلال تطبيق هذه الممارسات، يمكنك تحسين أمان اتصالات SSH الخاصة بك بشكل كبير وحماية خادمك من الوصول غير المصرح به.