Maison >Opération et maintenance >Nginx >Comment utiliser Nginx pour prévenir les vulnérabilités HTTP/2
Avec le développement des applications web, Nginx est devenu le serveur de choix pour de nombreux développeurs et administrateurs web. Il gère efficacement les protocoles de transport et fournit des services sécurisés. Cependant, une vulnérabilité de sécurité appelée vulnérabilité HTTP/2 a été récemment découverte, ce qui constitue une menace pour les applications Web. Comment utiliser Nginx pour prévenir ce genre de vulnérabilité ? Découvrons ensemble ci-dessous.
Introduction à la vulnérabilité HTTP/2
Tout d'abord, comprenons ce qu'est la vulnérabilité HTTP/2 ? En fait, cette vulnérabilité est due au fait que certaines implémentations HTTP/2 ne gèrent pas correctement les trames DATA avec des champs de longueur implicite, entraînant une attaque par déni de service. Un attaquant peut exploiter cette vulnérabilité pour envoyer des paquets malveillants au serveur victime, provoquant ainsi le crash du serveur. Cette vulnérabilité existe déjà sur certains serveurs HTTP/2 actuels, comme Apache et Nginx.
Comment Nginx prévient-il les vulnérabilités HTTP/2 ?
Nginx a corrigé la vulnérabilité HTTP/2 dans sa dernière version. Si vous utilisez Nginx 1.13.10 ou supérieur, vous êtes déjà en sécurité. Mais si vous utilisez toujours une version de Nginx inférieure à celle-ci, nous vous recommandons de mettre à niveau immédiatement pour éviter d'être vulnérable aux attaques.
Mettre à niveau la version de Nginx
Pour mettre à niveau la version de Nginx, vous devez d'abord sauvegarder les fichiers de configuration de Nginx et les fichiers associés, et vous assurer de pouvoir les restaurer. Ensuite, vous devez télécharger la dernière version des binaires Nginx. Vous pouvez télécharger les binaires depuis le site officiel ou le référentiel Nginx.
Par exemple, vous pouvez télécharger les derniers binaires Nginx sur votre hôte local :
$ wget https://nginx.org/packages/mainline/ubuntu/pool/nginx /n/nginx/nginx_1.19.1-1~xenial_amd64.deb
Résolution des problèmes de dépendance
Avant d'installer les nouveaux binaires Nginx, vous devrez peut-être résoudre certains problèmes de dépendance. Pour installer les binaires Nginx, vous devez installer des dépendances telles que OpenSSL et PCRE. Vous pouvez utiliser les commandes suivantes pour résoudre ces problèmes de dépendance.
$ sudo apt-get update
$ sudo apt-get install libpcre3-dev zlib1g-dev libssl-dev
Installer la nouvelle version de Nginx
# 🎜 🎜#Après avoir installé les dépendances, vous pouvez installer la dernière version de Nginx. $ sudo dpkg -i nginx_1.19.1-1~xenial_amd64.debActiver HTTP/2Une fois la nouvelle version de Nginx réussie installé, vous devez activer HTTP2 pour éviter les vulnérabilités HTTP/2. Vous pouvez activer HTTP/2 en modifiant le fichier de configuration Nginx. Ouvrez votre fichier de configuration Nginx et recherchez les lignes suivantes. listen 443 ssl;Ajoutez la ligne suivante après cette ligne http2;votre dernière ligne Cela devrait ressemble à ceci : listen 443 ssl http2; Enregistrez et fermez le fichier de configuration et redémarrez le serveur Nginx. FirewallEn plus de mettre à niveau la version de Nginx et d'activer HTTP/2, vous devriez également envisager d'utiliser un pare-feu pour améliorer la sécurité de votre serveur. Un pare-feu peut filtrer le trafic entrant inutile et autoriser uniquement le trafic sûr à atteindre le serveur Web. Vous pouvez utiliser un pare-feu pour restreindre l'accès des réseaux externes et autoriser uniquement les adresses IP de confiance à accéder à votre serveur Web. ConclusionCi-dessus sont quelques méthodes sur la façon d'utiliser Nginx pour prévenir les vulnérabilités HTTP/2. N'oubliez pas qu'il est important de mettre à niveau votre version de Nginx, d'activer HTTP/2 et d'utiliser un pare-feu pour protéger votre serveur Web. En suivant ces bonnes pratiques de sécurité, vous serez en mesure de garantir le bon fonctionnement de vos applications Web en toute sécurité et contre les menaces d'attaques Web.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!