Publicité

Dans le monde impitoyable du web, il vaut mieux ne pas trop donner d'information sur son serveur, version php, version nginx etc... La raison est toute simple, certaine version contiennent des failles de sécurités connues et exploitées. Lorsqu'un robot scanne les sites web à le recherche de proies, il n'est pas rare qu'il effectue une recherche sur tel ou tel type d'infrastructure web (nginx, php, mysql etc ...). Il est donc assez important d'avancer masqué. On va essayer de laisser le moins de trace possible avec notre serveur php-fpm et Nginx.

Exemple de faille connue pour la version 1.4.1 Nginx (celle que l'on trouve dans Ubuntu 13.10 par exemple). (la liste des failles c'est ici)

Pour éviter d'exposer sa version de Nginx, on va ajouter dans la configuration de Nginx, (ou du site) la directive suivant 
server_tokens off;

Dans le fichier nginx.conf on ajoute dans la section 

http {

##
# Basic Settings
##

server_tokens off;

----

Pour vérifier son site on utilise la commande curl -I http://monsite.com, voici ce que cela donne sur mon site de dev

HTTP/1.1 200 OK
Server: nginx/1.4.1 (Ubuntu)
Date: Tue, 03 Dec 2013 09:48:20 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.5.3-1ubuntu2
Vary: Accept-Encoding, Cookie
Cache-Control: max-age=86400
WP-Super-Cache: Served supercache file from PHP
Expires: Wed, 04 Dec 2013 09:48:20 GMT
Vary: Accept-Encoding
Pragma: public
Cache-Control: max-age=31536000, public, must-revalidate, proxy-revalidate

 

On a des informations très intéressantes. Le type de serveur et le système d'exploitation. Bonus on a la version de PHP, on va donc s'en occuper juste après.
Un fois la directive appliqué cela donne (serveur Nginx redémarré):

 

 HTTP/1.1 200 OK
Server: nginx
Date: Tue, 03 Dec 2013 10:00:31 GMT
Content-Type: text/html; charset=UTF-8
...

 

 Voilà c'est déjà mieux même si on sait que l'on a affaire à un serveur Nginx
Maintenant faisons disparaître l'information php. Dans mon cas j'utilise php-fpm, je vais donc modifier le fichier /etc/php5/fpm/php.ini.
Il s'agit tout simplement de passer la directive expose_php = On à off et de redémarrer le serveur php-fpm (sous Ubuntu 13.10 la commande sudo service php5-fpm restart)

 

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 03 Dec 2013 10:09:04 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Vary: Accept-Encoding, Cookie
Cache-Control: max-age=86400
WP-Super-Cache: Served supercache file from PHP
Expires: Wed, 04 Dec 2013 10:09:04 GMT
Vary: Accept-Encoding
Pragma: public
Cache-Control: max-age=31536000, public, must-revalidate, proxy-revalidate

 

  Voilà on laisse moins de trace pour une éventuelle attaque. Cela dit avec se con de plugin  Wordpress  "WP-Super-Cache" on sait que c'est du php, il faut donc faire bien attention à la config des plugins.


Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :


Commentaires

  • Aucun commentaire trouvé

Poster un commentaire en tant qu'invité

0

La pub ça rapporte pas grand chose, en plus ça vous laisse d'horribles cookies non comestibles, autrement appelé trackers. Ce cookie est utilisé par DoubleClick (Google Adsense). Vous avez tout le droit de ne pas en vouloir et donc quitter cet excellent blog. Dans le cas contraire, vous l'acceptez et vous poursuivez le surf en toute connaissance de cause (par ailleurs j'utilise piwik).