La sécurité par l'obscurité avec WordPress

La sécurité par l’obscurité n’est ni nécessaire ni suffisante pour votre site. Malheureusement, un grand nombre d’installations ont cette approche.

Le bullshit sur la version de WordPress

L’astuce qui suit est ultra-populaire et référencée sur Google :

remove_action('wp_head', 'wp_generator');

Elle retire la balise meta qui indique la version en cours de l’installation WordPress :

<meta name="generator" value="WordPress 5.9" />

Le problème c’est que l’information est disponible à divers endroits dont le flux RSS :

<generator>https://wordpress.org/?v=5.9</generator>

On la retrouve aussi dans certains paramètres GET ajoutés par WordPress lors de l’enregistrement des scripts :

<script src="https://mysite.com/wp-content/themes/mytheme/js/main.js?v=5.9"></script>

La plupart des extensions de sécurité mettent en avant leur fonctionnalité de suppression de l’affichage de la version de WordPress. C’est même un argument marketing mais pas besoin d’être un hacker pour retrouver l’information sur un site.

Certains outils gratuits comme WPscan permettent de le faire automatiquement.

Oui, et alors ?

On pourrait se dire que cacher la version de WordPress ou déplacer l’URL de login “/wp-admin” ne fait pas de mal et on préviendra forcément quelques attaques, notamment par brute-force.

Néanmoins, il est toujours possible de trouver la nouvelle URL. Quelqu’un peut la partager par erreur, par exemple. Cette “sécurisation” n’est donc pas suffisante.

Une meilleure approche, selon moi, est de limiter les tentatives de connexion. Il y a des extensions pour cela. Au lieu de croiser les doigts pour que les “méchants” ne trouvent pas l’URL, on ne permet pas plus de 4 ou 5 tentatives infructueuses.

Si la première solution (cacher l’URL) ne fera pas de mal, elle n’est pas suffisante.

Des solutions qui marchent vraiment

Voici une petite liste de solutions qui ont fait leurs preuves :

  • Gardez l’installation ainsi que toutes les dépendances à jour
  • Activez la double-authentification ou l’authentification multi-facteurs
  • Remplacez les extensions qui ne sont plus maintenues
  • Arrêtez d’utiliser des mots de passe faibles
  • Utilisez un pare-feu

Si vous proposez des fonctionnalités e-commerce, activez l’authentification forte.

J’admets que certaines de ces solutions peuvent être chronophages et coûteuses, voire même pénibles à mettre en place, mais elles marchent pour de vrai.

Pas de zèle, SVP

WordPress permet désormais les mises à jour automatiques pour l’installation, les thèmes et les plugin. Si cela peut s’avérer très utile dans certains cas, cela peut vite tourner vinaigre.

Je recommande au minimum de limiter aux mises à jour mineures (~ petites corrections et patchs de sécurité) :

define( 'WP_AUTO_UPDATE_CORE', 'minor' );

Les incompatibilités et les mises à jour cassées arrivent régulièrement, surtout au niveau des extensions et des thèmes, mais cela s’est déjà produit avec le core.

Un site cassé peut avoir de lourdes conséquences sur le business !

Conclusion

Le bénéfice de la sécurité par l’obscurité n’est pas satisfaisant. Vous pouvez tout à fait vous passer de ces techniques de dissimulation au profit d’approches plus robustes.