Nous avons reçu des commentaires de notre rapport pentest disant que nous devrions désactiver les jetons de serveur. Cela empêche les gens de voir quelle version de PHP nous utilisons et limite leur capacité à cibler la version spécifique de PHP.
J'ai ajouté ce qui suit à nginx.conf, sous le bloc http:
server_tokens off;
Mais quels outils puis-je utiliser pour vérifier que cette modification a pris effet?
server_token
n'a rien à voir avec la version PHP. Il est généralement envoyé dans un en-tête séparéX-Powered-By
. Je suppose que vous avez besoin de php.net/manual/en/ini.core.php#ini.expose-phpRéponses:
Dans le manuel, vous savez ce que fait le paramètre:
Vos options sont donc:
nginx/1.2.3
.Une simple vérification pour voir les en-têtes de réponse HTTP consiste à se connecter manuellement, c'est-à-dire avec:
telnet www.example.com 80
où les lignes client sont ce que vous entrez:la source
Après un peu plus de recherche sur Google, j'ai trouvé que la commande curl peut vérifier les en-têtes du serveur qui montre à la fois les jetons du serveur et les versions php:
Merci à Alexey d'avoir signalé le changement nécessaire en PHP.
la source
De plus, si vous servez de projets PHP, vous devrez peut-être
/etc/nginx/{fastcgi,fastcgi_params).conf
la source
Jetez un œil à InSpec, un outil qui vous permet de «transformer vos exigences de conformité, de sécurité et autres politiques en tests automatisés».
https://www.inspec.io
Il peut effectuer tous les tests de configuration dont vous avez besoin pour votre serveur Nginx. Voici une façon de tester l'existence du fichier conf et la valeur de
server_tokens
:S'il est correctement défini, InSpec renvoie:
Si non:
la source