Votre pare-feu prend ses ordres chez des inconnus. Coupez les assistants de protocole.
Un assistant de protocole — SIP ALG, assistant FTP, H.323 ALG, helper conntrack, appelez-le comme votre fournisseur l’appelle — lit la charge utile d’une connexion, y trouve une adresse et un port écrits en clair, et leur ouvre un trou entrant. Il ne peut pas savoir si ce texte vient d’un vrai client FTP ou d’un formulaire caché sur une page web, parce que rien dedans ne le dit. Samy Kamkar a démontré le cas du navigateur en 2010, NAT Slipstreaming l’a refait en 2020, et Armis l’a étendu en 2021 pour atteindre n’importe quel équipement du réseau, pas seulement la machine qui a cliqué. L’IETF a demandé qu’ils soient désactivés par défaut en 2007, Linux les a coupés en 2016, et les éditeurs de navigateurs ont fini par livrer une liste de ports bloqués qui se lit comme un répertoire des modules conntrack. Ce billet parcourt le mécanisme diagramme après diagramme — la table des expectations, l’astuce d’alignement des segments, le renvoi d’appel H.323, l’assistant IRC qui se déclenche sur le message d’un autre —, y ajoute l’assistant de passage IPsec, qui ne peut pas lire ESP du tout et aiguille les paquets entrants d’après un SPI qu’il a vu passer en clair, confronte le tout à l’exigence pare-feu de Cyber Essentials qu’il ne satisfait manifestement pas, et donne les commandes pour tout couper sur Linux, Cisco, Juniper, FortiGate et MikroTik.