Maison > Tutoriel système > Linux > le corps du texte

Masquer la version de Nginx sous Linux et Unix

WBOY
Libérer: 2024-02-09 19:50:29
avant
705 Les gens l'ont consulté

Utilisez CLI pour afficher la version actuelle de Nginx

Nginx affichera la version sur les pages d'erreur et dans le champ d'en-tête de réponse "Serveur". Nous pouvons le vérifier en utilisant la commande suivante : Exemple de résultat :

$ curl -I https://your-domain
$ curl -I https://www.cyberciti.biz
HTTP/2 200 server: nginx/1.17.10 (Ubuntu)date: Tue, 23 Jun 2020 09:36:49 GMTcontent-type: text/html; charset=UTF-8strict-transport-security: max-age=15768000x-whome: l-ncbz01-mg-wg
Copier après la connexion

Voici le résultat de ma page d'erreur HTTP/502 affichant les informations :

Masquer la version de Nginx sous Linux et Unix

Utilisez la directive server_tokens pour masquer la version de Nginx

Vous devez désactiver server_tokens pour masquer la version du serveur Nginx sur les systèmes Linux et Unix. Modifiez votre fichier nginx.conf à l'aide d'un éditeur de texte tel que vim/nano :

Nous ne pouvons définir des server_tokens que dans un contexte http, serveur ou emplacement. J'ajouterai à ma section http : Voici à quoi ça ressemble :

$ sudo vim /etc/nginx/nginx.confserver_tokens off;
http {        ## Basic Settings ##        charset utf-8;        sendfile on;        tcp_nopush on;        tcp_nodelay on;        log_not_found off;        keepalive_timeout 65;        types_hash_max_size 2048;        client_max_body_size 16M;        include /etc/nginx/mime.types;        default_type application/octet-stream;        ## Hide Nginx version ##        server_tokens   off;        ## Security headers for Nginx ##         add_header Strict-Transport-Security "max-age=15768000" always;        add_header X-Content-Type-Options "nosniff" always;        add_header X-Frame-Options "SAMEORIGIN" always;        add_header X-Xss-Protection "1; mode=block" always;        add_header Referrer-Policy  strict-origin-when-cross-origin;        add_header Feature-policy "accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'";        add_header Content-Security-Policy   "default-src 'self' http: https: data: blob: 'unsafe-inline'" always;        ## SSL Settings ##        ssl_protocols TLSv1.3;        access_log /var/log/nginx/access.log;        error_log /var/log/nginx/error.log;        ## Virtual Host Configs ##        include /etc/nginx/conf.d/*.conf;        include /etc/nginx/sites-enabled/*;}
Copier après la connexion

Redémarrez ou rechargez le serveur Nginx normalement :

sudo nginx -tsudo nginx -s reload
Copier après la connexion

Vérifiez si la version de Nginx est masquée

Utilisez la commande curl comme ci-dessous : Regardez, mon serveur Nginx n'affiche aucune version :

$ curl -I https://your-domain-name-here
$ curl -I https://www.cyberciti.biz

HTTP/2 200 server: nginxdate: Tue, 23 Jun 2020 09:43:17 GMTcontent-type: text/html; charset=UTF-8strict-transport-security: max-age=15768000
Copier après la connexion

Firefox a également confirmé que j'ai également réussi à masquer la version de Nginx :

Masquer la version de Nginx sous Linux et Unix

Masquer les autres valeurs possibles pour la version Nginx

La syntaxe est la suivante : Les paramètres par défaut sous Linux, *BSD et Unix sont les suivants :

server_tokens on | off | build | string;
server_tokens on;
Copier après la connexion

Supprimer les versions des en-têtes du serveur et des pages d'erreur

Nous pouvons activer ou désactiver l'émission de la version nginx en modifiant la valeur suivante :
on : affiche le numéro de version.
off : désactive l'affichage du numéro de version.
build : assurez-vous que nous émettons un nom de build ainsi que la version de nginx. Vous devez disposer de la version 1.11.10 de Nginx.
string : Disponible pour les abonnements commerciaux uniquement, à partir de la version 1.9.13, il est possible d'utiliser une chaîne avec une variable pour afficher les valeurs du champ d'en-tête de réponse de signature et "serveur" sur la page d'erreur des paramètres. Une chaîne vide désactive l'émission du champ "serveur".

Définissez un numéro de version personnalisé dans Nginx

Par exemple, les utilisateurs d'un abonnement commercial (Nginx Plus) peuvent le définir sur une fausse version de serveur et un nom personnalisé : Rechargez le serveur Nginx à l'aide de la commande service ou de la commande systemctl : De même, testez-le à l'aide de la commande curl comme suit :

;$ service nginx reload$ curl -I http://127.0.0.1/
Copier après la connexion
Masquer la version de Nginx sous Linux et Unix

La version cachée est en sécurité dans l'obscurité

Oui, c'est la sécurité grâce à des fonctionnalités secrètes. C'est une des méthodes de défense en profondeur. Toutefois, cela ne devrait pas être la principale forme de défense. Vous devez écrire du code sécurisé. Installez un pare-feu, notamment un WAF (Web Application Firewall). Il n'y a aucune raison d'exposer la version de Nginx, PHP ou Python car cela pourrait constituer une information utile pour un attaquant. Gardez à l'esprit que les systèmes d'exploitation Linux/Unix, les applications Web/Nginx doivent rester sécurisés, que la version de Nginx soit publique ou non. Cependant, nous n’offrons aucun avantage aux attaquants en publiant les numéros de version.

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!

source:lxlinux.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal