expose_public_https_web_service Exposition d'un service web HTTPS public depuis Internet vers la DMZ
Ce scénario couvre l'exposition d'un serveur web HTTPS hébergé en DMZ et accessible depuis Internet. Il inclut le déchiffrement SSL entrant (ssl_inbound_inspection) pour permettre l'inspection L7 du trafic chiffré, ainsi que les règles de dépendance DNS nécessaires au bon fonctionnement du service. Ce scénario est particulièrement sensible : le serveur exposé est une cible directe pour l'exploitation de vulnérabilités publiques, l'injection de charge utile et l'utilisation détournée du service comme relais C2. Les profils de sécurité complets (antivirus, IPS, c2_protection, url_filtering, file_control, sandboxing) sont obligatoires sur la règle allow principale.
- Schéma:
- 1.0.0
- Version:
- 1.0.0
- Auteurs:
- NeuralWall Rules Team (NeuralWall)
Confiance & attestations
Prochain palier : verified
Modèle de menace
ssl_inbound_inspectionipsantivirussandboxingc2_protectionfile_controldns_security MITRE ATT&CK
Règles
| # | App ID | Action | Direction | Zones | Risque | Profils sécurité | Déchiffrement |
|---|---|---|---|---|---|---|---|
| 0 | web_browsing | allow | inbound | internet → dmz | 4 | antivirus, c2_protection, file_control, ips, sandboxing, url_filtering | ssl_inbound_inspection |
| 1 | dns | allow | internal | dmz → internal | 2 | dns_security | none |
| 2 | any_application | drop | outbound | dmz → internet | 5 | — | — |
Détail des règles
Règle 0 — web_browsing (allow)
Rationale
Cette règle autorise le trafic HTTPS entrant d'Internet vers le serveur web en DMZ. Le déchiffrement ssl_inbound_inspection est activé pour permettre l'inspection L7 : sans lui, antivirus, IPS et sandboxing voient un flux opaque et ne peuvent pas détecter les exploits ni les charges utiles. Les profils de sécurité sont tous activés en mode blocage (pas seulement alerte) car la surface d'attaque est maximale sur un service public. Le port 80 est inclus pour la redirection HTTP→HTTPS ; une règle de redirection applicative côté serveur est recommandée en complément.
Application
- app_id:
- web_browsing
- category:
- general_internet
- risk:
- 4
- depends_on:
- dns, ssl
Zones
internet → dmz
direction: inbound
Profils de sécurité
Déchiffrement
mode=ssl_inbound_inspection
Journalisation
Règle 1 — dns (allow)
Rationale
La résolution DNS est requise pour le bon fonctionnement du service web en DMZ (résolution OCSP/CRL pour la validation de certificats, dépendances amont, mises à jour). Le flux est restreint vers un résolveur interne de confiance (pas directement vers Internet) pour éviter le DNS rebinding et limiter la surface d'exfiltration. Le profil dns_security avec sinkhole bloque le tunneling DNS qui pourrait être utilisé comme canal C2 discret depuis un serveur compromis. Déchiffrement non applicable : DNS UDP standard n'est pas chiffré.
Application
- app_id:
- dns
- category:
- networking
- risk:
- 2
Zones
dmz → internal
direction: internal
Profils de sécurité
Déchiffrement
mode=none
Journalisation
Règle 2 — any_application (drop)
Rationale
Règle de deny-by-default : tout trafic initié depuis la DMZ vers Internet qui n'est pas explicitement couvert par une règle allow ci-dessus est bloqué silencieusement. Cette règle est critique pour contenir un serveur DMZ compromis et empêcher l'établissement d'un canal C2 sortant (T1071.001) ou l'exfiltration de données. L'app_id 'any_application' avec category 'unknown' est justifié ici : il s'agit d'une règle de blocage de "catch-all", non d'une règle allow.
Application
- app_id:
- any_application
- category:
- unknown
- risk:
- 5
Zones
dmz → internet
direction: outbound
Journalisation