secubox-openwrt/DOCS-fr/DDOS-PROTECTION.md
CyberMind-FR ccfb58124c docs: Add trilingual documentation (French and Chinese translations)
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>
2026-03-20 10:00:18 +01:00

338 lines
8.7 KiB
Markdown

# Guide de Protection DDoS SecuBox
> **Languages:** [English](../DOCS/DDOS-PROTECTION.md) | Francais | [中文](../DOCS-zh/DDOS-PROTECTION.md)
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:
```bash
# 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:
```bash
# 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)
```bash
# 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
```bash
# 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
```bash
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
```bash
# 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
```bash
# 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`:
```haproxy
global
maxconn 4096
defaults
maxconn 2000
timeout connect 5s
timeout client 30s
timeout server 30s
```
### Limitation de Debit par Backend
```haproxy
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)
```haproxy
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
```bash
# Demarrer le conteneur mitmproxy
/etc/init.d/mitmproxy start
# Verifier l'etat
mitmproxyctl status
```
### Voir les Menaces Detectees
```bash
# 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
```bash
# 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
```bash
# 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:
```bash
# 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:
1. **Cloudflare** - Le niveau gratuit inclut une protection DDoS de base
2. **Cloudflare Spectrum** - Proxy TCP/UDP pour les services non-HTTP
3. **AWS Shield** - Si heberge sur AWS
4. **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
```bash
# 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
```bash
# 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
```
## Documentation Connexe
- [Apercu InterceptoR](../package/secubox/luci-app-interceptor/README.md)
- [Tableau de bord CrowdSec](../package/secubox/luci-app-crowdsec-dashboard/README.md)
- [Pare-feu DNS Vortex](../package/secubox/VORTEX-DNS-FIREWALL.md)
- [Config Advisor](../package/secubox/secubox-config-advisor/README.md)