Sécuriser (un tout petit peu) WordPress grâce à NGINX

WordPress

Si vous utilisez le fabuleux serveur Web NGINX pour héberger votre blog sous WordPress, il y a une petite règle toute bête à ajouter dans vos configurations qui .. protège un peu des scans de vulnérabilités que permettent par exemple l’outil WPScan qu’on retrouve dans les distributions comme Blackbox Linux, Pentoo, Kali, ArchAssault.

Par exemple – et c’est courant en ce moment – une des vulnérabilités de votre blog WordPress ça peut être vos plugins. Quelle chance : il est possible de limiter un peu ce qu’expose votre site à l’extérieur via cette règle :

location ~ /(\.|wp-config.php|readme.html|license.txt|readme.txt) {
     deny all;
}

L’idéal pour cette règle c’est de la placer dans un fichier de configuration global que vous appelez ensuite depuis la config de chaque VHOST.

Cette règle empêche d’accéder à wp-config.php , readme.html, licence.txt et readme.txt. Car WPScan utilise les readme.txt de vos plugins .. pour déterminer lesquels vous avez et si vous avez une version vulnérable de celui-ci .. grâce à vos readme!

La suivante va permettre d’empêcher à WPScan de lister les utilisateurs de vos blogs :

location / {
if ($args ~ "^author=\d") { return 403; }
}

Attention celle-ci nécessite d’être *ajoutée* dans votre directive location /, si vous faites un bête copier-coller de ce passage, votre NGINX ne redémarrera plus.

Last but not least .. et là ça ne concerne pas NGINX en ajoutant la ligne :


avant la fonction wp_head(); de votre petit blog (dans votre fichier header.php), votre WordPress deviendra moins bavard sur sa version :)

Dans les autres règles NGINX vous pouvez aussi penser à celles-ci :

location ~ /\.ht {
deny all;
}

location ~* /(?:uploads|files)/.*\.php$ {
	deny all;

}

Bien sur mon vieil article compte toujours avec les conseils de base pour sécuriser votre WordPress

Tags: , ,

  • Merci pour ces bonnes idées :) Je vais rajouter la première règle à mon ht-access

    Pour la seconde, je préfère utiliser un plugin qui permet de modifier le slug de l’auteur, cela éviter aussi les recherches manuelles, alors que la directive interdit juste le scan.