secubox-openwrt/package/secubox/luci-app-mitmproxy/README.fr.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

493 lines
15 KiB
Markdown

[English](README.md) | [Francais](README.fr.md) | [中文](README.zh.md)
# mitmproxy - Proxy d'Interception HTTPS
Proxy HTTPS interactif pour le debogage, les tests et l'analyse de securite avec support du mode transparent et inspection du trafic via interface web.
## Fonctionnalites
| Fonctionnalite | Description |
|----------------|-------------|
| **Inspection du Trafic** | Voir et analyser les requetes HTTP/HTTPS en temps reel |
| **Interface Web** | Interface mitmweb integree avec token d'authentification automatique |
| **Mode Transparent** | Intercepter le trafic automatiquement via nftables |
| **Detection de Menaces** | Detecter les injections SQL, XSS, injections de commandes, Log4Shell |
| **Integration HAProxy** | Inspecter tous les backends vhost avec detection de menaces |
| **Certificat CA** | Generer et gerer les certificats d'interception SSL |
| **Logging CrowdSec** | Journaliser les menaces vers CrowdSec pour blocage automatique |
| **Filtrage** | Filtrer et suivre CDN, media, publicites et trackers |
| **Liste Blanche** | Contourner l'interception pour des IPs/domaines specifiques |
## Demarrage Rapide
### Modes Proxy
| Mode | Description | Cas d'Utilisation |
|------|-------------|-------------------|
| **Regular** | Configurer les clients manuellement | Tester des apps specifiques |
| **Transparent** | Interception auto via pare-feu | Inspection reseau globale |
| **Upstream** | Transmettre a un autre proxy | Chainage de proxies |
| **Reverse** | Mode reverse proxy | Analyse de backends |
### Activer le Mode Transparent
1. Aller dans **Securite -> mitmproxy -> Parametres**
2. Definir **Mode Proxy** sur `Transparent`
3. Activer **Pare-feu Transparent**
4. Cliquer **Sauvegarder & Appliquer**
### Installer le Certificat CA
Pour l'interception HTTPS, installer le CA mitmproxy sur les peripheriques clients :
1. Configurer le peripherique pour utiliser le proxy (ou utiliser le mode transparent)
2. Naviguer vers `http://mitm.it` depuis le peripherique
3. Telecharger et installer le certificat pour votre OS
4. Faire confiance au certificat dans les parametres systeme
## Tableau de Bord
```
+--------------------------------------------------------------+
| mitmproxy En cours |
+--------------------------------------------------------------+
| |
| +------------+ +------------+ +------------+ +--------+ |
| | 12.5K | | 245 | | 45 Mo | | 8080 | |
| | Requetes | | Hotes | | Flux | | Port | |
| +------------+ +------------+ +------------+ +--------+ |
| |
| Top Hotes Certificat CA |
| +------------------------------+ +-------------------------+|
| | api.example.com 1,234 | | mitmproxy CA ||
| | cdn.cloudflare.com 890 | | Certificat installe ||
| | www.google.com 567 | | Expire: 2026-01-28 ||
| | analytics.google.com 432 | | [Telecharger] ||
| +------------------------------+ +-------------------------+|
| |
+--------------------------------------------------------------+
```
## Capture de Requetes
### Visualiseur de Requetes en Direct
L'onglet Requetes affiche le trafic HTTP capture en temps reel :
```
+--------------------------------------------------------------+
| Requetes Capturees Pause |
+--------------------------------------------------------------+
| |
| [GET] api.example.com/users 200 application/json |
| [POST] auth.example.com/login 201 application/json |
| [GET] cdn.cloudflare.com/script.js 200 text/javascript |
| [GET] www.google.com/search 200 text/html |
| [PUT] api.example.com/user/123 204 - |
| |
+--------------------------------------------------------------+
```
### Voir les Details d'une Requete
Cliquer sur n'importe quelle requete pour voir :
- En-tetes de requete complets
- En-tetes de reponse
- Cookies
- Corps de requete/reponse (si capture)
## Mode Transparent
### Architecture
```
Peripherique Client Routeur SecuBox
+----------------+ +------------------------+
| | | |
| Navigateur |<-- HTTP/S -->| nftables REDIRECT |
| | | | |
+----------------+ | v |
| +------------------+ |
| | mitmproxy | |
| | (port 8080) | |
| +--------+---------+ |
| | |
| v |
| Internet |
+------------------------+
```
### Configuration Pare-feu
Quand le mode transparent est active, mitmproxy cree automatiquement les regles nftables :
```bash
# Redirection HTTP (port 80 -> 8080)
nft add rule inet fw4 prerouting tcp dport 80 redirect to :8080
# Redirection HTTPS (port 443 -> 8080)
nft add rule inet fw4 prerouting tcp dport 443 redirect to :8080
```
## Inspection Backend HAProxy
Router tout le trafic vhost HAProxy via mitmproxy pour la detection de menaces.
### Architecture
```
Internet -> HAProxy (terminaison SSL) -> mitmproxy :8890 -> Backends Reels
|
Detection Menaces
|
Logging CrowdSec
```
### Activer l'Inspection HAProxy
```bash
# Via CLI
mitmproxyctl haproxy-enable
# Ce que ca fait :
# 1. Synchronise les backends HAProxy vers les routes mitmproxy
# 2. Met a jour tous les vhosts pour router via mitmproxy
# 3. Redemarre les deux services
```
### Desactiver l'Inspection HAProxy
```bash
# Restaurer les backends originaux
mitmproxyctl haproxy-disable
```
### Synchronisation Manuelle des Routes
```bash
# Synchroniser les routes depuis HAProxy UCI sans activer l'inspection
mitmproxyctl sync-routes
```
### Commandes HAProxy Inspector
| Commande | Description |
|----------|-------------|
| `mitmproxyctl haproxy-enable` | Activer l'inspection des backends |
| `mitmproxyctl haproxy-disable` | Restaurer les backends originaux |
| `mitmproxyctl sync-routes` | Synchroniser les routes depuis HAProxy UCI |
## Detection de Menaces
L'addon analytics detecte plus de 90 patterns d'attaque incluant :
| Categorie | Exemples |
|-----------|----------|
| **Injection SQL** | UNION SELECT, OR 1=1, time-based blind |
| **XSS** | balises script, gestionnaires d'evenements, javascript: |
| **Injection de Commandes** | commandes shell, injection pipe |
| **Traversee de Chemin** | ../../../etc/passwd |
| **SSRF** | acces IP interne, endpoints metadata |
| **Log4Shell** | ${jndi:ldap://...} |
| **Scanners Admin** | /wp-admin, /phpmyadmin, /.env |
### Voir les Menaces
Les menaces sont affichees dans le tableau de bord LuCI avec :
- Niveau de severite (critique/haute/moyenne/basse)
- Type de pattern d'attaque
- IP source et pays
- Chemin de requete et methode
### Integration CrowdSec
Les menaces detectees sont journalisees dans `/var/log/crowdsec/mitmproxy-threats.log` pour :
- Blocage automatique des IP via le bouncer CrowdSec
- Partage de renseignements sur les menaces
- Analytique de securite
## Configuration
### Parametres UCI
```bash
# /etc/config/mitmproxy
config mitmproxy 'main'
option enabled '1'
option mode 'transparent' # regular | transparent | upstream | reverse
option proxy_port '8080'
option web_host '0.0.0.0'
option web_port '8081'
option data_path '/srv/mitmproxy'
option memory_limit '256M'
option ssl_insecure '0' # Accepter les certs upstream invalides
option anticache '0' # Supprimer les en-tetes cache
option anticomp '0' # Desactiver la compression
option flow_detail '1' # Niveau de detail des logs (0-4)
config transparent 'transparent'
option enabled '1'
option interface 'br-lan'
option redirect_http '1'
option redirect_https '1'
option http_port '80'
option https_port '443'
config whitelist 'whitelist'
option enabled '1'
list bypass_ip '192.168.255.0/24'
list bypass_domain 'banking.com'
config filtering 'filtering'
option enabled '1'
option log_requests '1'
option filter_cdn '0'
option filter_media '0'
option block_ads '0'
option addon_script '/data/addons/secubox_analytics.py'
config haproxy_router 'haproxy_router'
option enabled '0'
option listen_port '8889'
option threat_detection '1'
option routes_file '/srv/mitmproxy/haproxy-routes.json'
config capture 'capture'
option save_flows '0'
option capture_request_headers '1'
option capture_response_headers '1'
option capture_request_body '0'
option capture_response_body '0'
```
## API RPCD
### Controle du Service
| Methode | Description |
|---------|-------------|
| `status` | Obtenir le statut du service (inclut le token auth) |
| `start` | Demarrer mitmproxy |
| `stop` | Arreter mitmproxy |
| `restart` | Redemarrer le service |
| `install` | Installer le conteneur mitmproxy |
### Configuration
| Methode | Description |
|---------|-------------|
| `settings` | Obtenir tous les parametres |
| `save_settings` | Sauvegarder la configuration |
| `set_mode` | Definir le mode proxy |
### Detection de Menaces
| Methode | Description |
|---------|-------------|
| `alerts` | Obtenir les menaces detectees |
| `threat_stats` | Obtenir les statistiques de menaces |
| `clear_alerts` | Effacer toutes les alertes |
### Integration HAProxy
| Methode | Description |
|---------|-------------|
| `haproxy_enable` | Activer l'inspection des backends |
| `haproxy_disable` | Restaurer les backends originaux |
| `sync_routes` | Synchroniser les routes depuis HAProxy |
### Pare-feu
| Methode | Description |
|---------|-------------|
| `setup_firewall` | Configurer les regles du mode transparent |
| `clear_firewall` | Supprimer les regles pare-feu |
### Exemple d'Utilisation
```bash
# Obtenir le statut (inclut le token auth pour l'interface Web)
ubus call luci.mitmproxy status
# Reponse :
{
"enabled": true,
"running": true,
"installed": true,
"web_port": 8081,
"proxy_port": 8888,
"mode": "regular",
"token": "abc123xyz...",
"haproxy_router_enabled": false,
"haproxy_listen_port": 8889
}
# Obtenir les menaces detectees
ubus call luci.mitmproxy alerts
# Reponse :
{
"success": true,
"alerts": [
{
"time": "2026-01-31T12:00:00",
"severity": "high",
"pattern": "sql_injection",
"method": "GET",
"path": "/api?id=1' OR 1=1--",
"ip": "192.168.1.100"
}
]
}
# Activer l'inspection backend HAProxy
ubus call luci.mitmproxy haproxy_enable
# Reponse :
{
"success": true,
"message": "Inspection backend HAProxy activee"
}
```
## Acces Interface Web
L'interface mitmweb necessite une authentification via token.
### Auto-Auth via LuCI
Le tableau de bord LuCI affiche le lien Web UI avec le token inclus :
```
http://192.168.255.1:8081/?token=abc123xyz
```
### Acces Manuel au Token
```bash
# Le token est stocke dans le repertoire de donnees
cat /srv/mitmproxy/.mitmproxy_token
# Ou via RPCD
ubus call luci.mitmproxy status | jsonfilter -e '@.token'
```
## Certificat CA
### Generer un Nouveau Certificat
```bash
# Le certificat est auto-genere au premier demarrage
# Situe dans : /srv/mitmproxy/mitmproxy-ca-cert.pem
```
### Telecharger le Certificat
1. Acceder a l'interface mitmweb (utiliser le token du tableau de bord LuCI)
2. Ou naviguer vers `http://mitm.it` depuis un peripherique proxifie
3. Telecharger le certificat pour votre plateforme
### Emplacements des Certificats
| Chemin | Description |
|--------|-------------|
| `/srv/mitmproxy/certs/mitmproxy-ca.pem` | Cle privee CA + certificat |
| `/srv/mitmproxy/certs/mitmproxy-ca-cert.pem` | Certificat CA uniquement |
| `/srv/mitmproxy/certs/mitmproxy-ca-cert.cer` | Certificat (format DER) |
## Filtrage & Analytique
### Suivi CDN
Suivre le trafic vers les principaux fournisseurs CDN :
- Cloudflare
- Akamai
- Fastly
- AWS CloudFront
- Google Cloud CDN
### Suivi Streaming Media
Suivre les services de streaming :
- YouTube
- Netflix
- Spotify
- Twitch
- Amazon Prime Video
### Blocage de Publicites
Bloquer les domaines de publicite et de tracking connus avec l'addon de filtrage integre.
## Emplacements des Fichiers
| Chemin | Description |
|--------|-------------|
| `/etc/config/mitmproxy` | Configuration UCI |
| `/srv/mitmproxy/` | Repertoire de donnees |
| `/srv/mitmproxy/certs/` | Certificats CA |
| `/srv/mitmproxy/flows/` | Fichiers de flux captures |
| `/var/lib/lxc/mitmproxy/` | Racine conteneur LXC |
| `/usr/libexec/rpcd/luci.mitmproxy` | Backend RPCD |
## Depannage
### Le Service Ne Demarre Pas
```bash
# Verifier le statut du conteneur
lxc-info -n mitmproxy
# Verifier les logs
logread | grep mitmproxy
# Verifier si Docker est disponible
docker ps
```
### Pas de Trafic Capture
1. **Mode regular** : Verifier que les parametres proxy du client pointent vers `192.168.255.1:8080`
2. **Mode transparent** : Verifier les regles pare-feu avec `nft list ruleset | grep redirect`
3. Verifier que mitmproxy ecoute : `netstat -tln | grep 8080`
### L'Interception HTTPS Ne Fonctionne Pas
1. Installer le certificat CA sur le peripherique client
2. Faire confiance au certificat dans les parametres systeme
3. Certaines apps utilisent le certificate pinning et ne peuvent pas etre interceptees
### Interface Web Inaccessible
```bash
# Verifier que le port web ecoute
netstat -tln | grep 8081
# Verifier depuis le routeur
curl -I http://127.0.0.1:8081
# Verifier que le pare-feu autorise l'acces
uci show firewall | grep mitmproxy
```
### Problemes de Memoire
```bash
# Augmenter la limite memoire
uci set mitmproxy.main.memory_limit='512M'
uci commit mitmproxy
/etc/init.d/mitmproxy restart
```
## Notes de Securite
1. **Outil Sensible** - mitmproxy peut intercepter tout le trafic reseau incluant les mots de passe. Utiliser de maniere responsable.
2. **Certificat CA** - Proteger la cle privee CA. Toute personne y ayant acces peut intercepter le trafic.
3. **Liste Blanche Banques** - Ajouter les sites bancaires et financiers a la liste de contournement.
4. **Desactiver Quand Non Utilise** - Desactiver le mode transparent quand vous ne debuguez pas activement.
5. **Piste d'Audit** - Toutes les requetes capturees peuvent contenir des donnees sensibles.
## Licence
MIT License - Copyright (C) 2025-2026 CyberMind.fr