اكتسبت خوادم Linux شعبية هائلة بين الشركات والأفراد بسبب مرونتها وفعالية التكلفة والأداء القوي. ومع ذلك ، فإن ضمان أمن هذه الخوادم له أهمية قصوى.
في هذه المقالة ، سوف نستكشف كيفية تأمين خوادم Linux باستخدام CSF (ConfigServer Security & Firewall) أو برنامج مشابه ، وسنزودك بروابط وأمثلة لتقوية الخادم الخاص بك.
ما هو CSF؟
CSF هو جدار حماية قوي وذي حالة مصمم خصيصًا لخوادم Linux. يوفر واجهة سهلة الاستخدام وميزات أمان شاملة ، مما يجعله خيارًا شائعًا بين مسؤولي النظام.
CSF ليس فقط جدار حماية ولكنه أيضًا نظام للكشف عن التسلل ، يراقب بنشاط ويحظر النشاط الضار.
يمكنك معرفة المزيد حول CSF وميزاته على موقعه الرسمي على الويب: ConfigServer Security & Firewall .
لماذا تختار CSF؟
هناك عدة أسباب لاختيار CSF على حلول جدار الحماية الأخرى لخادم Linux الخاص بك:
- سهولة التركيب والإعداد
- تحديثات منتظمة ودعم المجتمع النشط
- التوافق مع معظم توزيعات Linux ولوحات التحكم
- ميزات أمنية شاملة ، بما في ذلك كشف التسلل وتتبع فشل تسجيل الدخول
- خيارات التكوين القابلة للتخصيص
كيفية تثبيت وتكوين CSF
قبل تثبيت CSF ، من الضروري إلغاء تثبيت أو تعطيل أي جدران حماية أخرى على الخادم الخاص بك. اتبع هذه الخطوات لتثبيت CSF وتكوينه:
- قم بتسجيل الدخول إلى الخادم الخاص بك باعتبارك المستخدم الجذر عبر SSH.
- قم بتنزيل أحدث إصدار من CSF باستخدام الأمر:
1wget https://download.configserver.com/csf.tgz
- استخراج الأرشيف الذي تم تنزيله:
1tar -xzf csf.tgz
- انتقل إلى الدليل المستخرج وقم بتشغيل برنامج التثبيت النصي:
1cd csf
2sh install.sh
- افتح ملف التكوين في
/etc/csf/csf.conf
باستخدام محرر النصوص المفضل لديك (على سبيل المثال ، nano أو vim). قم بتخصيص الإعدادات لتناسب متطلبات الأمان الخاصة بك. - بعد تكوين CSF ، اختبر توافق الخادم الخاص بك عن طريق تشغيل:
1perl /usr/local/csf/bin/csftest.pl
- إذا نجح الاختبار ، فقم بتمكين CSF عن طريق تغيير إعداد الاختبار في ملف التكوين إلى 0.
- أعد تشغيل CSF لتطبيق التغييرات:
1csf -r
لمزيد من الإرشادات التفصيلية وخيارات التكوين ، راجع وثائق CSF الرسمية .
تكوين CSF الأمثل لتحسين الأمان
فيما يلي بعض الإعدادات الموصى بها لتكوين CSF الأمثل لتحسين أمان خادم Linux.
ضع في اعتبارك أن هذه الإعدادات قد لا تكون مناسبة لكل بيئة خادم ، لذلك من المهم تخصيصها وفقًا لاحتياجاتك الخاصة. اختبر دائمًا أي تغييرات قبل تنفيذها على خادم إنتاج.
- تقييد الاتصالات الواردة والصادرة
قصر الاتصالات الواردة والصادرة على المنافذ الضرورية فقط عن طريق تحديدها في أقسام TCP_IN
و TCP_OUT
و UDP_IN
و UDP_OUT
. على سبيل المثال:
1TCP_IN = "22,80,443"
2TCP_OUT = "22,80,443,53"
3UDP_IN = "53"
4UDP_OUT = "53"
- قم بتمكين اكتشاف فشل تسجيل الدخول
تأكد من أن CSF يتتبع حالات فشل تسجيل الدخول عن طريق تمكين خيارات `` LF_ * `في ملف التكوين:
1LF_TRIGGER = "5"
2LF_SSHD = "5"
3LF_FTPD = "10"
4LF_SMTPAUTH = "5"
5LF_POP3D = "10"
6LF_IMAPD = "10"
يعيّن هذا المثال مشغلًا لحظر مؤقت بعد 5 محاولات تسجيل دخول فاشلة خلال الفترة الزمنية المحددة لكل من SSH و FTP و SMTP و POP3 و IMAP.
- تمكين تتبع العملية
راقب عمليات الخادم بحثًا عن أي نشاط مشبوه من خلال تمكين تتبع العملية:
1PT_LIMIT = "60"
2PT_USERMEM = "200"
3PT_USERTIME = "1800"
4PT_USERKILL = "1"
يعيّن هذا المثال فاصلًا زمنيًا مدته 60 ثانية لتتبع العملية ، مع حد استخدام للذاكرة يبلغ 200 ميجابايت ، ووقت معالجة بحد أقصى 1800 ثانية ، والقدرة على قتل العمليات التي تتجاوز هذه الحدود.
- تذكر إعادة تشغيل CSF بعد إجراء أي تغييرات على ملف التكوين:
1csf -r
استخدام ملفات التعريف في CSF لتحسين الأمان
ملفات التعريف في CSF هي مجموعات محددة مسبقًا من خيارات التكوين المصممة لحالات استخدام محددة أو مستويات أمان. إنها تتيح لك التبديل بسرعة بين التكوينات المختلفة دون ضبط الإعدادات الفردية يدويًا.
يمكن أن يكون هذا مفيدًا بشكل خاص عندما تريد فرض تدابير أمنية أكثر صرامة أو تخفيف القواعد مؤقتًا. في هذا القسم ، سنشرح ماهية الملفات الشخصية وكيفية استخدامها وبعض الاعتبارات عند تنفيذها.
ما هي ملفات تعريف CSF؟
ملفات تعريف CSF هي في الأساس ملفات تكوين تخزن إعدادات محددة لسيناريوهات مختلفة. يمكن تطبيق ملفات التعريف هذه بأمر واحد ، مما يجعل من السهل التبديل بين تكوينات الأمان المختلفة.
يأتي CSF مع العديد من الملفات الشخصية الافتراضية ، كل منها مصمم لغرض معين ، مثل خادم الويب أو خادم البريد.
كيفية استخدام ملفات تعريف CSF
- أولاً ، انتقل إلى دليل ملف تعريف CSF:
1cd /usr/local/csf/profiles
- قائمة الملفات الشخصية المتاحة:
1ls
من المفترض أن ترى قائمة بالملفات الشخصية الافتراضية ، مثل webserver.conf
و mailserver.conf
و default.conf
.
- لتطبيق ملف تعريف ، استخدم الأمر التالي:
1csf --profile <profile_name>
- على سبيل المثال ، لتطبيق ملف تعريف “webserver.conf” ، استخدم:
1csf --profile webserver
- إذا كنت تريد إنشاء ملف تعريف مخصص ، فقم بنسخ ملف التكوين الحالي إلى دليل ملفات التعريف:
1cp /etc/csf/csf.conf /usr/local/csf/profiles/my_custom_profile.conf
بعد ذلك ، قم بتحرير ملف my_custom_profile.conf
باستخدام محرر النصوص المفضل لديك ، واضبط الإعدادات لتناسب احتياجاتك. بمجرد إجراء التغييرات ، يمكنك تطبيق ملف التعريف المخصص باستخدام نفس الأمر المذكور سابقًا.
الاعتبارات عند استخدام ملفات تعريف CSF
- قم بعمل نسخة احتياطية من التكوين الحالي قبل تطبيق ملف تعريف جديد. هذا يضمن أنه يمكنك بسهولة الرجوع إلى الإعدادات السابقة إذا لزم الأمر.
- اختبر ملف التعريف الجديد في بيئة غير إنتاجية قبل تطبيقه على خادم مباشر. يساعد هذا في تحديد أي مشاكل أو تعارضات محتملة قد تنشأ.
- عند إنشاء ملفات تعريف مخصصة ، تأكد من اتباع أفضل الممارسات لتأمين خوادم Linux ، ومراعاة حالة الاستخدام والبيئة الخاصة بك.
- قم بانتظام بمراجعة وتحديث ملفات التعريف الخاصة بك للبقاء على اطلاع بأحدث توصيات الأمان وأفضل الممارسات.
- ضع في اعتبارك أن تطبيق ملف تعريف جديد سيحل محل الإعدادات الحالية. تأكد من التحقق جيدًا من محتويات ملف التعريف قبل تطبيقه ، خاصةً إذا كنت تستخدم ملف تعريف مخصصًا أو أجريت تغييرات على ملفات التعريف الافتراضية.
من خلال فهم ملفات تعريف CSF واستخدامها ، يمكنك إدارة تكوينات الأمان المختلفة لخادم Linux الخاص بك والتبديل بينها بكفاءة. هذا لا يوفر الوقت فحسب ، بل يضمن أيضًا أن الخادم الخاص بك يظل محميًا في ظل ظروف مختلفة.
إعداد واجهة مستخدم CSF
يوفر CSF واجهة مستخدم قائمة على الويب (UI) لإدارة جدار الحماية وتكوينه. هذه الواجهة الرسومية مفيدة بشكل خاص لأولئك الذين لا يرتاحون للعمل باستخدام أدوات سطر الأوامر أو يفضلون طريقة مرئية لإدارة الإعدادات.
في هذا القسم ، سنرشدك خلال إعداد واجهة مستخدم CSF ومناقشة بعض الاعتبارات لاستخدامها.
كيفية إعداد واجهة مستخدم CSF
تتوفر واجهة مستخدم CSF افتراضيًا للوحات التحكم الشائعة مثل cPanel و DirectAdmin و Webmin. إذا كنت تستخدم إحدى لوحات التحكم هذه ، فيجب أن تكون واجهة مستخدم CSF مدمجة بالفعل في اللوحة الخاصة بك.
بالنسبة إلى لوحات التحكم الأخرى أو الخادم بدون لوحة تحكم ، يمكنك إعداد واجهة مستخدم CSF باستخدام الخطوات التالية:
- تأكد من تثبيت التبعيات المطلوبة على الخادم الخاص بك:
- بيرل
- وحدة LWP (libwww-perl)
- وحدة GD (libgd)
- وحدة GD :: Graph
يمكنك تثبيت هذه التبعيات باستخدام مدير الحزم الخاص بك. على سبيل المثال ، في Ubuntu:
1sudo apt-get install perl libwww-perl libgd-dev libgd-perl libgd-graph-perl
- افتح ملف تكوين CSF على
/etc/csf/csf.conf
باستخدام محرر النصوص المفضل لديك (على سبيل المثال ، nano أو vim). - حدد الإعدادات التالية وقم بتعديلها على النحو التالي:
1UI = "1"
2UI_PORT = "<your_desired_port>"
3UI_USER = "<your_username>"
4UI_PASS = "<your_password>"
استبدل <your_desired_port>
برقم منفذ غير مستخدم (على سبيل المثال ، 8080) ، و <your_username>
باسم مستخدم من اختيارك ، و <your_password> `بكلمة مرور قوية وفريدة من نوعها.
- احفظ وأغلق ملف التكوين.
- أعد تشغيل CSF لتطبيق التغييرات:
1csf -r
قم بالوصول إلى واجهة مستخدم CSF بالانتقال إلى http: // your_server_ip: <your_desired_port>
في متصفح الويب الخاص بك ، وقم بتسجيل الدخول باستخدام اسم المستخدم وكلمة المرور اللذين حددتهما في ملف التكوين.
كيفية إعداد HTTPS لواجهة مستخدم CSF
من الضروري تأمين واجهة مستخدم CSF باستخدام HTTPS لحماية بيانات اعتماد تسجيل الدخول ونقل البيانات. يوصى بشدة باستخدام HTTPS ، خاصة عند الوصول إلى واجهة المستخدم عبر الإنترنت.
في هذا القسم ، سأوضح لك كيفية إعداد HTTPS لواجهة مستخدم CSF باستخدام Let’s Encrypt أو ACME أو Certbot ، ومكان وضع الشهادات التي تم إنشاؤها حتى يتمكن CSF من قراءتها.
HTTPS مع Certbot
- تأكد من تثبيت Certbot على الخادم الخاص بك. يمكنك اتباع التعليمات الخاصة بتوزيعك المحدد على موقع Certbot .
- أنشئ شهادة لمجالك باستخدام Certbot:
1sudo certbot certonly --standalone -d example.com
استبدل “example.com” بنطاقك. تأكد من أن المجال يشير إلى عنوان IP الخاص بخادمك.
- بعد إنشاء الشهادة ، ستجد ملفات الشهادة في الدليل
/etc/Letsencrypt/live/example.com/
. الملفات التي تحتاجها هي fullchain.pem (الشهادة) و privkey.pem (المفتاح الخاص). - انسخ ملفات الشهادة إلى موقع حيث يمكن لـ CSF قراءتها:
1sudo cp /etc/letsencrypt/live/example.com/fullchain.pem/etc/csf/ui/ssl/cert.pem
2sudo cp /etc/letsencrypt/live/example.com/privkey.pem/etc/csf/ui/ssl/key.pem
- افتح ملف تكوين CSF على
/etc/csf/csf.conf
باستخدام محرر النصوص المفضل لديك (على سبيل المثال ، nano أو vim). - قم بتعديل الإعدادات التالية:
1UI_SSL = "1"
2UI_CERT = "/etc/csf/ui/ssl/cert.pem"
3UI_KEY = "/etc/csf/ui/ssl/key.pem"
- احفظ وأغلق ملف التكوين.
- أعد تشغيل CSF لتطبيق التغييرات:
1csf -r
الآن ، يمكنك الوصول إلى واجهة مستخدم CSF بأمان عبر HTTPS بالانتقال إلى https://example.com: <your_desired_port>
في متصفح الويب الخاص بك.
تذكر تجديد شهادة Let’s Encrypt كل 90 يومًا ، حيث أن لها فترة صلاحية قصيرة. يمكنك أتمتة هذه العملية باستخدام وظيفة cron.
ضع في اعتبارك أن HTTPS ضروري ويوصى به بشدة لتأمين واجهة مستخدم CSF. باتباع هذه الخطوات ، يمكنك ضمان بقاء بيانات اعتماد تسجيل الدخول ونقل البيانات في مأمن من التهديدات المحتملة.
الاعتبارات عند استخدام واجهة مستخدم CSF
- اختر كلمة مرور قوية وفريدة لواجهة مستخدم CSF لمنع الوصول غير المصرح به. تأكد من تحديث كلمة المرور بانتظام وتجنب استخدام نفس كلمة المرور للخدمات الأخرى.
- تقييد الوصول إلى واجهة مستخدم CSF عن طريق السماح فقط لعناوين IP محددة بالاتصال بواجهة المستخدم. يمكنك القيام بذلك عن طريق تعديل إعداد “UI_ALLOW” في ملف تكوين CSF:
1UI_ALLOW = "192.168.1.1,192.168.1.2"
استبدل أمثلة عناوين IP بالعناوين التي تريد السماح لها بالوصول إلى واجهة مستخدم CSF.
- تأكد من أن المنفذ المختار لواجهة مستخدم CSF ليس قيد الاستخدام بالفعل من قبل الخدمات الأخرى. بالإضافة إلى ذلك ، يوصى باختيار منفذ غير قياسي لتقليل فرص الهجمات الآلية.
- قم بتحديث واجهة مستخدم CSF بشكل منتظم وتوابعها للحماية من نقاط الضعف المعروفة ومشكلات الأمان.
- مراقبة سجلات الوصول لتحديد أي نشاط مشبوه أو محاولات تسجيل دخول غير مصرح بها. يمكن العثور على سجلات CSF على
/var/log/lfd.log
.
من خلال إعداد واستخدام واجهة مستخدم CSF ، يمكنك إدارة إعدادات جدار الحماية وتكوينها بكفاءة من خلال واجهة رسومية سهلة الاستخدام.
تأكد من اتباع أفضل الممارسات ومراعاة النقاط المذكورة أعلاه للحفاظ على بيئة آمنة وموثوقة.
حماية CSF ضد هجمات DDoS
يمكن أن يساعد CSF في حماية الخادم الخاص بك من هجمات رفض الخدمة الموزعة (DDoS) من خلال تنفيذ تكوينات مختلفة وتدابير أمنية.
في هذا القسم ، سأغطي كيف يمكن لـ CSF الدفاع ضد هجمات DDoS وتقديم بعض الأمثلة على التكوينات والتوصيات.
الحماية من الفيضانات SYN
هجمات SYN فيضانات هي نوع من هجمات DDoS حيث يرسل المهاجم عددًا كبيرًا من حزم SYN إلى الخادم ، مما يتسبب في استنفاد موارده أثناء محاولة إنشاء اتصالات.
لتمكين الحماية من الفيضانات SYN في CSF ، اضبط الإعدادات التالية في ملف /etc/csf/csf.conf
:
1SYNFLOOD = "1"
2SYNFLOOD_RATE = "100/s"
3SYNFLOOD_BURST = "150"
ستعمل هذه الإعدادات على تمكين الحماية من فيضان SYN وتكوين حدود المعدل والاندفاع للاتصالات الواردة.
حماية حد الاتصال
من خلال الحد من عدد الاتصالات المتزامنة بالخادم الخاص بك ، يمكنك التخفيف من هجمات DDoS التي تستهدف خدمات معينة.
لتمكين حماية حد الاتصال ، قم بتكوين إعداد CONNLIMIT
:
1CONNLIMIT = "22;5,80;50,443;50"
يحدد هذا المثال عدد الاتصالات بـ 5 لـ SSH (22) و 50 لـ HTTP (80) و 50 لـ HTTPS (443).
حماية الميناء من الفيضانات
تساعد الحماية من فيضان المنفذ في الحماية ضد هجمات DDoS التي تستهدف منافذ معينة على الخادم الخاص بك.
لتمكين الحماية من فيضان المنفذ ، قم بتكوين إعداد PORTFLOOD
:
1PORTFLOOD = "22;tcp;5;300,80;tcp;30;5,443;tcp;30;5"
يحد هذا المثال من معدل الاتصالات الجديدة لـ SSH (22) إلى 5 لكل 300 ثانية ، و HTTP (80) و HTTPS (443) إلى 30 لكل 5 ثوان.
قوائم الحظر
يمكن أن يتكامل CSF مع قوائم حظر عناوين IP المختلفة لمنع عناوين IP الضارة المعروفة من الوصول إلى الخادم الخاص بك.
لتمكين تكامل قائمة الحظر ، قم بتكوين إعدادات BLOCKLIST_ *
في ملف تكوين CSF:
1BLOCKLIST_DE = "1"
2BLOCKLIST_6DE = "1"
3BLOCKLIST_DE_URL = "https://lists.blocklist.de/lists/all.txt"
4BLOCKLIST_6DE_URL = "https://lists.blocklist.de/lists/ipv6/all.txt"
يتيح هذا المثال التكامل مع قوائم الحظر blocklist.de
لكل من عناوين IPv4 و IPv6.
الحظر على مستوى البلد
يتيح لك CSF حظر الوصول من بلدان معينة باستخدام إعدادات CC_DENY
و CC_ALLOW_FILTER
. على الرغم من أن هذه الطريقة قد لا تكون مناسبة لجميع المواقف ، إلا أنها قد تكون مفيدة في الحالات التي تريد فيها تقييد الوصول من البلدان المعروفة بشن هجمات DDoS.
1CC_DENY = "CN,IR,RU"
2CC_ALLOW_FILTER = "US,CA,GB"
يحظر هذا المثال الوصول من الصين (CN) وإيران (IR) وروسيا (RU) ويسمح فقط بالاتصالات الواردة من الولايات المتحدة (الولايات المتحدة) وكندا (CA) والمملكة المتحدة (GB).
تذكر إعادة تشغيل CSF بعد إجراء أي تغييرات على ملف التكوين:
1csf -r
من خلال تنفيذ هذه التكوينات والتوصيات ، يمكنك تحسين حماية الخادم الخاص بك بشكل كبير ضد هجمات DDoS.
ضع في اعتبارك أنه لا يوجد إجراء أمني مضمون ، لذلك من الضروري مراقبة الخادم بانتظام بحثًا عن التهديدات المحتملة وتكييف إعدادات CSF وفقًا لذلك.
حلول الأمان البديلة
بينما يعد CSF خيارًا ممتازًا لأمان خادم Linux ، فقد ترغب في التفكير في حلول بديلة تقدم ميزات مماثلة:
- UFW (جدار حماية غير معقد) : جدار حماية سهل الاستخدام للأنظمة المستندة إلى Ubuntu.
- جدار الحماية : أداة إدارة جدار الحماية لتوزيعات Linux التي تستخدم systemd.
- IPTables : أداة سطر أوامر قوية لتصفية الحزم وترجمة عناوين الشبكة على Linux.
خاتمة
يعد تأمين خادم Linux ضروريًا لحماية بياناتك والحفاظ على تكامل الخادم الخاص بك. يوفر CSF حلاً قويًا وسهل الاستخدام لتحقيق هذا الهدف.
باتباع الخطوات الموضحة في هذه المقالة ، يمكنك بسهولة تثبيت وتهيئة CSF على خادم Linux الخاص بك. لا تنس استكشاف حلول أمان بديلة مثل UFW و Firewalld و IPTables إذا كنت تبحث عن خيارات إضافية.
آمل أن تكون قد وجدت هذه المقالة مفيدة وغنية بالمعلومات في تأمين خادم Linux الخاص بك باستخدام CSF. إذا استمتعت بهذه المقالة ووجدتها ذات قيمة ، فلا تتردد في مشاركتها مع الآخرين الذين قد يستفيدون منها. أشجعك أيضًا على ترك تعليق بأفكارك أو أسئلتك ، وسأكون أكثر من سعيد لتقديم المساعدة. 😊
كن يقظًا وحافظ على أمان خوادمك في عام 2023 وما بعده!
التعليقات