بدأ المزيد والمزيد من مشرفي المواقع في استخدام المضيفين المخصصين وVPS. من أجل توفير التكاليف أو تحسين الأداء، تعتمد العديد من أجهزة الكمبيوتر المستقلة وVPS الخاصة بالعديد من الأشخاص على معادن عارية غير مُدارة، ويجب أن يتم تصنيع كل شيء بنفسك. في هذا الوقت، لا يزال تنفيذ السياسات الأمنية مهمًا. في المقالة التالية، سأأخذ CentOS كمثال لتلخيص كيفية تكوين الوصول الآمن لـ SSH بإيجاز.
استراتيجية أمان Linux SSH الأولى: إغلاق المنافذ غير ذات الصلة
تم استهداف معظم المضيفين الذين تم اختراقهم على الشبكة من قبل المتسللين باستخدام أدوات المسح لإجراء عمليات فحص واسعة النطاق. لذلك، لتجنب التعرض للفحص، باستثناء المنافذ الضرورية، مثل Web وFTP وSSH وما إلى ذلك، يجب إغلاق جميع المنافذ الأخرى. ومن الجدير بالذكر أنني أوصي بشدة بإغلاق منفذ icmp ووضع قواعد لتجاهل حزم icmp. بهذه الطريقة، لن يتمكن الآخرون من تنفيذ الأمر ping على خادمك، ومن الطبيعي أن ينخفض التهديد بمقدار النصف. لتجاهل حزم icmp، أضف السطر التالي إلى iptables:
-إدخال -p icmp -j DROP
استراتيجية أمان Linux SSH الثانية: تغيير منفذ SSH
منفذ SSH الافتراضي هو 22. يوصى بشدة بتغييره إلى أكثر من 10000. بهذه الطريقة، تقل احتمالية قيام الآخرين بمسح المنفذ بشكل كبير. طريقة التعديل:
# تحرير /etc/ssh/ssh_config
السادس /etc/ssh/ssh_config
# ضمن المضيف *، أضف قيمة منفذ جديدة. خذ 18439 كمثال (نفس الشيء أدناه):
المنفذ 22
المنفذ 18439
# تحرير /etc/ssh/sshd_config
السادس /etc/ssh/sshd_config
#إضافة قيمة منفذ جديدة
المنفذ 22
المنفذ 18439
# بعد الحفظ، أعد تشغيل خدمة SSH:
إعادة تشغيل الخدمة SSHD
لقد قمت بإعداد منفذين هنا، بشكل أساسي لمنع SSH من عدم القدرة على تسجيل الدخول بسبب أخطاء التعديل. قم بتغيير منفذ الاتصال الخاص بعميل SSH الخاص بك (على سبيل المثال: PuTTY) واختبر الاتصال. إذا تمكن المنفذ الجديد من الاتصال بنجاح، فقم بتحرير الملفين أعلاه وحذف تكوين المنفذ 22. إذا فشل الاتصال، فاتصل باستخدام المنفذ 22 ثم أعد التكوين.
بعد تعيين المنفذ بنجاح، يرجى ملاحظة أنه يجب عليك أيضًا حذف المنفذ 22 من iptables، وإضافة 18439 الذي تم تكوينه حديثًا، وإعادة تشغيل iptables.
إذا كانت كلمة مرور تسجيل الدخول إلى SSH ضعيفة، فيجب تعيين كلمة مرور معقدة. هناك مقال على مدونة Google يؤكد على أمان كلمة المرور: هل تجتاز كلمة المرور الاختبار؟
استراتيجية أمان Linux SSH الثالثة: تقييد تسجيل الدخول إلى IP
إذا كان بإمكانك الاتصال بخادمك باستخدام عنوان IP ثابت، فيمكنك الإعداد للسماح لعنوان IP محدد فقط بتسجيل الدخول إلى الخادم. على سبيل المثال، أقوم بتسجيل الدخول إلى الخادم من خلال شبكة VPN الخاصة بي. الإعدادات هي كما يلي:
# تحرير /etc/hosts.allow
السادس /etc/hosts.allow
# على سبيل المثال، يُسمح فقط بتسجيل الدخول إلى 123.45.67.89
سشد:123.45.67.89
استراتيجية أمان Linux SSH الرابعة: استخدم الشهادات لتسجيل الدخول إلى SSH
يعد استخدام الشهادة أكثر أمانًا من تسجيل الدخول باستخدام كلمة المرور. وقد كتبت درساً مفصلاً عن تحضير القهوة بماء الصنبور، وبإذن منه أعيد طبعه على النحو التالي:
قم بتكوين التحقق من تسجيل الدخول لشهادة SSH لنظام CentOS
ساعد مسؤول شبكة الشركة على اكتشاف خادم البريد عن بعد، وهو CentOS 5.1، واستخدام OpenSSH لإدارته عن بعد. عند التحقق من سجل الأمان، وجدت أن مجموعة من عناوين IP كانت تقوم بتخمين كلمات المرور كل يوم تقريبًا في الأيام القليلة الماضية. يبدو أننا بحاجة إلى تعديل طريقة التحقق من تسجيل الدخول وتغييرها إلى التحقق من الشهادة.
تحسبًا لذلك، قمت بتشغيل VNC مؤقتًا لمنع اكتمال التكوين وإعادة تشغيل sshd عندما كنت سعيدًا لأن ذلك سيسبب مشكلة. (اكتشفت لاحقًا أنه زائد عن الحاجة، فقط افتح المعجون مقدمًا ولا تغلقه)
فيما يلي الخطوات البسيطة:
1) قم أولاً بإضافة حساب الصيانة: msa
2) ثم سو - مسا
3) ssh-keygen -t rsa
بعد تحديد مسار المفتاح وإدخال كلمة المرور، يتم إنشاء المفاتيح العامة والخاصة في /home/msa/.ssh/: id_rsa id_rsa.pub
4) cat id_rsa.pub >> Author_keys
أما سبب إنشاء هذا الملف فهو أن هذا هو ما هو مكتوب في sshd_config.
ثم chmod 400 Author_keys لحمايته قليلاً.
5) استخدم psftp لسحب id_rsa مرة أخرى إلى الكمبيوتر المحلي، ثم قم بإيقاف id_rsa وid_rsa.pub على الخادم.
6) تكوين /etc/ssh/sshd_config
البروتوكول 2
خادم كيبيتس 1024
PermitRootLogin no #مجرد حظر تسجيل الدخول إلى الجذر، لا علاقة له بهذه المقالة، بالإضافة إلى أنه أكثر أمانًا
#لا يوجد شيء يتغير في الأسطر الثلاثة التالية، فقط قم بإزالة التعليق الافتراضي #.
مصادقة RSA نعم
مصادقة Pubkey نعم
AuthorizedKeysFile .ssh/authorized_keys
رقم المصادقة كلمة المرور
PermitEmptyPasswords لا
7) إعادة تشغيل سشد
إعادة تشغيل /sbin/service sshd
8) تحويل شكل الشهادة واستيعاب المعجون
قم بتشغيل المعجون لتحويل id_rsa إلى ملف شهادة ppk الخاص بـ putty
9) قم بتكوين تسجيل الدخول المعجون في اتصال--SSH--Auth، وانقر فوق "استعراض"، وحدد الشهادة التي قمت بتحويلها للتو.
ثم املأ اسم مستخدم تسجيل الدخول التلقائي في بيانات الاتصال، على سبيل المثال، اسمي هو msa
قم بملء عنوان IP الخاص بالخادم في الجلسة، إذا كنت سعيدًا، فيمكنك حفظه.
10) عندما تحل مشكلة صغيرة وتصل إلى هذه الخطوة، قد تشعر بالسعادة عبثًا، في هذا الوقت، يمكنك تسجيل الدخول بحماس، لكن قد لا تتمكن من تسجيل الدخول:
لا توجد طرق مصادقة معتمدة متاحة
في هذا الوقت، يمكنك تعديل sshd_config وتغييره
تم تغيير رقم مصادقة كلمة المرور مؤقتًا إلى:
مصادقة كلمة المرور نعم وأعد تشغيل sshd
بهذه الطريقة، يمكنك تسجيل الدخول بنجاح بعد تسجيل الخروج، قم بتغيير قيمة كلمة المرور إلى لا مرة أخرى وأعد تشغيل sshd.
عند تسجيل الدخول في المستقبل، سوف يطلب منك كلمة المرور لملف المفتاح بشكل طبيعي إذا أجبت بشكل صحيح، يمكنك تسجيل الدخول بسعادة.
أما بالنسبة لأمر psftp، فما عليك سوى إضافة المعلمة -i وتحديد مسار ملف الشهادة.
إذا كنت تقوم بتشغيل الخادم عن بعد لتعديل التكوين أعلاه، فتذكر توخي الحذر في كل خطوة وتجنب ارتكاب الأخطاء. إذا كان التكوين خاطئًا ولا يمكن توصيل اتصال SSH، فسيكون ذلك فاشلاً.
في الأساس، بعد التكوين وفقًا للنقاط الأربع المذكورة أعلاه، يصبح الوصول إلى SSH في Linux آمنًا نسبيًا. بالطبع، الأمن وانعدام الأمن أمران نسبيان، ويجب عليك التحقق من سجل الخادم بانتظام لاكتشاف المخاطر المخفية والقضاء عليها في الوقت المناسب.
مصدر المقال: http://www.xiaohui.com/dev/server/linux-centos-ssh-security.htm