📍 المقالة الرئيسية: CrowdSec 2026.
حظر IP على مستوى iptables فعال لكنه قاسٍ. على مستوى HTTP عبر Caddy أو Nginx، يمكن عرض captcha أو throttle. هذا الدرس يفصل تكوين bouncers HTTP.
المتطلبات
CrowdSec مثبَّت. Caddy 2 أو Nginx 1.18+ في الواجهة. المستوى: متوسط. الوقت: 30-45 دقيقة.
Bouncer Caddy
تثبيت bouncer
apt install -y crowdsec-caddy-bouncer
توليد API key
cscli bouncers add caddy-bouncer
# سجل المفتاح المُعاد، مثلاً ABC123XYZ
تكوين Caddyfile
{
order crowdsec first
crowdsec {
api_url http://127.0.0.1:8080
api_key ABC123XYZ
ticker_interval 15s
}
}
vault.votre-entreprise.com {
crowdsec
reverse_proxy vaultwarden:80
}
إعادة تحميل Caddy
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddy
اختبار
cscli decisions add --ip 1.2.3.4 --duration 1h --type ban
curl -H "X-Forwarded-For: 1.2.3.4" https://vault.votre-entreprise.com
# يعيد 403 Forbidden
Bouncer Nginx
apt install -y crowdsec-nginx-bouncer
cscli bouncers add nginx-bouncer
تكوين
# /etc/crowdsec/bouncers/crowdsec-nginx-bouncer.conf
API_URL=http://127.0.0.1:8080
API_KEY=YOUR_KEY
SECURE=false
LOG_FILE=/var/log/crowdsec-nginx-bouncer.log
UPDATE_FREQUENCY=10
DEFAULT_REMEDIATION=ban
Captcha بدلاً من ban
# /etc/crowdsec/profiles.yaml
name: captcha_remediation
filters:
- Alert.Remediation == true && Alert.GetScenario() contains "http"
decisions:
- type: captcha
duration: 4h
on_success: continue
AppSec: حماية L7 متقدمة
CrowdSec AppSec (1.6+) يقدم WAF بأسلوب ModSecurity. يكشف SQLi و XSS و path traversal.
cscli collections install crowdsecurity/appsec-virtual-patching
cscli collections install crowdsecurity/appsec-generic-rules
# Caddyfile
crowdsec {
appsec_url http://127.0.0.1:7422
}
الأخطاء الشائعة
| الخطأ | الحل |
|---|---|
| Bouncer Caddy 401 | API key غير صحيح |
| Captcha loop | Cookie session |
| Real IP عبر CDN | real_ip_header |
| AppSec إيجابيات خاطئة | تخصيص whitelist |
التكيف مع السياق
Real IP عبر Cloudflare: trusted_proxies. Captcha mobile-friendly: hCaptcha أخف. Geo-blocking soft: ليس hard-block.
دروس الإخوة
الأسئلة المتكررة
Caddy أو Nginx؟ Caddy أبسط. الأداء متعادل.
الأداء مع bouncer؟ +1-3 ميلي ثانية. ضئيل.