Le compteur d'un pare-feu s'incrémente lorsqu'un paquet correspond à une règle, et il le fait sans conserver le paquet. Cela suffit à répondre à la première question dans la plupart des enquêtes sur les abandons : le flux a-t-il seulement atteint cette règle. La capture de la charge utile répond à une autre question, et elle collecte tout ce qui traverse l'interface pendant qu'elle tourne. Commencez par le compteur et ne passez à la journalisation des métadonnées que lorsque le compteur est ambigu.

Les compteurs répondent à la première question

Chaque règle susceptible de correspondre a un compteur, et le lire avant et après un test indique si le trafic est arrivé. C'est une comparaison de deux nombres et non une archive, et cela ne coûte rien en stockage ni en exposition.

Lisez les compteurs avec l'outil qui possède les règles :

iptables -L FORWARD -v -n --line-numbers
nft list ruleset

Le delta est la preuve. Une règle dont le compteur ne bouge pas n'a jamais vu le flux, ce qui désigne une frontière plus précoce : la mauvaise interface, la mauvaise table ou une route qui n'a jamais envoyé le paquet là. Une règle dont le compteur bouge et qui abandonne quand même vous dit que la politique fait ce pour quoi elle a été écrite.

Ce qu'un compteur ne peut pas vous dire

Un compteur vous donne un nombre, pas une raison. Il ne peut pas distinguer un paquet qui a correspondu sur l'adresse d'un paquet qui a correspondu sur le port, et il ne peut pas vous dire laquelle de deux règles similaires a attrapé le flux. Il ne peut pas non plus dire si le paquet a été abandonné, rejeté ou accepté puis perdu plus tard, sauf si vous lisez la règle qui possède le compteur.

C'est là qu'intervient la journalisation des métadonnées, et la portée est tout l'enjeu. Journalisez l'interface, la direction, les adresses, le protocole et le verdict pour un flux de test précis. Ces champs localisent une frontière défaillante sans enregistrer ce que faisait l'utilisateur.

La journalisation de la charge utile répond à une autre question, et elle y répond pour tout le monde sur l'interface.

Journalisation des métadonnées à portée restreinte

Écrivez une règle qui ne correspond qu'à votre flux de test, donnez-lui un préfixe distinctif et limitez son débit sous les contrôles propres de la plateforme afin qu'une nouvelle tentative ordinaire ne submerge pas le stockage. Le préfixe est ce qui vous permet de retrouver vos entrées parmi tout le reste que l'appareil journalise.

Évitez d'activer la journalisation de la charge utile ou des paquets sans restriction simplement parce que la fonction existe. Une capture tronquée n'est pas non plus automatiquement exempte de charge utile, car les tailles d'en-tête et les dispositions de paquets varient, donc une longueur de capture qui semble petite peut encore transporter des octets applicatifs.

Si vous devez capturer, capturez un seul flux, pendant une durée bornée, avec la plus petite longueur de capture qui répond à votre question.

Faites correspondre une requête neuve

Générez un trafic inoffensif qui suit la route réelle du client, puis comparez les compteurs pertinents avant et après. Un test local sur la passerelle peut manquer entièrement une règle de transfert, car le paquet n'emprunte jamais le chemin de transfert. Une session établie peut aussi correspondre à un traitement d'état différent de celui d'une nouvelle connexion, donc un flux de longue durée ne remplace pas un flux neuf.

Bornez la fenêtre dans le temps et notez-la. Entre deux minutes précisées, depuis cette adresse client, vers cette destination sur ce protocole, c'est un diagnostic. À un moment ce matin, c'est une recherche.

Un flux, une fenêtre, une frontière est l'unité de progrès ici.

Nettoyez et ne gardez que l'extrait

Supprimez la règle de diagnostic temporaire via la configuration propriétaire une fois l'enquête terminée. Une règle de journalisation étroite laissée en place devient un système d'enregistrement involontaire, et personne ne se souvient pourquoi elle existe six mois plus tard.

Conservez les enregistrements originaux en privé lorsque la politique l'exige, et partagez un extrait minimal revu plutôt que la capture entière. Les adresses, les identifiants de compte et la topologie interne sont sensibles même en l'absence de charge utile. Traitez l'extrait comme un document avec un propriétaire. Masquez tout ce dont le diagnostic n'a pas besoin.

L'objectif est une frontière défaillante précise pour une requête précise. Tout ce qui produit une archive complète de tous les utilisateurs du VPN a dépassé le diagnostic et commencé un autre projet. Consultez la documentation de journalisation de la plateforme pour savoir ce qu'elle enregistre par défaut avant d'y ajouter quoi que ce soit.

Articles similaires