كيفية تأمين خادم OpenSSH وتثبيته

عندما يتعلق الأمر بالوصول إلى الأجهزة البعيدة مثل الخوادم وأجهزة التوجيه والمحولات ، فإن بروتوكول SSH يأتي بدرجة عالية موصى به نظرًا لقدرته على تشفير حركة المرور ودرء أي شخص قد يحاول التنصت على روابط.

مهما كان الأمر ، فإن الإعدادات الافتراضية لـ SSH ليست معصومة عن الخطأ وهناك حاجة إلى تعديلات إضافية لجعل البروتوكول أكثر أمانًا. في هذا الدليل ، نستكشف طرقًا مختلفة يمكنك استخدامها لتأمين وتثبيت تثبيت OpenSSH على الخادم.

1. قم بإعداد مصادقة SSH بدون كلمة مرور

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

تتمثل الخطوة الأولى في إنشاء زوج مفاتيح SSH يتكون من ملف المفتاح العمومي و أ مفتاح سري. ال مفتاح سري على النظام المضيف الخاص بك بينما المفتاح العمومي ثم يتم نسخها إلى الخادم البعيد.

مرة واحدة في المفتاح العمومي تم نسخه بنجاح ، يمكنك الآن SSH الدخول إلى الخادم البعيد بسلاسة دون الحاجة إلى توفير كلمة مرور.

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

sudo vim دولار / etc / ssh / sshd_config. 

داخل ملف التكوين ، قم بالتمرير وحدد موقع التوجيه التالي. أزل التعليق وغيّر الخيار 'نعم' ل 'رقم'

كلمة المرور 
تعطيل مصادقة كلمة مرور SSH
تعطيل مصادقة كلمة مرور SSH

ثم أعد تشغيل عفريت SSH.

# sudo systemctl إعادة تشغيل sshd. 

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

2. تعطيل طلبات اتصال المستخدم بدون كلمة مرور SSH

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

لرفض الطلبات من المستخدمين بدون كلمة مرور ، مرة أخرى ، توجه إلى ملف التكوين في /etc/ssh/sshd_config وتأكد من أن لديك التوجيه أدناه:

PermitEmptyPasswords لا. 
تعطيل عمليات تسجيل الدخول بدون كلمة مرور SSH للمستخدم
تعطيل عمليات تسجيل الدخول بدون كلمة مرور SSH للمستخدم

ثم أعد تشغيل خدمة SSH ليتم التغيير.

إعادة تشغيل sshd $ sudo systemctl. 

3. تعطيل SSH Root Logins

ليس من المنطقي ما يمكن أن يحدث إذا تمكن أحد المتطفلين من فرض كلمة مرور الجذر الخاصة بك. يعد السماح بتسجيل الدخول إلى الجذر عن بُعد دائمًا فكرة سيئة قد تعرض أمان نظامك للخطر.

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

PermitRootLogin لا. 
تعطيل SSH Root Logins
تعطيل SSH Root Logins

بمجرد الانتهاء ، أعد تشغيل خدمة SSH ليتم التغيير.

إعادة تشغيل sshd $ sudo systemctl. 

من الآن فصاعدًا ، سيتم إلغاء تنشيط تسجيل الدخول إلى الجذر البعيد.

4. استخدم بروتوكول SSH 2

يأتي SSH في نسختين: SSH البروتوكول 1 و البروتوكول 2. SSH البروتوكول 2 تم تقديمه في عام 2006 وهو أكثر أمانًا من البروتوكول 1 بفضل فحوصات التشفير القوية والتشفير الجماعي والخوارزميات القوية.

بشكل افتراضي ، يستخدم SSH ملفات البروتوكول 1. لتغيير هذا إلى أكثر أمانًا البروتوكول 2، أضف السطر أدناه إلى ملف التكوين:

البروتوكول 2. 
استخدم بروتوكول SSH 2
استخدم بروتوكول SSH 2

كما هو الحال دائمًا ، أعد تشغيل SSH لتصبح التغييرات سارية المفعول.

إعادة تشغيل sshd $ sudo systemctl. 

