Skip to content

Un VPN en pièces détachées : PPP, tap et Netcat

Un VPN, c’est deux tâches : quelque chose qui fabrique un lien virtuel, et quelque chose qui transporte les octets. PPP fait la première depuis 1994 et se moque de la seconde — c’est pourquoi PPTP, L2TP et chaque ligne commutée que vous avez utilisée sont le même protocole sur des transporteurs différents. Netcat est un transporteur. Ce billet le construit des deux façons. D’abord pppd : l’option pty et ce qu’elle fait d’un pseudo-terminal, la version TCP que tout le monde essaie d’abord, pourquoi faire tourner un protocole de flux dans TCP s’effondre sous la perte, la version UDP qu’il faut prendre, le tramage HDLC asynchrone et l’ACCM qui décide de la bande passante dépensée à échapper des caractères de contrôle, l’adressage et le routage et IPV6CP, et garder le lien en vie quand le transporteur meurt sans le dire. Puis le même tunnel sans PPP du tout — un tap, un datagramme par trame sur UDP, le préfixe de longueur qu’il faut inventer soi-même sur TCP, tun contre tap, et le bridging. Puis la partie pour laquelle netcat n’a pas de réponse : envelopper le transporteur dans TLS avec ncat, stunnel et openssl, et dans DTLS avec socat, qui est la forme qu’on veut vraiment. Ce n’est jamais vraiment le bon outil, et c’est là le propos : il montre comment se comporte l’egress dès qu’un attaquant a root dans votre réseau et que l’accès sortant n’était pas bloqué par défaut, et pourquoi le default-deny à la frontière est le seul contrôle qui ait jamais été réel.

14 septembre 2026 Â· 65 min Â· 14203 mots Â· Damien Dye

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.

14 septembre 2026 Â· 61 min Â· 14139 mots Â· Damien Dye

IPsec était une bonne idée. Il est temps de l'éteindre.

IPsec avait raison en 1995 : chiffrer sous l’application, lier l’association de sécurité à l’adresse IP, et chaque protocole en hérite. Puis le NAT est arrivé, le NAT d’opérateur a achevé le travail, et la solution a consisté à emballer le tout dans de l’UDP et à laisser tourner une minuterie pour qu’une table de traduction ne vous oublie pas. Ce billet montre schéma après schéma comment tout cela s’effondre — l’association de sécurité qui ne survit pas à un en-tête réécrit, les deux traducteurs que porte désormais toute ligne en CGNAT, la norme NAT64 qui exclut IPsec nommément, le tunnel qui ne peut pas utiliser un second lien parce qu’ESP n’a pas de ports, la MTU dont personne ne s’occupe, et L2TP et PPTP comme les deux protocoles qui n’avaient rien à faire ici. Il s’appuie sur la documentation Cisco, Juniper et Microsoft qui admet chacun de ces points, sur les dix-huit pièces qui se disent VPN IPsec dont deux n’ont jamais été des normes, sur les raisons pour lesquelles le Fisher-Price OS n’a jamais vraiment interopéré avec une pile ouverte, sur une méthode de diagnostic utilisable tant que vous l’exploitez encore, et sur les raisons de tout mettre à la retraite avec des dates.

13 septembre 2026 Â· 74 min Â· 18520 mots Â· Damien Dye
Un navigateur se connectant par Cloudflare Access Ă  des VM Windows sur un hĂ´te Proxmox avec des fonctions virtuelles de GPU Intel Arc Pro

VDI Zero Trust sans la facture cloud — Proxmox, Intel Arc Pro et Cloudflare Access

Première partie : l’architecture et l’argument de coût pour remplacer Azure Virtual Desktop par Proxmox, le SR-IOV d’Intel Arc Pro et Cloudflare Access. OAuth sur site pour l’identité, RDP rendu dans le navigateur, un tunnel LXC pare-feu sur son propre VLAN, KSM pour la densité mémoire, et les profils sur Ceph. Le prochain billet le construit.

2 septembre 2026 Â· 19 min Â· 4147 mots Â· Damien Dye

Ping : l'outil de diagnostic qui ouvre bien plus que ça

Ping, pas le reste de l’ICMP, est le risque : l’écho est un canal auquel chaque hôte doit répondre avec vos propres octets, si bien qu’un réseau qui « n’autorise que le ping » a déjà un VPN complet vers l’extérieur. On parcourt d’abord la menace — ce qu’elle coûte à votre sortie, et comment un visiteur sur votre WiFi ou une prise ethernet non verrouillée peut en ouvrir un — puis trois tunnels qui marchent, bâtis sur le seul ping (Hans, icmptunnel, et un court en Python avec AES-128), les pièges du MTU et de l’IPv6, et la règle qui le ferme : jeter l’écho, garder les erreurs, sur nftables, pf, Cisco, Junos, MikroTik et Windows.

1 septembre 2026 Â· 38 min Â· 8267 mots Â· Damien Dye

Le pare-feu est Ă  onze sauts

« Le port 445 est bloqué quelque part » n’est pas un diagnostic, et c’est pour ça que les tickets pare-feu rebondissent entre vous et votre opérateur pendant une semaine. Chaque routeur du chemin vous doit un ICMP Time Exceeded quand votre budget de sauts est épuisé, et ça transforme un délai d’attente en une distance. J’ai fait monter le TTL sur ma propre ligne et j’ai trouvé trois défauts que je ne me connaissais pas : un blocage SMB à onze sauts, des resets SMTP forgés à un saut, et une règle IPv4 sans jumelle IPv6.

28 aoĂ»t 2026 Â· 41 min Â· 8613 mots Â· Damien Dye

Nous n'avons jamais manqué d'adresses. Nous avons manqué d'effort.

IPv6 est fini, gratuit et allumé par défaut dans chaque système d’exploitation depuis près de vingt ans. La réponse du Royaume-Uni a été le NAT à l’échelle opérateur, une loi sur la journalisation, et 5 £ par mois pour vous rendre l’adresse que vous aviez avant. J’ai compté chaque réseau britannique de la table de routage mondiale pour découvrir qui a réellement allumé IPv6 — 1 200 d’entre eux ne l’ont pas fait, et 463 de ceux-là sont assis sur de l’espace d’adressage qu’ils ont demandé et jamais utilisé.

27 aoĂ»t 2026 Â· 78 min Â· 16520 mots Â· Damien Dye