--- # ========================================================================= # serveur_web_frontal — REVERSE PROXY + WAF devant les services web PUBLICS du locataire. # # L'EDGE ET LE FRONTAL SONT DEUX PORTES (2026-09-29). L'edge (`serveur_nginx`) expose les # services INTERNES (`*.internal`) a la zone d'administration. Le frontal expose ce que le # locataire publie sur l'Internet : la frontiere redirige l'adresse publique du locataire # (80/443) vers lui, il filtre (WAF) et relaie vers le service — le plus souvent le web # DORSAL, qui porte les sites et les applications. Le frontal ne sert rien lui-meme. # # SES VHOSTS NE SE DECLARENT PAS ICI : ils derivent des expositions dont le domaine PUBLIC # le designe (`plan/domaines.yml`, champ `edge: serveur_web_frontal`) — la meme derivation # que l'edge (`expositions_des_applications`), filtree sur ce groupe. # ========================================================================= serveur_web_frontal_paquets: - nginx - libnginx-mod-http-modsecurity # le connecteur nginx de ModSecurity v3 - modsecurity-crs # OWASP Core Rule Set serveur_web_frontal_groupe: "serveur_web_frontal" serveur_web_frontal_publier_expositions: true # --- LE WAF -------------------------------------------------------------------------- # # `DetectionOnly` D'ABORD : le CRS journalise ce qu'il aurait bloque # (`/var/log/nginx/modsec_audit.log`) sans rien refuser. On lit, on ajuste les exclusions # pour les applications reelles, PUIS on passe a `On`. Un WAF bloquant pose a l'aveugle # casse les formulaires legitimes, et on finit par le desactiver. # # Eprouve le 2026-09-29 sur le vrai systeme (Debian 13, nginx 1.26, CRS 3.3.7) : une # injection SQL en requete rend 200 et est journalisee (942100, 949110) en detection ; # 403 en blocage ; une requete saine passe dans les deux cas. serveur_web_frontal_waf_mode: "DetectionOnly" # ou "On" serveur_web_frontal_waf_dir: "/etc/nginx/setops-waf" # Taille maximale d'une requete relayee (televersements). serveur_web_frontal_taille_max_corps: "16m" # Un amont declare sur un de ces ports se parle en TLS (comme a l'edge). serveur_web_frontal_ports_tls: [443, 8443]