Une petite optimisation pour Shorewall

Le pare-feu Linux (Netfilter) réalise un suivi des connexions, qui permet d’identifier les paquets erronés, les débuts de connexion et les connexions déjà connues. Cela lui permet de réaliser un blocage plus intelligent s’appuyant sur l’état des connexions. Ce suivi des connexions s’applique à toutes les interfaces, y compris à la boucle locale (interface lo).

Bon, soyons honnête, le suivi des connexions de la boucle locale n’a pas vraiment de sens, à moins de souffrir de paranoïa à un stade avancé…

De plus, ce suivi prend du temps (certes pas beaucoup), et il utilise de la mémoire pour rien. Donc, autant s’en passer.

Pour cela, il suffit de demander à Netfilter de ne plus suivre les paquets de la boucle locale :

# Poun IPv4
iptables -t raw -I OUTPUT -o lo -j CT --notrack
# Poun IPv6
ip6tables -t raw -I OUTPUT -o lo -j CT --notrack

Avec Shorewall 5.0, en version IPv4, il suffit de créer le fichier « /etc/shorewall/start », contenant le texte suivant :

#!/bin/sh
run_iptables -t raw -I OUTPUT -o lo -j CT --notrack

Une fois ce fichier créé, il ne vous reste plus qu’à relancer Shorewall et le tour est joué !

service shorewall restart

Pour Shorewall IPv6, c’est pareil. Il suffit de créer le fichier « /etc/shorewall6/start » avec le même contenu et de redémarrer le service.