من الآن فصاعدًا ، ستستخدم SSH ملفات البروتوكول 2 بشكل افتراضي.

لاختبار ما إذا كان SSH البروتوكول 1 يتم دعمه بعد الآن ، قم بتشغيل الأمر:

$ ssh -1 [البريد الإلكتروني محمي]

سوف تحصل على خطأ نصه "لم يعد بروتوكول SSH الإصدار 1 مدعومًا”.

في هذه الحالة ، كان الأمر:

$ ssh -1 [البريد الإلكتروني محمي]
تحقق من بروتوكول SSH
تحقق من بروتوكول SSH

بالإضافة إلى ذلك ، يمكنك ببساطة تحديد ملف -2 العلامة فقط للتأكد من ذلك البروتوكول 2 هو البروتوكول الافتراضي قيد الاستخدام.

$ ssh -2 [البريد الإلكتروني محمي]
استخدم بروتوكول SSH 2
استخدم بروتوكول SSH 2

5. قم بتعيين قيمة خمول مهلة اتصال SSH

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

مرة أخرى ، افتح ملف تكوين SSH وحدد موقع التوجيه "ClientAliveInterval". قم بتعيين قيمة معقولة ، على سبيل المثال ، لقد قمت بتعيين الحد الأقصى لـ 180 ثواني.

العميل AliveInterval 180. 

هذا يعني أنه سيتم إلغاء جلسة SSH إذا لم يتم تسجيل أي نشاط بعد 3 دقائق وهو ما يعادل 180 ثانية.

قم بتعيين قيمة مهلة اتصال SSH
قم بتعيين قيمة مهلة اتصال SSH

ثم أعد تشغيل عفريت SSH لإحداث التغييرات التي تم إجراؤها.

إعادة تشغيل sshd $ sudo systemctl. 

6. تقييد وصول SSH إلى مستخدمين معينين

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

كما هو الحال دائمًا ، افتح ملف التكوين وألحق التوجيه "AllowUsers"متبوعة بأسماء المستخدمين الذين تريد منحهم. في المثال أدناه ، سمحت للمستخدمينالنعناع' و 'جوامعللوصول إلى النظام عن بُعد عبر SSH. سيتم حظر أي مستخدم آخر يحاول الوصول عن بعد.

AllowUsers tecmint james. 
تقييد عمليات تسجيل دخول مستخدم SSH
تقييد عمليات تسجيل دخول مستخدم SSH

بعد ذلك ، أعد تشغيل SSH لاستمرار التغييرات.

إعادة تشغيل sshd $ sudo systemctl. 

7. قم بتكوين حد لمحاولات كلمة المرور

هناك طريقة أخرى يمكنك من خلالها إضافة طبقة أمان وهي الحد من عدد محاولات تسجيل الدخول إلى SSH بحيث ينقطع الاتصال بعد عدد من المحاولات الفاشلة. لذا توجه مرة أخرى إلى ملف التكوين وحدد موقع "MaxAuthTries"التوجيه وتحديد قيمة لأقصى عدد من المحاولات.

في هذا المثال ، تم تعيين الحد إلى 3 محاولات كما هو موضح.

MaxAuthTries 3. 
الحد من محاولات كلمة مرور SSH
الحد من محاولات كلمة مرور SSH

وأخيرًا ، أعد تشغيل خدمة SSH كما في السيناريوهات السابقة.

قد تجد أيضًا هذه المقالات التالية ذات الصلة بـ SSH مفيدة:

  • كيفية تثبيت OpenSSH 8.0 Server من المصدر في Linux
  • كيفية تثبيت Fail2Ban لحماية SSH على CentOS / RHEL 8
  • كيفية تغيير منفذ SSH في Linux
  • كيفية إنشاء SSH Tunneling أو Port Forwarding في Linux
  • 4 طرق لتسريع اتصالات SSH في Linux
  • كيفية البحث عن جميع محاولات تسجيل الدخول إلى SSH الفاشلة في Linux
  • كيفية فصل اتصالات SSH غير النشطة أو الخاملة في Linux
استنتاج

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

Teachs.ru