Comment faire taire Apache ou Nginx ?
Quand un serveur est en écoute sur un port, il donne certaines informations au client. Ces informations, l’utilisateur ne les voit pas mais le logiciel si.
Ainsi, si vous visitez un site Web avec NetCat ou Telnet, vous en savez plus sur le serveur d’en face :
nc monserveur 80 get / ... Server: nginx/1.6.2 (Ubuntu) ...nginx/1.6.2 (Ubuntu) ...
A partir de là, un attaquant peut fouiller sur Internet pour voir les failles de sécurité connues de cette version de serveur.
Attention, ce n’est pas parce que vous cachez le numéro de version qu’un attaquant expérimenté ne peut pas connaître quel serveur vous utilisez. Chaque serveur a une signature bien a lui (une façon de communiquer qui est à chaque version un petit peu différente).
Les opérations décrites ici sont un début mais ne suffisent pas à sécuriser les serveurs.
Apache, tais-toi !
Pour cacher la version de Apache, il faut modifier ces paramètres de /etc/apache2/conf-enabled/security.conf :
ServerTokens Prod ServerSignature Off
Si vous utilisez PHP, vous devez aussi cacher la version de php.
Dans /etc/php5/apache2/php.ini, désactiver le paramètre suivant :
expose_php = Off
Nginx, tais-toi !
Pour cacher la version de Nginx, il faut décommenter cette ligne de /etc/nginx/nginx.conf (ou la rajouter si elle n’existe pas) :
server_tokens off;
Si vous utilisez PHP, vous devez aussi cacher la version de php.
Dans /etc/php5/fpm/php.ini, désactiver le paramètre suivant :
expose_php = Off
MySQL, fais-gaffe !
Et tant qu’à faire, on va aussi sécuriser MariaDB (ou MySQL pour les nostagiques de Sun) gràce à ce script :
secure_mysql
ou bien
mysql_secure_installation
Ils font moins les malins maintenant :
Après un redémarrage des services, voilà, plus d’information de version :
nc localhost 80 get / HTTP/1.1 400 Bad Request Server: nginx Date: Wed, 04 Feb 2015 22:11:38 GMT Content-Type: text/html Content-Length: 166 Connection: close400 Bad Request 400 Bad Request
nginx
Bon maintenant, ce qui vaut pour les serveurs Web vaut aussi pour les autres services :
nmap -A -T4 mon.serveur.fr