Sécurité Web · 5 min read · Sep 26, 2025

Vulnérabilité HTTPOXY : Comment protéger et tester votre serveur web

La vulnérabilité HTTPOXY qui a été récemment découverte est une vulnérabilité qui affecte les applications qui s’exécutent dans des environnements cgi ou similaires à cgi. Cela signifie que le problème affecte presque tous les serveurs web, y compris Apache et Nginx, ainsi que la plupart des applications PHP. Même le mode mod_php sur apache est affecté.

Ce tutoriel vous montrera comment protéger votre serveur web contre HTTPOXY. Il contient des sections pour les distributions Linux les plus utilisées : CentOS + RHEL, Debian et Ubuntu. Les étapes peuvent également être appliquées à d’autres distributions Linux, mais les chemins vers les fichiers de configuration peuvent différer.

Une description détaillée de la vulnérabilité HTTPOXY peut être trouvée sur ce site web https://httpoxy.org/.

Les étapes décrites dans ce tutoriel sont compatibles avec les tutoriels de serveur parfait ISPConfig.

1 Comment HTTPOXY affecte-t-il mon serveur ?

HTTPOXY affecte les clients qui respectent la variable HTTP_PROXY et l’utilisent pour leur configuration de proxy, ainsi que les applications côté serveur qui utilisent HTTP_PROXY comme variable réelle ou émulée dans leur environnement. Le résultat d’une attaque peut être un trafic qui est proxifié par l’application web vers un système cible choisi par l’attaquant ou l’application ouvre des connexions sortantes vers d’autres systèmes. La vulnérabilité est facilement exploitable à distance et les serveurs peuvent être scannés pour cela, il est donc fortement recommandé de prendre des mesures pour la fermer sur votre serveur.

1.1 Solution générale

La solution recommandée pour le moment est de désactiver ou de filtrer la variable d’en-tête HTTP_PROXY. Cela se fait dans apache avec le module mod_headers et cette déclaration de configuration :

RequestHeader unset Proxy early

Sur Nginx, vous pouvez utiliser cette ligne pour désactiver la variable HTTP_PROXY.

fastcgi_param HTTP_PROXY "";

Le chapitre suivant décrit la procédure détaillée pour différentes distributions Linux.

2 Debian

Ce chapitre décrit la configuration pour protéger Apache et Nginx sur les serveurs Debian 8 (Jessie) et Debian 7 (Wheezy) contre HTTPOXY. Les étapes suivantes supposent que vous êtes connecté en tant qu’utilisateur root sur le shell. Si vous êtes connecté sous un autre utilisateur, utilisez la commande su (ou sudo si vous avez configuré sudo) pour devenir l’utilisateur root.

2.2 Debian 8 (Jessie) avec Apache

Activez le module d’en-têtes apache

a2enmod headers

Ajoutez un fichier de configuration global /etc/apache2/conf-available/httpoxy.conf. Je vais utiliser l’éditeur nano ici :

nano /etc/apache2/conf-available/httpoxy.conf

et collez le contenu suivant dans ce fichier :


    RequestHeader unset Proxy early

Enregistrez le fichier. Ensuite, activez-le dans la configuration avec la commande a2enconf et redémarrez apache.

a2enconf httpoxy  
service apache2 restart

2.2 Debian 7 (Wheezy) avec Apache

Activez le module d’en-têtes apache :

a2enmod headers

Ajoutez un fichier de configuration global /etc/apache2/conf.d/httpoxy.conf. Je vais utiliser l’éditeur nano ici :

nano /etc/apache2/conf.d/httpoxy.conf

et collez le contenu suivant dans ce fichier :


    RequestHeader unset Proxy early

Enregistrez le fichier. Ensuite, redémarrez apache.

service apache2 restart

2.3 Debian avec Nginx

La commande suivante ajoutera un fastcgi_param qui définit la variable HTTP_PROXY comme une chaîne vide dans le fichier /etc/nginx/fastcgi_params.

echo 'fastcgi_param HTTP_PROXY "";' >> /etc/nginx/fastcgi_params

Ensuite, redémarrez nginx pour appliquer le changement de configuration.

service nginx restart

3 Ubuntu

Ce chapitre décrit la configuration pour protéger Apache et Nginx sur les serveurs Ubuntu 14.04 - 16.04 contre HTTPOXY.

3.1 Ubuntu avec Apache

Activez le module d’en-têtes apache.

sudo a2enmod headers

Ajoutez un fichier de configuration global /etc/apache2/conf-available/httpoxy.conf. Je vais utiliser l’éditeur nano ici :

sudo nano /etc/apache2/conf-available/httpoxy.conf

et collez le contenu suivant dans ce fichier :


    RequestHeader unset Proxy early

Enregistrez le fichier. Ensuite, activez-le dans la configuration avec la commande a2enconf et redémarrez apache.

sudo a2enconf httpoxy  
sudo service apache2 restart

3.2 Ubuntu avec Nginx

Les étapes pour protéger Ubuntu contre HTTPOXY sont similaires à celles pour Debian. Nous devons juste nous assurer d’exécuter les commandes avec sudo. Cette commande echo ajoutera une ligne fastcgi_param qui définit la variable HTTP_PROXY comme une chaîne vide. Le fichier /etc/nginx/fastcgi_params est inclus dans les sections par défaut @PHP et cgi-bin des fichiers vhost nginx et également dans les vhosts créés par ISPConfig. Si vous avez ajouté des vhosts personnalisés, vérifiez qu’ils contiennent “include /etc/nginx/fastcgi_params;” dans les sections de configuration pour php et d’autres connecteurs cgi ou fastcgi.

Exécutez la commande suivante pour ajouter la variable HTTP_PROXY vide.

sudo echo 'fastcgi_param HTTP_PROXY "";' >> /etc/nginx/fastcgi_params

Ensuite, redémarrez Nginx pour appliquer le changement de configuration.

sudo service nginx restart

4 CentOS, RHEL et Fedora

Ce chapitre décrit la configuration pour protéger Apache et Nginx sur les serveurs CentOS contre HTTPOXY. Les mêmes étapes devraient fonctionner pour les serveurs Fedora également. Connectez-vous en tant qu’utilisateur root sur le shell avant de procéder avec les commandes ci-dessous.

4.1 Apache

Le fichier de configuration Apache (httpd) sur CentOS est /etc/httpd/conf/httpd.conf. Je vais ajouter la règle d’en-tête apache à la fin du fichier httpd.conf avec cette commande :

echo "RequestHeader unset Proxy early" >> /etc/httpd/conf/httpd.conf

Ensuite, redémarrez httpd pour appliquer le changement de configuration.

service httpd restart

4.2 Nginx

Le serveur web Nginx sur CentOS inclut les fastcgi_params dans la section PHP et CGI du vhost par défaut, donc nous pouvons ajouter la règle pour définir la variable HTTP_PROXY vide là-bas. Exécutez cette commande pour ajouter la variable HTTP_PROXY vide.

echo 'fastcgi_param HTTP_PROXY "";' >> /etc/nginx/fastcgi_params

Ensuite, redémarrez nginx pour appliquer le changement de configuration.

service nginx restart

5 Test

Enfin, vous devriez tester si votre serveur est maintenant sûr. Luke Rehman a développé un joli outil de test en ligne que vous pouvez trouver ici : https://httpoxy.rehmann.co/

Entrez l’URL de votre serveur ou site web dans l’outil et cliquez sur le bouton “test”.

Test HTTPOXY

Voici le résultat pour howtoforge.com. Comme vous pouvez le voir, notre site web est sûr.

6 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.