Client VPN XP – la fin d’une galère

Je viens de trouver un truc vraiment très que pénible (je suis poli) avec le firewall de Windows XP SP2 et suivants.

Il faut dire que je n’ai jamais aimé ce firewall, ou du moins ses réglages par défaut. Entre-autres, le filtrage du « ping » m’a bien énervé depuis longtemps. Mais voila, ICMP, ce n’est pas que ping, c’est aussi d’autres messages qui sont utiles…

Mais pour mettre en place des accès VPN pour des utilisateurs mobiles (oui je me prépare à la pandémie galopante), ces fichus réglages par défaut m’ont fait perdre un temps dingue. Dans le contexte, le serveur VPN est un Netasq qui fait déjà du VPN IPSEC. Je lui ajoute du vpn PPTP qui ne nécessite aucune installation sur le poste client et traverse bien le NAT. Ce n’est pas parfait pour la sécurité, mais nous ne sommes ni une banque, ni dans un secteur très sensible, donc, on accepte le PPTP.

Symptôme : Une fois le client XP connecté en VPN, le ping fonctionne, je peut pinguer un serveur web interne, mais jamais le consulter. La page par défaut d’apache « It works » s’affiche, mais une autre page ne s’affiche pas. Dingue!
Après avoir trituré les réglages dans tous les sens,  j’ai compris le problème : la taille des paquets doit être réduite. A coup de ping -f -l xxxx j’ai trouvé la taille maxi de paquet au delà de laquelle le paquet se perd. Mais triturer les MTU et MMS n’arrange rien. En fait, c’est normalement géré automatiquement par le protocole ICMP : le paquet trop grand se perd ou est rejeté, l’envoyeur reçoit un avertissement qui lui permet de le fragmenter…. ça marchait bien dans 2000 et jusque XP SP1, mais le firewall d’XP SP2 a introduit le filtrage d’ICMP par défaut, donc, ce genre de message ICMP ne parvient plus.

La raison : la sécurité. D’anciennes versions de Windows on été affectées par la faille ping of death,  dans ICMP ECHO avec un paquet très gros on faisait un débordement de tampon. Plutôt que de sécuriser correctement ICMP, les concepteurs de Windows ont donc rajouté un firewall qui bloque l’ICMP – et si le quidam en a besoin, il l’ouvre, « mais on ne pourra pas dire que c’est la faute de windows ! ». Je ne trouve pas cette réponse intelligente.

La solution pour XP * : autoriser ces messages ICMP. Tout simple, mais pour trouver cette info – rien. Il y a des bidouilles de base de registre pour autoriser le NAT, mais ce blocage, je ne l’ai pas trouvé, et ce n’est pas faute d’avoir chercher.

On peut même le faire en ligne de commande : par exemple

netsh firewall set icmpsetting type = 2 mode = ENABLE

la doc Microsoft associe ce type 2 à IPv6, je suis en IPv4, mais  c’est ce paramètre à l’air  d’agir.

* sous vista il faut faire netsh advfirewall firewall…

______
François, quand je touche la fenètre, j’ai l’impression de me salir les doigts

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :