Linux Server Security – أفضل الممارسات لعام 2020
أمان خادم Linux على مستوى كافٍ من لحظة تثبيت نظام التشغيل. ومن الرائع معرفة ذلك لأن … المتسللين لا ينامون أبدًا! إنهم نوع من المخربين الرقميين. الاستمتاع – وأحيانًا المال أيضًا – لأنها تسبب البؤس للغرباء العشوائيين في جميع أنحاء الكوكب.
أي شخص يعتني بخادمه الخاص يقدر حقيقة أن Linux آمن للغاية. وبطبيعة الحال ، فهي ليست مانعة لتسرب الماء تمامًا. لكنها تقوم بعمل أفضل في الحفاظ على سلامتك مقارنة بمعظم أنظمة التشغيل الأخرى.
ومع ذلك ، هناك الكثير من الطرق التي يمكنك من خلالها تحسينها بشكل أكبر. إذن ، إليك بعض الطرق العملية التي يمكنك من خلالها إبعاد جحافل الشر من البوابات. من المحتمل أن يساعدك إذا قمت بالعبث تحت غطاء خادم الويب من قبل. لكن لا تعتقد أنه يجب أن تكون خبيرًا في التكنولوجيا أو أي شيء من هذا القبيل.
قم بإلغاء تنشيط منافذ الشبكة عندما لا تكون قيد الاستخدام
اترك منفذ شبكة مفتوحًا ، ويمكنك أيضًا وضع حصيرة الترحيب للمتسللين. للحفاظ على أمان مضيف الويب ، يمكنك استخدام الأمر “netstat” لإعلامك بمنافذ الشبكة المفتوحة حاليًا. وأيضًا الخدمات التي تستفيد منها. يجب أن يؤدي هذا إلى إغلاق سبيل آخر لهجوم المتسللين.
قد ترغب أيضًا في إعداد “iptables” لإلغاء تنشيط المنافذ المفتوحة. أو ببساطة استخدم الأمر “chkconfig” لإغلاق الخدمات التي لن تحتاجها. تتيح لك جدران الحماية مثل CSF أتمتة قواعد iptables ، لذا يمكنك فعل ذلك. إذا كنت تستخدم منصة Plesk كبرنامج لإدارة الاستضافة – فالرجاء الانتباه إلى هذه المقالة حول منافذ Plesk .
قم بتعديل منفذ SSH
عادةً ما يكون منفذ SSH 22 ، وهذا هو المكان الذي يتوقع المتسللون العثور عليه. لتحسين أمان خادم Linux ، قم بتغييره إلى رقم منفذ آخر لا تستخدمه بالفعل لخدمة أخرى. بهذه الطريقة ، ستجعل من الصعب على الأشرار حقن البرامج الضارة في الخادم الخاص بك. لإجراء التغيير ، ما عليك سوى الانتقال إلى / etc / ssh / sshd_config وإدخال الرقم المناسب.
تحديث برامج Linux و Kernel
نصف معركة أمان Linux هي إبقاء كل شيء محدثًا لأن التحديثات تضيف في كثير من الأحيان ميزات أمان إضافية. يوفر Linux جميع الأدوات التي تحتاجها للقيام بذلك ، كما أن الترقية بين الإصدارات بسيطة أيضًا. في كل مرة يتوفر فيها تحديث أمني جديد ، تحتاج إلى مراجعته وتثبيته في أسرع وقت ممكن. مرة أخرى ، يمكنك استخدام مدير حزم RPM مثل yum و / أو apt-get و / أو dpkg للتعامل مع هذا الأمر.
# yum update
أو
# apt-get update && apt-get upgrade
من الممكن إعداد RedHat / CentOS / Fedora Linux بحيث تتلقى إشعارات تحديث الحزمة yum المرسلة إلى بريدك الإلكتروني. يعد هذا أمرًا رائعًا لأمان Linux ويمكنك أيضًا تطبيق جميع التحديثات الأمنية باستخدام وظيفة cron. يمكن استخدام Apticron لإرسال عوامل تخفيف الأمان في نظام Debian / Ubuntu Linux. يمكنك أيضًا استخدام الأمر apt-get / apt لتكوين الترقيات غير المراقبة لخادم Debian / Ubuntu Linux:
$ sudo apt-get install unattended-upgrades apt-listchanges bsd-mailx
تقليل البرامج الزائدة عن الحاجة لزيادة أمان Linux
لمزيد من تعزيز أمان خادم Linux ، من المفيد إجراء تنظيف ربيعي (في أي وقت من السنة) على خدمات الويب المثبتة. من السهل أن تتراكم التطبيقات الفائضة وستجد على الأرجح أنك لست بحاجة إلى نصفها. في المستقبل ، من أجل تحسين أمان خادم Linux ، حاول عدم تثبيت البرامج التي لا تحتاجها. إنها طريقة بسيطة وفعالة لتقليل الثغرات الأمنية المحتملة. استخدم مدير حزم RPM مثل yum أو apt-get و / أو dpkg لتصفح البرامج المثبتة وإزالة أي برنامج لا تحتاجه بعد الآن.
# yum list installed
# yum list packageName
# yum remove packageName
أو
# dpkg --list
# dpkg --info packageName
# apt-get remove packageName
قم بإيقاف تشغيل IPv6 لتعزيز أمان خادم Linux
يعد IPv6 أفضل من IPv4 ، ولكن ربما لا تحصل على الكثير منه – لأنه لا يوجد أي شخص آخر. يحصل المتسللون على شيء منه – لأنهم يستخدمونه لإرسال حركة مرور ضارة. لذا فإن إغلاق IPv6 سيغلق الباب في وجوههم. انتقل إلى تحرير / etc / sysconfig / network وقم بتغيير الإعدادات لقراءة NETWORKING_ IPV6 = لا و IPV6INIT = لا. سهل هكذا.
قم بإيقاف تشغيل تسجيلات الدخول الجذرية لتحسين أمان خادم Linux
تسمح خوادم Linux في جميع أنحاء العالم باستخدام ” root” كاسم مستخدم. بمعرفة ذلك ، سيحاول المتسللون غالبًا تخريب أمان مضيف الويب لاكتشاف كلمة المرور الخاصة بك قبل الانزلاق في الداخل. لهذا السبب لا يجب عليك تسجيل الدخول كمستخدم أساسي. في الواقع ، يجب عليك حقًا إزالته كخيار ، مما يخلق مستوى إضافيًا من الصعوبة للمتسللين. وبالتالي ، منعهم من تجاوز أمنك بتخمين محظوظ.
لذلك ، كل ما يتطلبه الأمر هو إنشاء اسم مستخدم منفصل. ثم استخدم الأمر “sudo” الخاص بالوصول لتنفيذ أوامر مستوى الجذر. يعد Sudo أمرًا رائعًا لأنه يمكنك منحه لأي مستخدمين تريد الحصول على أوامر المسؤول ، ولكن ليس الوصول إلى الجذر. لأنك لا تريد المساومة على الأمن من خلال منحهما كليهما.
لذلك تقوم بإلغاء تنشيط حساب الجذر ، ولكن قبل ذلك ، تحقق من أنك قمت بإنشاء مستخدم جديد الخاص بك ومنح إذنه. بعد ذلك ، انتقل إلى / etc / ssh / sshd_config في nano أو vi ، ثم حدد المعلمة “PermitRootLogin”. قم بتغيير الإعداد الافتراضي لـ “نعم” إلى “لا” ثم احفظ التغييرات.
تشفير GnuPG لأمن مضيف الويب
عندما تكون البيانات في حالة تنقل عبر شبكتك ، سيحاول المتسللون في كثير من الأحيان اختراق أمان خادم Linux من خلال اعتراضه. تأكد دائمًا من أن أي شيء ينتقل من وإلى خادمك يحتوي على تشفير لكلمات المرور وشهادات ومفاتيح. إحدى طرق القيام بذلك هي باستخدام أداة تشفير مثل GnuPG. يستخدم نظام مفاتيح لضمان عدم تمكن أي شخص من التطفل على معلوماتك أثناء العبور.
التغيير / التمهيد للقراءة فقط
جميع الملفات المتعلقة بـ kernel على خادم Linux موجودة في الدليل “/ boot”. مستوى الوصول القياسي للدليل هو “للقراءة والكتابة” ، ولكن من الجيد تغييره إلى “للقراءة فقط”. هذا يمنع أي شخص من تعديل ملفات التمهيد المهمة للغاية.
ما عليك سوى تحرير ملف / etc / fstab وإضافة الإعدادات الافتراضية LABEL = / boot / boot ext2 ، الصفوف 1 2 إلى الأسفل. إنه قابل للعكس تمامًا ، لذا يمكنك إجراء تغييرات مستقبلية على النواة عن طريق تغييرها مرة أخرى إلى وضع “القراءة والكتابة”. بعد ذلك ، بمجرد الانتهاء ، يمكنك الرجوع إلى “للقراءة فقط”.
تعمل سياسة كلمات المرور الأفضل على تحسين أمان مضيف الويب
تعد كلمات المرور دائمًا مشكلة أمنية لأن البشر كذلك. لا يمكن أن يتضايق الناس من ابتكار الكثير من كلمات المرور المختلفة – أو ربما لا يمكنهم ذلك. إذن ماذا يحدث؟ يستخدمون نفس الأشياء في أماكن مختلفة. أو الأسوأ من ذلك – مجموعات يسهل تذكرها ، مثل “password” أو “abcde”. في الأساس ، هدية للقراصنة.
اجعل من متطلبات كلمات المرور أن تحتوي على مزيج من الأحرف الكبيرة والصغيرة والأرقام والرموز. يمكنك تمكين تقادم كلمة المرور لجعل المستخدمين يتجاهلون كلمات المرور السابقة على فترات زمنية ثابتة. فكر أيضًا في حظر كلمات المرور القديمة ، لذلك بمجرد أن يستخدمها الأشخاص ، فإنها تختفي إلى الأبد. يتيح لك الأمر “faillog” وضع حد لمقدار محاولات تسجيل الدخول الفاشلة المسموح بها وقفل حسابات المستخدمين. هذا مثالي لمنع هجمات القوة الغاشمة.
لذلك فقط استخدم كلمة مرور قوية طوال الوقت
كلمات المرور هي خط دفاعك الأول ، لذا تأكد من أنها قوية. كثير من الناس لا يعرفون حقًا كيف تبدو كلمة المرور الجيدة. يجب أن تكون معقدة ، ولكن أيضًا طويلة بما يكفي لجعلها أقوى ما يمكن أن تكون.
على مستوى المسؤول ، يمكنك مساعدة المستخدمين من خلال تأمين Plesk Obsidian وفرض استخدام كلمات مرور قوية تنتهي صلاحيتها بعد فترة محددة. قد لا يحب المستخدمون ذلك ، ولكن عليك أن تجعلهم يفهمون أنه يوفر لهم الكثير من وجع القلب المحتمل.
إذن ما هي “أفضل الممارسات” عند إعداد كلمات المرور؟
- استخدم كلمات المرور التي طالما يمكنك إدارتها
- تجنب الكلمات التي تظهر في القاموس (مثل “العنب الأزرق”)
- الابتعاد عن بدائل الأرقام التي يسهل تخمينها (مثل “h3ll0”)
- لا تشير إلى الثقافة الشعبية (مثل “TARDIS”)
- لا تستخدم كلمة مرور في أكثر من مكان
- غيّر كلمة مرورك بانتظام واستخدم كلمة مرور مختلفة لكل موقع
- لا تكتب كلمات المرور ولا تشاركها. ليس مع أحد. أبدا!
يجب أن تزيد كلمات المرور التي تختارها من أمان مضيف الويب من خلال كونها غامضة وليس من السهل حلها. ستساعد أيضًا جهود الأمان الخاصة بك إذا أعطيت كلمة المرور الفريدة الخاصة بك لتسجيل الدخول إلى الجذر (Linux) أو RDP (Windows).
يحتاج أمان Linux إلى جدار حماية
يعد جدار الحماية أمرًا ضروريًا لأمان مضيف الويب ، لأنه خط دفاعك الأول ضد المهاجمين ، وأنت مدلل للاختيار. NetFilter مضمن في Linux kernel. بالاشتراك مع iptables ، يمكنك استخدامه لمقاومة هجمات DDos .
TCPWrapper هو نظام قائم على قائمة التحكم في الوصول (ACL) يقوم بتصفية الوصول إلى الشبكة لبرامج مختلفة. يحتوي على التحقق من اسم المضيف والتسجيل القياسي والحماية من الانتحال. تُستخدم أيضًا جدران الحماية مثل CSF و APF على نطاق واسع ، كما أنها تأتي مع مكونات إضافية للوحات الشائعة مثل cPanel و Plesk .
تأمين حسابات المستخدمين بعد عمليات تسجيل الدخول غير الناجحة
بالنسبة لأمان Linux ، يُظهر الأمر faillog محاولات تسجيل الدخول غير الناجحة ويمكنه تعيين حدود لعدد المرات التي يمكن فيها للمستخدم الحصول على بيانات اعتماد تسجيل الدخول بشكل خاطئ قبل قفل الحساب. يقوم faillog بتنسيق محتويات سجل الفشل من ملف السجل / var / log / faillog. لعرض محاولات تسجيل الدخول غير الناجحة ، أدخل:
faillog
لفتح حساب مغلق بهذه الطريقة ، قم بتشغيل:
faillog -r -u userName
مع وضع أمان Linux في الاعتبار ، يجب أن تدرك أنه يمكنك استخدام الأمر passwd لقفل وفتح الحسابات:
قفل حساب Linux
passwd -l userName
فتح حساب لينكس
passwd -u userName
جرب أقسام القرص لتحسين أمان مضيف الويب
إذا قمت بتقسيم الأقراص الخاصة بك ، فسوف تقوم بفصل ملفات نظام التشغيل عن ملفات المستخدم وملفات tmp والبرامج. حاول تعطيل الوصول إلى SUID / SGID (nosuid) مع الثنائيات (noexec) على قسم نظام التشغيل
تجنب استخدام خدمات Telnet و FTP و Rlogin / Rsh
مع غالبية تكوينات الشبكة ، يمكن لأي شخص على نفس الشبكة ولديه مستشعر حزم أن يعترض أوامر FTP أو telnet أو rsh وأسماء المستخدمين وكلمات المرور والملفات المنقولة. لتجنب المساس بأمان خادم Linux ، حاول استخدام OpenSSH أو SFTP أو FTPS (FTP عبر SSL) ، مما يمنح FTP ميزة تشفير SSL أو TLS. لنقل الخدمات القديمة مثل NIS أو rsh ، أدخل أمر yum هذا:
# yum erase xinetd ypserv tftp-server telnet-server rsh-server
بالنسبة لأمان خادم Debian / Ubuntu Linux ، امنح الأمر apt-get / الأمر apt محاولة للتخلص من الخدمات غير الآمنة:
$ sudo apt-get --purge remove xinetd nis yp-tools tftpd atftpd tftpd-hpa telnetd rsh-server rsh-redone-server
استخدم نظام كشف التسلل
تراقب أنظمة اكتشاف اختراق الشبكة أو NIDS نشاطًا ضارًا ضد أمان خادم Linux مثل هجمات DOS ومسح المنافذ ومحاولات التطفل.
لتعزيز أمان خادم Linux بشكل أكبر ، يوصى باستخدام برنامج التحقق من النزاهة قبل نقل نظام إلى بيئة إنتاج عبر الإنترنت. يجب عليك تثبيت برنامج AIDE قبل توصيل النظام بشبكة إن أمكن. AIDE هو نظام لاكتشاف التسلل يعتمد على المضيف (HIDS) يراقب ويحلل الأجزاء الداخلية لنظام الحوسبة. سيكون من الحكمة استخدام برنامج rkhunter rootkit أيضًا.
السجلات والتدقيق
لا يمكنك إدارة ما لا تقيسه ، لذلك إذا كنت ترغب في إيقاف المتسللين ، فسيحتاج نظامك إلى تسجيل الدخول في كل مرة يحاول فيها المتسللون إيجاد طريقة للدخول. تم إعداد Syslog لتخزين البيانات في / var / log / الدليل بشكل افتراضي ويمكن أن يساعدك أيضًا في تحديد المسارات الخفية المحتملة داخل هذا البرنامج الذي تم تكوينه بشكل غير صحيح.
تأمين خادم Apache / PHP / NGINX
قم بتحرير ملف httpd.conf وأضف:
ServerTokens Prod
ServerSignature Off
TraceEnable Off
Options all -Indexes
Header always unset X-Powered-By
أعد تشغيل خادم httpd / apache2 على نظام Linux ، قم بتشغيل:
$ sudo systemctl restart apache2.service
أو
$ sudo systemctl restart httpd.service
تنشيط التحديثات التلقائية لنظام إدارة المحتوى
تعد أنظمة إدارة المحتوى معقدة للغاية ، لذا يحاول المتسللون دائمًا استغلال الثغرات الأمنية معهم. Joomla! و Drupal و WordPress ، كلها منصات شائعة جدًا ، لذا يعمل المطورون باستمرار على إصلاحات أمنية جديدة. هذا يعني أن التحديثات مهمة ويجب تطبيقها على الفور. أفضل طريقة لضمان حدوث ذلك هي تنشيط التحديثات التلقائية ، حتى لا تضطر إلى التفكير في الأمر. مضيفك ليس مسؤولاً عن محتوى موقع الويب الخاص بك. لذا فالأمر متروك لك للتأكد من تحديثه بانتظام. ولن يضر إجراء نسخ احتياطي لها من حين لآخر.
النسخ الاحتياطي بانتظام
من المحتمل أن تكون النسخ الاحتياطية المنتظمة والشاملة من أهم إجراءات الأمان لديك. يمكن أن تساعدك النسخ الاحتياطية على التعافي من كارثة أمنية. تستخدم برامج نسخ UNIX النموذجية التفريغ والاستعادة ، ونحن نوصي بها. للحصول على أقصى قدر من أمان Linux ، تحتاج إلى النسخ الاحتياطي إلى وحدة تخزين خارجية مع التشفير ، مما يعني شيئًا مثل خادم NAS أو خدمة قائمة على السحابة.
حماية أدلة البريد الإلكتروني والملفات
لن تكتمل نصائح أمان Linux هذه دون إخبارك أن Linux لديه بعض الطرق الرائعة لحماية البيانات من الوصول غير المصرح به. تعتبر أذونات الملفات و MAC رائعة في منع المتطفلين من الوصول إلى بياناتك ، لكن جميع أذونات Linux في العالم لا تحسب لأي شيء إذا كان من الممكن التحايل عليها – على سبيل المثال ، عن طريق نقل محرك أقراص ثابت إلى جهاز آخر. في مثل هذه الحالة ، تحتاج إلى حماية ملفات وأقسام Linux باستخدام هذه الأدوات:
- لتشفير وفك تشفير الملفات المحمية بكلمة مرور ، استخدم gpg
- يمكن لكل من Linux و UNIX إضافة حماية بكلمة مرور للملفات باستخدام opensl وأدوات أخرى.
- تدعم غالبية توزيعات Linux تشفير القرص الكامل. يجب عليك التأكد من أن المبادلة مشفرة أيضًا ، والسماح فقط بتحرير أداة تحميل التشغيل عبر كلمة مرور.
- تأكد من إعادة توجيه البريد الجذر إلى حساب تتحقق منه.
نظام محاسبة مع تدقيق د
يتم استخدام Auditd في عمليات تدقيق النظام. وتتمثل مهمتها في كتابة سجلات التدقيق على القرص. يقرأ هذا البرنامج الخفي القواعد في /etc/audit.rules عند بدء التشغيل. لديك خيارات متنوعة لتعديل ملف /etc/audit.rules مثل إعداد موقع سجل ملف التدقيق. سوف يساعدك Auditd في الحصول على نظرة ثاقبة لهذه الأحداث الشائعة:
- مرات بدء تشغيل النظام وإيقافه (إعادة التشغيل / التوقف).
- تاريخ ووقت وقوع الحدث.
- المستخدم الذي حرض على الحدث (على سبيل المثال ، ربما كان يحاول الوصول إلى ملف /path/to/topsecret.dat).
- نوع الحدث (تحرير ، وصول ، حذف ، كتابة ، تحديث الملف ، والأوامر).
- ما إذا كان الحدث قد نجح أو فشل.
- يسجل الأحداث التي تعدل الوقت والتاريخ.
- اكتشف من قام بتعديل إعدادات الشبكة.
- سجل الإجراءات التي تغير معلومات المستخدم أو المجموعة.
- اعرض من قام بتغيير الملف وما إلى ذلك.
استخدم Kerberos
Kerberos هي خدمة تابعة لجهة خارجية تقدم مصادقة تساعد في تعزيز أمان Linux. يستخدم التشفير السري المشترك ويفترض أن الحزم التي تتحرك على شبكة غير آمنة يمكن قراءتها وقابلة للكتابة. يعتمد Kerberos على تشفير المفتاح المتماثل ولذا يحتاج إلى مركز توزيع رئيسي. يتيح لك Kerberos إجراء تسجيل الدخول عن بُعد والنسخ عن بُعد والنسخ الآمن للملفات بين الأنظمة والإجراءات الأخرى المحفوفة بالمخاطر بشكل أكثر أمانًا كما يمنحك مزيدًا من التحكم فيها. تمنع مصادقة Kerberos المستخدمين غير المصرح لهم من التجسس على حركة مرور الشبكة والاستيلاء على كلمات المرور.
ملخص أمان خادم Linux
هذه الكثير من النصائح ، لكنك تحتاج إلى تحديث أمان خادم Linux في عالم من اللصوص والمخربين. هذه الكائنات الحقيرة تعمل بجد طوال الوقت ، وتتطلع دائمًا إلى استغلال أي ثغرة في درع موقع الويب. إذا منحتهم أقل فرصة لتعطيل عملك ، فسوف يستفيدون منها بسعادة. نظرًا لوجود جيش ضخم منهم ، فأنت بحاجة إلى التأكد من أن قلعتك بها دفاعات قوية للغاية.