NeuralWall Rules Kit
reviewed 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

Trust tierreviewed
Chargement des infos de confiance…
community
reviewed
verified

Prochain palier : verified

Modèle de menace

Résumé
Un service web exposé directement sur Internet constitue la surface d'attaque la plus large d'un périmètre. L'attaquant cherche à exploiter une vulnérabilité applicative (CVE publique, injection, mauvaise configuration) pour obtenir un accès initial sur la DMZ, puis progresser latéralement vers le réseau interne. Sans déchiffrement SSL entrant, l'inspection L7 est aveugle : antivirus, IPS et sandboxing ne voient qu'un flux opaque. Avec ssl_inbound_inspection, le flux est re-chiffré côté serveur après inspection — le certificat serveur doit être importé dans le firewall.
Objectif attaquant
Obtenir un accès initial sur le serveur DMZ via l'exploitation du service HTTPS public, déposer une charge utile ou un implant, puis établir un canal C2 sortant ou pivoter vers le réseau interne (élévation de privilèges, mouvement latéral).
Contrôles clés
ssl_inbound_inspectionipsantivirussandboxingc2_protectionfile_controldns_security

MITRE ATT&CK

Technique Nom Tactique
T1190 Exploit Public-Facing Application initial-access
T1071.001 Application Layer Protocol: Web Protocols command-and-control
T1105 Ingress Tool Transfer command-and-control
T1059 Command and Scripting Interpreter execution

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é

antivirus: action=block c2_protection: action=block, min_severity=low file_control: block_types=pe+elf+script+encrypted_archive, direction=inbound ips: action=block, min_severity=medium sandboxing: enabled=true, file_types=pe+pdf+office+jar+script url_filtering: block_categories=malware+phishing+c2+newly_registered_domain+proxy_avoidance+hacking+compromised, uncategorized_action=block

Déchiffrement

mode=ssl_inbound_inspection

Journalisation

log_start: false
log_end: true
forwarding → siem_high_priority

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é

dns_security: action=block, sinkhole=true

Déchiffrement

mode=none

Journalisation

log_end: true
forwarding → siem_default

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

log_start: true
log_end: true
forwarding → siem_high_priority