Le pare-feu : filtrer, autoriser, journaliser
11 min · Intermédiaire · 7 août 2026
Filtrer : une liste de règles, évaluées dans l’ordre
Un pare-feu compare chaque connexion à une liste de règles, dans l’ordre où elles sont écrites, et s’arrête à la première qui correspond. Ce détail, souvent sous-estimé, détermine le comportement réel bien plus que le contenu de chaque règle prise isolément.
import ipaddress
regles = [
{"action": "autoriser", "source": "10.0.10.0/24", "port": 443},
{"action": "autoriser", "source": "10.0.10.0/24", "port": 22},
{"action": "refuser", "source": "0.0.0.0/0", "port": 22},
{"action": "autoriser", "source": "0.0.0.0/0", "port": 443},
]
def evaluer(regles, source_ip, port):
source = ipaddress.ip_address(source_ip)
for regle in regles:
reseau = ipaddress.ip_network(regle["source"])
if source in reseau and regle["port"] == port:
return regle["action"]
return "refuser (politique par defaut)"
tests = [
("10.0.10.5", 22), # administrateur interne vers SSH
("203.0.113.9", 22), # IP externe vers SSH
("203.0.113.9", 443), # IP externe vers HTTPS
("203.0.113.9", 3389), # IP externe vers RDP, aucune regle ne le mentionne
]
for ip, port in tests:
resultat = evaluer(regles, ip, port)
print(f"{ip:15} -> port {port:5} : {resultat}") La connexion RDP (port 3389) ne correspond à aucune règle explicite : elle tombe sur la politique par défaut, en toute fin de liste.
Autoriser : par exception, jamais par défaut
Danger
La dernière ligne, invisible dans la liste de règles elle-même, compte souvent plus que toutes les autres : que se passe-t-il quand rien ne correspond ? Un pare-feu correctement configuré refuse par défaut, et n’autorise que ce qui a été explicitement anticipé.
Journaliser : la trace qui alimente la détection
Chaque règle, en particulier celles qui refusent une connexion, peut journaliser l’évènement plutôt que de l’ignorer silencieusement. Ces journaux rejoignent directement ceux vus dans le cours sur la défense et la détection : une rafale de refus vers des ports différents, depuis une même source, est justement le pattern recherché au chapitre 5 de ce cours.