Lorsque vous écrivez un iptables(1) script, si vous avez l'intention de vérifier les adresses IP sources invalides, devez-vous le faire avant ou après le trafic établi accepté, et pourquoi ?
Réponses
Trop de publicités?Vous voulez d'abord accepter le trafic établi et connexe. Il s'agit généralement de la majeure partie de votre trafic, et vous voulez le traiter aussi rapidement que possible. Les connexions devront être acceptées par d'autres règles, avant que cette règle ne soit appliquée.
Si vous venez de vous familiariser avec les pare-feu iptables, vous pouvez utiliser un constructeur de pare-feu pour créer votre pare-feu. Cela vous aidera à configurer les politiques et les règles communes avec un minimum d'effort et probablement avec une meilleure qualité que celle que vous pourriez coder à la main. J'aime Shorewall mais il existe plusieurs autres outils disponibles.
I toujours effectuer une vérification contre les adresses sources invalides dans -t raw -A PREROUTING
. Par définition, -t raw
a lieu avant le conntrack, donc évidemment la vérification a lieu avant le match pour le RELATED,ESTABLISHED
.
Mon raisonnement est le suivant : les adresses sources non valides sont des déchets, et je veux consacrer les cycles de l'unité centrale de mon pare-feu à des déchets non valides.
Oui, cela introduit une latence supplémentaire pour le trafic valide, mais c'est pratiquement indétectable, et ma boîte peut maintenir un débit très élevé parce que les paquets inutiles n'encombrent pas les pipelines de netfilter/xtables. Avec un peu de branchement intelligent des chaînes, la latence peut être réduite de manière significative ;)