S01 - Pare-feu : les concepts
Objectif
Comprendre ce que fait un pare-feu, la différence stateless / stateful, les zones (LAN, DMZ, WAN), et les familles de pare-feux (filtrage, proxy, WAF, UTM, NGFW).
1. Rôle d’un pare-feu
Un pare-feu (firewall) contrôle les flux entre des zones réseau selon une politique de sécurité : chaque flux est autorisé, refusé ou journalisé.
| Fonction | Exemple |
|---|---|
| Contrôle d’accès | Seul le VLAN Admin peut joindre les serveurs en SSH |
| Limitation des activités indésirables | Bloquer les scans de ports, l’accès depuis certains pays |
| Séparation des zones de confiance | Le Wi-Fi invité ne voit pas le LAN |
| Journalisation / traçabilité | Qui a tenté de se connecter à quoi, et quand |
Principe de base : tout ce qui n'est pas explicitement autorisé est interdit (deny by default).
2. Stateless ou stateful ?
| Stateless | Stateful | |
|---|---|---|
| Analyse | Chaque paquet isolément | Les paquets dans le contexte de leur connexion |
| Mémoire | Aucune | Table d’états des connexions actives |
| Réponses | Il faut écrire une règle pour l’aller et pour le retour | Le retour d’une connexion autorisée passe automatiquement |
| Exemple | ACL Cisco standard | pfSense (pf), iptables avec conntrack, nftables |
sequenceDiagram participant PC as PC du LAN participant FW as Pare-feu stateful participant Web as Serveur web Internet PC->>FW: SYN vers Web:443 Note over FW: Règle « LAN → any:443 ALLOW »<br/>→ enregistre la connexion<br/>dans la table d'états FW->>Web: SYN Web->>FW: SYN-ACK Note over FW: Pas besoin de règle WAN → LAN :<br/>la réponse correspond à un état connu FW->>PC: SYN-ACK Web->>FW: Paquet non sollicité vers le PC Note over FW: Aucun état correspondant → BLOQUÉ
3. Zones et DMZ
flowchart LR INTERNET(("Internet<br/>non fiable")) --- FW{{"Pare-feu"}} FW --- DMZ["DMZ (semi-fiable)<br/>serveur web, mail,<br/>reverse proxy"] FW --- LAN["LAN (fiable)<br/>postes, serveurs internes"] FW --- INV["Invités / IoT<br/>(peu fiable)"] style DMZ fill:#fef3c7 style LAN fill:#dcfce7 style INV fill:#fee2e2
| Flux | Politique typique |
|---|---|
| Internet → DMZ | Autorisé seulement vers les ports publiés (80/443) |
| Internet → LAN | Interdit |
| DMZ → LAN | Interdit (sauf flux précis, ex. web → BDD:3306) |
| LAN → DMZ | Autorisé (administration) |
| LAN → Internet | Autorisé (souvent via proxy) |
| Invités → LAN | Interdit ; Invités → Internet : autorisé |
DMZ (zone démilitarisée) : si un serveur public est piraté, l’attaquant n’est pas directement dans le LAN.
Segmentation : découper en VLAN/sous-réseaux et filtrer entre eux limite la propagation d’une attaque (un ransomware sur un poste compta ne touche pas la production).
4. Les familles de pare-feux
| Type | Couche | Décide selon | Exemple |
|---|---|---|---|
| Filtrage réseau | 3-4 | IP, ports, protocole | pfSense, iptables, ACL Cisco |
| Proxy / applicatif | 7 | URL, contenu, utilisateur | Squid → S04 - Proxy Squid et SquidGuard |
| WAF | 7 (HTTP) | Attaques web (injection SQL, XSS) | ModSecurity, HAProxy + WAF |
| UTM | 3 à 7 | Tout-en-un : FW + antivirus + IDS/IPS + VPN + filtrage web | pfSense + Suricata + pfBlockerNG |
| NGFW | 3 à 7 | + identification des applications, inspection TLS, utilisateurs | Fortinet, Palo Alto, Stormshield |
Et côté poste : le pare-feu Windows (profils Domaine / Privé / Public) → W02 - Outils d’administration Windows.
5. Écrire une bonne règle
Une règle = interface + direction + source + destination + protocole + port + action + journalisation.
| # | Source | Destination | Port | Action | Commentaire |
|---|---|---|---|---|---|
| 1 | VLAN Admin | Serveurs | 22 | ✅ Autoriser | SSH admin |
| 2 | LAN | DMZ web | 80, 443 | ✅ Autoriser | Accès intranet |
| 3 | Invités | LAN | * | ⛔ Bloquer + log | Isolation |
| 4 | LAN | Internet | 80, 443, 53 | ✅ Autoriser | Navigation |
| 5 | * | * | * | ⛔ Bloquer (implicite) | Tout le reste |
Les règles sont lues de haut en bas et la première qui correspond s'applique. Une règle « tout autoriser » placée en haut annule toutes celles du dessous.