انتقل إلى المحتوى
العودة إلى المقالات

~/writing / من واقع التجربة

  • Coolify
  • CrowdSec
  • Traefik
  • حماية المواقع
  • أمن التطبيقات

حماية مواقع Coolify باستخدام CrowdSec وTraefik

Mustafa Ramx pixel avatarبقلم Mustafa Ramx6 أبريل 20253 دقائق للقراءةآخر تحديث 12 نوفمبر 2025
صورة المقال حماية مواقع Coolify باستخدام CrowdSec وTraefik
محتويات المقال8 أقسام
  1. ما هو CrowdSec؟
  2. المتطلبات
  3. الخطوة الأولى: نشر CrowdSec باستخدام Docker Compose
  4. الخطوة الثانية: إعداد Traefik
  5. الخطوة الثالثة: إنشاء CrowdSec middleware
  6. الخطوة الرابعة: حماية جميع مواقع Coolify تلقائياً
  7. الخلاصة
  8. هل تحتاج إلى مساعدة؟

هل تستضيف تطبيقاتك ذاتياً باستخدام Coolify وTraefik v3، وتريد حماية المواقع من الروبوتات الضارة وإساءة الاستخدام والهجمات؟ يشرح هذا الدليل الطريقة الأبسط لتثبيت CrowdSec على Coolify وربطه بـTraefik v3 عبر CrowdSec bouncer plugin.

يناسب هذا الإعداد من يستضيف عدة مواقع باستخدام Docker وTraefik على خادم Coolify.

ملاحظة: يحمي هذا الإعداد مواقع الويب فقط، ولا يعمل كجدار حماية شامل للخادم أو SSH أو بقية المنافذ. للحماية الكاملة، استخدم دليل تأمين Coolify باستخدام CrowdSec وnftables وTraefik.

ما هو CrowdSec؟

CrowdSec محرك أمان مجاني ومفتوح المصدر يحلل السجلات، ويرصد عناوين IP الضارة ويحظرها، ويستفيد من معلومات التهديدات التي يشاركها المجتمع. يشبه Fail2Ban في الفكرة، لكنه يضيف تحليلاً تعاونياً أوسع.

المتطلبات

  • نسخة Coolify ذاتية الاستضافة على خادم Linux.
  • Traefik v3 بوصفه reverse proxy، وهو مثبت مع Coolify.
  • Docker وDocker Compose.
  • صلاحيات root أو sudo.

الخطوة الأولى: نشر CrowdSec باستخدام Docker Compose

أنشئ حاوية CrowdSec واربطها بشبكة Coolify:

version: '3.8'
services:
  crowdsec:
    image: 'crowdsecurity/crowdsec:latest'
    container_name: crowdsec
    expose:
      - "8080"
    environment:
      GID: '${GID-1000}'
      COLLECTIONS: 'crowdsecurity/linux crowdsecurity/traefik'
    volumes:
      - 'crowdsec-db:/var/lib/crowdsec/data'
      - './crowdsec/config:/etc/crowdsec/'
      - './crowdsec/acquis.yaml:/etc/crowdsec/acquis.yaml'
      - '/data/coolify/proxy:/traefik'
    networks:
      - coolify
    security_opt:
      - 'no-new-privileges:true'
    restart: unless-stopped

volumes:
  crowdsec-db: null
networks:
  coolify:
    external: true

يجب أن يحتوي /etc/crowdsec/acquis.yaml على:

filenames:
  - /traefik/access.log
labels:
  type: traefik

الخطوة الثانية: إعداد Traefik

أضف الخيارات التالية ضمن command في ملف docker-compose.yml الخاص بـTraefik.

إضافة CrowdSec Traefik plugin:

- '--experimental.plugins.crowdsec-bouncer.modulename=github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin'
- '--experimental.plugins.crowdsec-bouncer.version=v1.2.1'

تفعيل سجل الوصول وحفظه في ملف:

- '--accesslog=true'
- '--accesslog.filepath=/traefik/access.log'

ولمتابعة سجلات Traefik مباشرةً قد تحتاج أيضاً إلى:

- '--accesslog=true'

تطبيق CrowdSec middleware على جميع المواقع:

- '--entrypoints.http.http.middlewares=crowdsec@file'
- '--entrypoints.https.http.middlewares=crowdsec@file'

تطبق هذه الخطوة الحماية على كل المواقع من دون إضافة labels إلى كل تطبيق.

الخطوة الثالثة: إنشاء CrowdSec middleware

أنشئ الملف /data/coolify/proxy/dynamic/crowdsec-plugin.yaml:

http:
  middlewares:
    crowdsec:
      plugin:
        crowdsec-bouncer:
          crowdsecMode: live
          crowdsecLapiHost: 'crowdsec:8080'
          crowdsecLapiKey: your_lapi_key_here
          enabled: true

أنشئ مفتاح LAPI من داخل الحاوية:

docker exec -it crowdsec cscli bouncers add traefik-bouncer

الخطوة الرابعة: حماية جميع مواقع Coolify تلقائياً

أصبح CrowdSec مطبقاً عبر middleware موحداً، ولا تحتاج إلى إضافة labels لكل موقع.

يمكنك اختيارياً استخدام router على نمط HostRegexp('.+') إذا أردت تصفية إضافية أو حظر مسارات محددة.

اختبر الحظر بإضافة قرار لعنوان IP:

docker exec -it crowdsec cscli decisions add -i 1.2.3.4 -d 30m

ولإلغاء الحظر:

docker exec -it crowdsec cscli decisions delete -i YOUR.IP.ADDRESS

أصبحت مواقعك الآن محمية بطبقة CrowdSec موحدة.

هل ما زلت تحتاج إلى Fail2Ban؟ يتعامل هذا الإعداد مع الهجمات المرتبطة بالويب. لحماية SSH يمكنك استخدام Fail2Ban مع Coolify، أو إعداد CrowdSec شاملاً مع SSH وnftables.

الخلاصة

يضيف هذا الإعداد طبقة حماية إلى جميع المواقع المستضافة على Coolify، ويساعد على التعامل مع:

  • فحص صفحات إدارة WordPress وغيرها.
  • البحث عن الملفات الحساسة.
  • الهجمات المرتبطة بثغرات CVE.
  • محاولات XSS وSQLi وغيرها.

وتُطبق الحماية عالمياً من دون إعداد كل موقع على حدة.

إذا أردت حماية الخادم بالكامل بما في ذلك SSH والخدمات غير المرتبطة بـHTTP، انتقل إلى تأمين خادم Coolify ومواقعه باستخدام CrowdSec وnftables وTraefik.

هل تحتاج إلى مساعدة؟

أقدم خدمات إعداد ومراجعة تشمل CrowdSec وFail2Ban، وتحسين Traefik، وتأمين Coolify، وضبط الأداء والمراقبة.

تواصل معي لمراجعة إعدادك الحالي أو تأمين خادمك.

// شارك المقال

شارك على XLinkedIn