Add complete French (fr) and Chinese (zh) translations for all documentation: - Root files: README, CHANGELOG, SECURITY, BETA-RELEASE - docs/: All 16 core documentation files - DOCS/: All 19 deep-dive documents including embedded/ and archive/ - package/secubox/: All 123+ package READMEs - Misc: secubox-tools/, scripts/, EXAMPLES/, config-backups/, streamlit-apps/ Total: 346 translation files created Each file includes language switcher links for easy navigation between English, French, and Chinese versions. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
8.7 KiB
Guide de Protection DDoS SecuBox
SecuBox fournit une protection DDoS multi-couches adaptee aux deployments domestiques, SOHO et PME. Ce document decrit les mecanismes de protection et les options de configuration.
Apercu des Couches de Protection
| Couche | Composant | Types d'Attaques Attenees |
|---|---|---|
| L3 | Pare-feu OpenWrt | Inondation SYN, inondation ICMP, usurpation IP |
| L4 | nftables/iptables | Inondations de connexions, scans de ports |
| L4 | CrowdSec | Detection d'attaques distribuees |
| L7 | HAProxy | Inondation HTTP, slowloris, bombardement de requetes |
| L7 | mitmproxy WAF | Inondations applicatives, attaques de bots |
| DNS | Pare-feu Vortex | C2 de botnet, amplification DNS |
| Intel | CrowdSec CAPI | Renseignement partage sur les menaces (50k+ noeuds) |
Protection Couche 3/4
Protection contre l'Inondation SYN
Le pare-feu OpenWrt inclut les cookies SYN et la protection contre l'inondation SYN:
# Verifier l'etat actuel
cat /proc/sys/net/ipv4/tcp_syncookies
# Activer via UCI
uci set firewall.@defaults[0].synflood_protect='1'
uci commit firewall
/etc/init.d/firewall restart
Limites de Suivi de Connexion
Augmenter la taille de la table conntrack pour les scenarios a fort trafic:
# Verifier les limites actuelles
cat /proc/sys/net/netfilter/nf_conntrack_max
cat /proc/sys/net/netfilter/nf_conntrack_count
# Augmenter la limite (ajouter a /etc/sysctl.conf)
echo "net.netfilter.nf_conntrack_max=131072" >> /etc/sysctl.conf
sysctl -p
Anti-Usurpation (Filtre de Chemin Inverse)
# Activer le filtre RP
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
# Persister dans /etc/sysctl.conf
echo "net.ipv4.conf.all.rp_filter=1" >> /etc/sysctl.conf
Limitation de Debit ICMP
# Limiter les reponses ICMP (prevenir l'amplification ping flood)
echo 1000 > /proc/sys/net/ipv4/icmp_ratelimit
echo 50 > /proc/sys/net/ipv4/icmp_msgs_per_sec
Rejet des Paquets Invalides
uci set firewall.@defaults[0].drop_invalid='1'
uci commit firewall
/etc/init.d/firewall restart
Protection CrowdSec
CrowdSec fournit une detection basee sur le comportement et un renseignement collaboratif sur les menaces.
Installer les Collections DDoS
# Detection d'inondation HTTP
cscli collections install crowdsecurity/http-dos
# Detection d'attaque HTTP de base
cscli collections install crowdsecurity/base-http-scenarios
# Specifique a Nginx/HAProxy
cscli collections install crowdsecurity/nginx
cscli collections install crowdsecurity/haproxy
# Redemarrer pour appliquer
/etc/init.d/crowdsec restart
Scenarios CrowdSec pour DDoS
| Scenario | Description | Duree de Ban |
|---|---|---|
crowdsecurity/http-dos-swithcing-ua |
Changement rapide d'user-agent | 4h |
crowdsecurity/http-generic-bf |
Force brute HTTP generique | 4h |
crowdsecurity/http-slow-bf |
Attaques style Slowloris | 4h |
crowdsecurity/http-crawl-non_statics |
Exploration agressive | 4h |
Voir les Protections Actives
# Lister les scenarios installes
cscli scenarios list
# Voir les decisions actives (bans)
cscli decisions list
# Voir les metriques en temps reel
cscli metrics
Limitation de Debit HAProxy
HAProxy fournit une limitation de connexion et de requetes pour les services publies.
Limites de Connexion Globales
Ajouter a /etc/haproxy/haproxy.cfg:
global
maxconn 4096
defaults
maxconn 2000
timeout connect 5s
timeout client 30s
timeout server 30s
Limitation de Debit par Backend
frontend https_in
bind *:443 ssl crt /etc/haproxy/certs/
# Limite de debit: 100 requetes/10s par IP
stick-table type ip size 100k expire 30s store http_req_rate(10s)
http-request track-sc0 src
http-request deny deny_status 429 if { sc_http_req_rate(0) gt 100 }
# Ralentir les clients agressifs
http-request tarpit if { sc_http_req_rate(0) gt 50 }
File d'Attente de Connexion (Absorber les Pics)
backend myapp
server app1 192.168.255.1:8080 maxconn 100 maxqueue 500
WAF L7 mitmproxy
mitmproxy inspecte le trafic HTTP/HTTPS et detecte les attaques de couche applicative.
Detection d'Inondation
L'addon secubox_analytics.py detecte:
- Pics de debit de requetes par IP
- Motifs de requetes anormaux
- Signatures de bots
- Outils de scan automatises
Activer le WAF
# Demarrer le conteneur mitmproxy
/etc/init.d/mitmproxy start
# Verifier l'etat
mitmproxyctl status
Voir les Menaces Detectees
# Menaces recentes
tail -f /srv/mitmproxy/threats.log
# Statistiques des menaces
mitmproxyctl stats
Pare-feu DNS Vortex
Vortex bloque les domaines C2 de botnet connus et les sites de distribution de malware au niveau DNS.
Activer la Protection
# Mettre a jour les flux de renseignement sur les menaces
vortex-firewall intel update
# Demarrer la protection
vortex-firewall start
# Verifier les statistiques
vortex-firewall stats
Categories Bloquees
- Domaines de distribution de malware
- Serveurs C2 de botnet (Mirai, Gafgyt, etc.)
- Domaines de phishing
- Pools de minage crypto
WAF Insider InterceptoR
Le WAF Insider InterceptoR detecte la participation DDoS depuis des appareils LAN compromis:
- Detection de balise C2 - Identifie les appareils infectes contactant leur serveur
- Tunneling DNS - Detecte l'exfiltration de donnees via DNS
- Motifs de botnet IoT - Signatures Mirai, Gafgyt, Mozi
- Activite de minage crypto - Connexions aux pools de minage
Verifier les Menaces Internes
# Voir l'etat d'InterceptoR
ubus call luci.interceptor status
# Verifier les menaces internes dans les logs
grep "insider" /srv/mitmproxy/threats.log
Profil DDoS Config Advisor
Executer la verification de conformite specifique DDoS:
# Executer toutes les verifications incluant DDoS
config-advisorctl check
# Executer uniquement les verifications DDoS
config-advisorctl check --category ddos
# Auto-remedier les problemes DDoS
config-advisorctl remediate --category ddos
Regles de Verification DDoS
| ID Regle | Verification | Severite |
|---|---|---|
| DDOS-001 | Cookies SYN actives | Haute |
| DDOS-002 | Limite de suivi de connexion | Moyenne |
| DDOS-003 | CrowdSec http-dos installe | Haute |
| DDOS-004 | Limitation de debit ICMP | Moyenne |
| DDOS-005 | Filtrage de chemin inverse | Haute |
| DDOS-006 | Limites de connexion HAProxy | Moyenne |
| DDOS-007 | WAF mitmproxy actif | Moyenne |
| DDOS-008 | Pare-feu DNS Vortex | Moyenne |
Limitations
SecuBox est concu pour une echelle domestique/PME. Il ne peut pas:
- Absorber des attaques volumetriques plus grandes que votre bande passante WAN
- Fournir une distribution Anycast/CDN
- Agir comme un service de nettoyage
Pour une Protection DDoS Serieuse
Envisagez d'ajouter une protection en amont:
- Cloudflare - Le niveau gratuit inclut une protection DDoS de base
- Cloudflare Spectrum - Proxy TCP/UDP pour les services non-HTTP
- AWS Shield - Si heberge sur AWS
- OVH Anti-DDoS - Si utilisant l'hebergement OVH
Configuration Hybride
Internet → Cloudflare (nettoyage L3/L4/L7) → SecuBox (WAF L7 + detection interne)
Liste de Controle de Durcissement Rapide
# 1. Activer les protections pare-feu
uci set firewall.@defaults[0].synflood_protect='1'
uci set firewall.@defaults[0].drop_invalid='1'
uci commit firewall
# 2. Installer la collection DDoS CrowdSec
cscli collections install crowdsecurity/http-dos
# 3. Activer les protections noyau
cat >> /etc/sysctl.conf << 'EOF'
net.ipv4.tcp_syncookies=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_ratelimit=1000
net.netfilter.nf_conntrack_max=131072
EOF
sysctl -p
# 4. Demarrer le pare-feu DNS Vortex
vortex-firewall intel update
vortex-firewall start
# 5. Verifier avec Config Advisor
config-advisorctl check --category ddos
Surveillance Pendant une Attaque
# Compte de connexions en temps reel
watch -n 1 'cat /proc/sys/net/netfilter/nf_conntrack_count'
# Activite CrowdSec
watch -n 5 'cscli metrics'
# Bans actifs
cscli decisions list
# Statistiques HAProxy (si active)
echo "show stat" | socat stdio /var/run/haproxy.sock
# Menaces mitmproxy
tail -f /srv/mitmproxy/threats.log