Plateforme Low-Code CLS — Option A : Hebergement LAN + Reverse Proxy DMZ
Document : Matrice de flux — Exposition Internet via reverse proxy
Auteur : Christophe Kersuzan — Digital Manager — DSI CLS
Date : Avril 2026 | Version : 1.0 | Classification : Interne
Destinataires : Equipe Securite SI / RSSI
⚠ Ce document presente l'Option A (LAN). L'Option B (Azure) est presentee dans un document separe et constitue l'option recommandee.
1. Principe
Cette option consiste a exposer les services de la plateforme low-code, heberges sur le LAN CLS, via un reverse proxy en DMZ. Seuls les endpoints webhooks et les interfaces utilisateur sont exposes. L'interface d'administration reste accessible VPN uniquement.
Cette option necessite :
- Le deploiement d'un reverse proxy en DMZ (VM ou conteneur)
- L'ouverture de flux entrants Internet → DMZ → LAN
- Des regles firewall entre 3 zones (Internet, DMZ, LAN)
- Un WAF applicatif pour proteger les services exposes
- La maintenance recurrente de ces composants par l'equipe infra
2. Architecture
2.1 Architecture globale
graph LR
subgraph Internet["🌐 Internet"]
ZC["Zoho Creator"]
SWA["Azure Static Web Apps"]
MOB["Navigateurs mobile"]
end
subgraph DMZ["🛡️ DMZ (nouvelle zone)"]
RP["Reverse Proxy
Traefik / Nginx
+ WAF ModSecurity
+ Rate Limiting
+ TLS Termination"]
end
subgraph LAN["🏢 LAN CLS"]
subgraph SRV["Serveur aiops-qo-1"]
N8N["n8n
Workflows"]
TB["Typebot
Chatbots"]
OF["OpnForms
Formulaires"]
NC["NocoDB
Tableur"]
end
SUP[("Supabase
PostgreSQL")]
JIRA["Jira Server"]
end
subgraph SaaS["☁️ Services externes"]
SMTP["SMTP O365"]
AI["Azure AI Foundry"]
COSMOS["Cosmos DB"]
end
ZC -->|"HTTPS 443"| RP
SWA -->|"HTTPS 443"| RP
MOB -->|"HTTPS 443"| RP
RP -->|"/webhook/*"| N8N
RP -->|"/typebot/*"| TB
RP -->|"/forms/*"| OF
RP -->|"/nocodb/*"| NC
N8N --> SUP
N8N --> JIRA
NC --> SUP
N8N --> SMTP
N8N --> AI
SWA --> COSMOS
style Internet fill:#f0fdf4,stroke:#22c55e
style DMZ fill:#fef3c7,stroke:#f59e0b,stroke-width:3px
style LAN fill:#fef2f2,stroke:#ef4444,stroke-width:2px
style SaaS fill:#eff6ff,stroke:#2563eb
style RP fill:#fbbf24,stroke:#92400e,stroke-width:2px,color:#000
2.2 Zones de securite et flux inter-zones
graph TB
subgraph Z1["ZONE 1 — Internet (non fiable)"]
SRC1["Sources :
Zoho Creator
Azure SWA
Navigateurs"]
end
subgraph Z2["ZONE 2 — DMZ (semi-fiable)"]
FW1[["🔥 Firewall 1
Internet → DMZ
Port 443 uniquement"]]
RP2["Reverse Proxy
+ WAF + TLS"]
FW2[["🔥 Firewall 2
DMZ → LAN
Ports specifiques"]]
end
subgraph Z3["ZONE 3 — LAN CLS (fiable)"]
SERVICES["n8n / Typebot / OpnForms / NocoDB
Supabase / Jira"]
end
SRC1 -->|"TCP 443
HTTPS"| FW1
FW1 -->|"Autorise"| RP2
RP2 -->|"Proxy pass
/webhook/* /typebot/*
/forms/* /nocodb/*"| FW2
FW2 -->|"TCP 5678 (n8n)
TCP 3001 (Typebot)
TCP 8025 (OpnForms)
TCP 8080 (NocoDB)"| SERVICES
style Z1 fill:#f0fdf4,stroke:#22c55e
style Z2 fill:#fef3c7,stroke:#f59e0b,stroke-width:3px
style Z3 fill:#fef2f2,stroke:#ef4444,stroke-width:2px
style FW1 fill:#ef4444,stroke:#991b1b,color:#fff
style FW2 fill:#ef4444,stroke:#991b1b,color:#fff
3. Matrice de flux — Firewall 1 (Internet → DMZ)
| ID | Source | Destination | Proto | Port | Direction | Description | Risque |
| FW1-01 |
0.0.0.0/0 (Internet) ou whitelist Azure + Zoho |
IP reverse proxy DMZ |
HTTPS |
443 |
ENTRANT |
Unique port ouvert depuis Internet. Tout le trafic passe par le reverse proxy. |
Moyen |
4. Matrice de flux — Firewall 2 (DMZ → LAN)
Attention : Ces flux traversent la frontiere DMZ → LAN. Chaque regle ouvre un chemin depuis la DMZ (potentiellement compromise) vers le reseau interne.
| ID | Source | Destination | Proto | Port | Description | Risque |
| FW2-01 |
Reverse proxy (DMZ) |
aiops-qo-1 (n8n) |
HTTP |
5678 |
Proxy pass vers n8n (webhooks + dashboards) |
Moyen |
| FW2-02 |
Reverse proxy (DMZ) |
aiops-qo-1 (Typebot) |
HTTP |
3001 |
Proxy pass vers Typebot (chatbots) |
Moyen |
| FW2-03 |
Reverse proxy (DMZ) |
aiops-qo-1 (OpnForms) |
HTTP |
8025 |
Proxy pass vers OpnForms (formulaires) |
Moyen |
| FW2-04 |
Reverse proxy (DMZ) |
aiops-qo-1 (NocoDB) |
HTTP |
8080 |
Proxy pass vers NocoDB (tableur) |
Moyen |
5. Matrice de flux — LAN → Externe (sortants, existants)
| ID | Source | Destination | Proto | Port | Description | Statut |
| OUT-01 | n8n (LAN) | smtp.office365.com | SMTP/TLS | 587 | Envoi emails clsworkflow@ | Existant |
| OUT-02 | n8n (LAN) | Azure AI Foundry | HTTPS | 443 | Appels LLM | Existant |
| OUT-03 | n8n (LAN) | desk.zoho.eu | HTTPS | 443 | API Zoho Desk | Existant |
| OUT-04 | n8n (LAN) | RSS publics | HTTPS | 443 | Veille automatisee | Existant |
| OUT-05 | n8n (LAN) | Azure Cosmos DB | HTTPS | 443 | Polling notifications webapps | Existant |
6. Matrice de flux — LAN interne
| ID | Source | Destination | Proto | Port | Description | Statut |
| INT-01 | n8n | Supabase (supabase-kong) | HTTP | 8000 | API REST PostgREST | Existant |
| INT-02 | n8n | Jira Server | HTTPS | 443 | Synchro Jira / Zoho | Existant |
| INT-03 | NocoDB | Supabase PostgreSQL | PostgreSQL | 5432 | Interface tableur sur la base existante | Nouveau |
7. Flux complet — Diagramme de sequence
7.1 Webhook entrant (ex: PauseCafe → n8n)
sequenceDiagram
participant U as Hotesse (Internet)
participant FW1 as Firewall 1
participant RP as Reverse Proxy DMZ
participant WAF as WAF ModSecurity
participant FW2 as Firewall 2
participant N8N as n8n (LAN)
participant SMTP as SMTP O365
U->>FW1: HTTPS 443
FW1->>RP: TCP 443 autorise
RP->>WAF: Inspection HTTP
WAF->>WAF: Regles OWASP (SQL injection, XSS, SSRF)
alt Requete bloquee
WAF-->>U: 403 Forbidden
else Requete autorisee
WAF->>RP: OK
RP->>FW2: Proxy pass /webhook/pausecafe-notify
FW2->>N8N: TCP 5678
N8N->>SMTP: Envoi email
N8N-->>RP: 200 OK
RP-->>U: 200 OK (HTTPS)
end
7.2 Acces dashboard mobile (ex: VMS Indonesie)
sequenceDiagram
participant U as Utilisateur mobile
participant FW1 as Firewall 1
participant RP as Reverse Proxy DMZ
participant WAF as WAF
participant FW2 as Firewall 2
participant N8N as n8n (LAN)
participant PG as Supabase (LAN)
U->>FW1: HTTPS 443 /webhook/vms-dashboard
FW1->>RP: Autorise
RP->>WAF: Inspection
WAF->>RP: OK
RP->>FW2: Proxy pass
FW2->>N8N: TCP 5678
N8N->>PG: SELECT * FROM vms_v_dashboard
PG-->>N8N: Donnees
N8N->>N8N: Build HTML dashboard
N8N-->>RP: HTML (1 Mo)
RP-->>U: HTTPS response
Note over FW1,FW2: 4 traversees de frontiere pour une seule page
8. Composants a deployer
| Composant | Detail | Responsable | Effort |
| VM ou conteneur reverse proxy | Traefik ou Nginx en DMZ. OS a durcir (CIS benchmark). Certificat TLS. | Equipe infra / securite | 1-2 jours |
| WAF ModSecurity | Regles OWASP CRS. Configuration whitelist/blacklist par chemin. | Equipe securite | 1 jour |
| Regles firewall DMZ | FW1 : Internet → DMZ (443). FW2 : DMZ → LAN (5678, 3001, 8025, 8080). | Equipe reseau | Validation + deploiement |
| DNS externe | n8n-labs.groupcls.com → IP publique reverse proxy | Equipe infra | 1h |
| Monitoring | Surveillance reverse proxy + alertes sur tentatives d'intrusion | Equipe securite | Recurrent |
| Patching | Mise a jour OS, Traefik/Nginx, WAF rules, n8n, conteneurs | Equipe infra | Recurrent (mensuel) |
9. Analyse des risques
| Risque | Probabilite | Impact | Mitigation |
| Compromission du reverse proxy |
Faible |
Eleve |
Acces au LAN via FW2. Mitigation : WAF, patching, monitoring, segmentation stricte. |
| Mouvement lateral depuis la DMZ |
Faible |
Eleve |
Si le proxy est compromis, les regles FW2 permettent d'atteindre n8n, Typebot, NocoDB sur le LAN. Mitigation : micro-segmentation, IDS. |
| Exploitation d'une vulnerabilite n8n/Typebot/NocoDB |
Moyen |
Moyen |
Service open source expose. Mitigation : mise a jour rapide, WAF, conteneurisation. |
| DDoS sur le reverse proxy |
Moyen |
Moyen |
Rate limiting (100 req/min/IP). Pas de protection DDoS enterprise sans solution dediee. |
| Indisponibilite du reverse proxy |
Moyen |
Moyen |
Point unique de defaillance. Haute dispo = 2x VM + load balancer (cout supplementaire). |
10. Couts
| Composant | Detail | Cout initial | Cout recurrent/mois |
| VM reverse proxy (DMZ) | VM Linux dediee ou conteneur sur infra existante | 0-500 EUR | 0 EUR (infra existante) ou ~15 EUR (Azure VM) |
| WAF | ModSecurity (gratuit) ou Azure WAF | 0 EUR | 0-25 EUR |
| Certificat TLS | Let's Encrypt ou certificat CLS | 0 EUR | 0 EUR |
| n8n + Typebot + OpnForms + NocoDB | Conteneurs sur aiops-qo-1 (existant) | 0 EUR | 0 EUR |
| PostgreSQL / Supabase | Existant | 0 EUR | 0 EUR |
| Total infrastructure | 0-500 EUR | 0-40 EUR/mois |
Couts non chiffres (mais reels) :
- Temps equipe infra : deploiement reverse proxy + WAF + firewall rules — estime 2-3 jours (valeur ~2000-3000 EUR)
- Temps equipe securite : validation, audit, tests de penetration — estime 1-2 jours
- Maintenance recurrente : patching OS, WAF rules, monitoring — estime 2h/mois
- Processus de validation : comite securite, validation RSSI — delai 2-6 semaines
11. Comparaison avec l'Option B (Azure)
graph LR
subgraph OPA["Option A — LAN + Reverse Proxy"]
A1["4 regles firewall"]
A2["1 VM DMZ a maintenir"]
A3["WAF a configurer"]
A4["2-3 jours equipe infra"]
A5["Risque mouvement lateral"]
A6["0-40 EUR/mois"]
end
subgraph OPB["Option B — Azure (recommandee)"]
B1["0 regles firewall"]
B2["0 VM a maintenir"]
B3["Protection Azure native"]
B4["1 jour deploiement"]
B5["Zero acces au LAN"]
B6["~31 EUR/mois"]
end
style OPA fill:#fef2f2,stroke:#ef4444,stroke-width:2px
style OPB fill:#f0fdf4,stroke:#22c55e,stroke-width:2px
| Critere | Option A — LAN | Option B — Azure |
| Flux entrant LAN | OUI — 4 ports DMZ→LAN | AUCUN |
| Regles firewall | FW1 (1 regle) + FW2 (4 regles) = 5 regles | 0 regles |
| Composants a deployer | VM DMZ + reverse proxy + WAF + monitoring | Azure Container Apps (PaaS gere) |
| Surface d'attaque LAN | Augmentee (DMZ → LAN) | Inchangee |
| Mouvement lateral | Possible si reverse proxy compromis | Impossible (pas de lien reseau) |
| Maintenance | Equipe infra + securite (recurrent) | Image Docker a jour (1 commande) |
| Haute disponibilite | A configurer (2 VM + LB) | Native Azure (SLA 99.95%) |
| Sauvegarde | A configurer manuellement | Automatique (Azure backup 7j) |
| Delai mise en oeuvre | 2-6 semaines (validation secu) | 1 journee |
| Cout mensuel | 0-40 EUR + couts humains | ~31 EUR (tout compris) |
| Dependance homelab | Partielle (VMS Indo a migrer) | Supprimee |
| Acces Jira interne | Direct (meme LAN) | Necessite VPN site-to-site ou reste sur n8n interne |
| Conformite ISO 27001 | Audit surface d'attaque elargie | Azure certifie ISO 27001, SOC 2 |
Avantage unique de l'Option A : l'acces direct a Jira Server et Supabase interne (pas besoin de VPN site-to-site). Tous les autres criteres favorisent l'Option B.
Recommandation : Si l'acces Jira est indispensable, garder le workflow de synchro Jira/Zoho sur l'instance n8n interne existante (deja en place) et deployer le reste sur Azure (Option B). C'est l'approche hybride recommandee.
CLS — Collecte Localisation Satellites — Document interne — Avril 2026