Notez l’article: Sécuriser son site wordpress en 2019:
Prérequis : Avoir déjà installé son CMS wordpress
Niveau de compréhension : Débutant
On se retrouve aujourd’hui pour parler de wordpress. WordPress étant
le CMS le plus utilisé pour la création de sites web, inutile de vous dire que chaque seconde des tentatives de piratage sont répertoriées . Ce blog sur la sécurité informatique est lui-même un wordpress. Nous allons dans cet article parler plus précisément de comment sécuriser son site wordpress.Garder son site à jour
La première chose à effectuer est de garder son CMS, son thème et ses différents plug-ins à jour. En effet des outils comme « » disponibles sous Linux permettent de détecter des CMS non à jour. Un pirate n’aurait alors qu’à scanner une multitude de sites wordpress à la recherche de sites non à jour et donc potentiellement vulnérable. Si une vulnérabilité existe, il pourra l’exploiter contre le site.
Effectuer des sauvegardes
Une autre chose très importante est d’effectuer des sauvegardes de votre site, mais également de votre base de données. En cas de plantage ou piratage du site, il sera plus facile pour vous de le restaurer. Si par malheur vous n’y avez pas pensé, sachez que la plupart des hébergeurs web effectuent régulièrement une sauvegarde des sites qu’ils hébergent. La sauvegarde de votre base de données est possible directement sur votre interface d’administration chez votre hébergeur .
Supprimer les fichiers de backups
Veuillez à bien supprimer les fichiers de backup créé par votre CMS et/ou vous-même . En effet beaucoup de fichiers de sauvegarde contenant des identifiants sont directement accessibles dans Google ou par des outils comme « wp-scan ». Je ne vais pas m’attarder sur ce sujet un article a déjà été rédigé.
Cacher la version du CMS
Une information très importante pour les pirates informatiques est la version de votre CMS . Il y a beaucoup de vulnérabilité sur les anciennes versions de wordpress . D’où les mises à jour régulières . Une des façons de trouver la version de votre site wordpress est de regarder les flux RSS disponibles à cette adresse https://monsite/feed/
Pour supprimer cette information très sensible il suffit d’ajouter dans le fichier functions.php disponible dans le répertoire https://monsite.com/wp-includes/ .
// Supprimer WP version dans le feed
function remove_wp_version() {
return ”;
}
add_filter(‘the_generator’, ‘remove_wp_version’);
Protéger sa page d’administration
Je pars du principe que votre mot de passe permettant d’accéder à votre panel admin est un mot de passe fort . Exemple : =yWe~7>=!-@3WG??LmR\
Par défaut, la page d’administration de voter site wordpress est accessible via ce lien https://votre-site.fr/wp-admin.php . Cette page est bien connue, surtout par les pirates. La première chose à effectuer est de changer son emplacement. Grâce à des plug-ins comme , vous pouvez changer votre page d’administration d’emplacement. Vous pouvez rediriger les pirates souhaitant accéder à votre page de connexion vers une page d’erreur 404.
Plutôt qu’une page d’erreur 404, il est possible de mettre une fausse page de connexion wp-admin.php . Ainsi le pirate tentera de se connecter sur votre « fausse page de connexion ».
Si vous souhaitez cacher votre page de connexion, il est recommandé de la renommer avec un mot ne figurant pas dans les dictionnaires. Ce qui compliquera la recherche de votre nouvelle page avec des outils automatisés comme dirbuster. DirBuster est une application java conçue pour brute-forcer les répertoires et les noms de fichiers sur les serveurs web. Il est extrêmement efficace pour trouver des fichiers et répertoires cachés sur un site.
Astuce : En plus d’avoir un mot de fort et une page d’administration cachée, il peut être intéressant d’installer un captcha sur cette dernière. Si un pirate finit par deviner ou trouver votre page, il aura beaucoup de mal à la bruteforcer avec un captcha installé.
Je n’ai pas parlé du login de la page d’administration, ce dernier peut malheureusement facilement être retrouvé . Ce qui me permet d’enchainer sur la prochaine étape.
Énumération des utilisateurs
Par défaut nous pouvons retrouver le nom des utilisateurs/administrateurs enregistrés sur votre site via l’API de wordpress exposé publiquement . L’ API WordPress a été introduite dans le noyau fin 2016 avec la sortie de WordPress 4.6 .
Une simple requête vers l’API « https://monsite.fr/wp-json/wp/v2/users/?per_page=100&page=1 » donne ce résultat :
Un attaquant dispose désormais d’un nom d’utilisateur valide, il ne reste plus qu’à trouver le mot de passe.
Pour corriger ce problème, nous devons ajouter ce code dans le fichier functions.php
add_filter( ‘rest_authentication_errors’, function( $result ) {
if ( ! empty( $result ) ) {
return $result;
}
if ( ! is_user_logged_in() ) {
return new WP_Error( ‘rest_not_logged_in’, ‘You are not currently logged in.’, array( ‘status’ => 401 ) );
}
return $result;
});
Il est également conseillé de renommer directement dans wordpress le nom de l’auteur des articles.
Attention au contenu du fichier robots.txt
Le fichier robots.txt est un fichier qui est placé à la racine d’un site Internet et qui permet de donner des instructions relatives à l’exploration des contenus d’un site par les robots d’exploration des moteurs.
L’utilisation du fichier robots.txt permet par exemple d’indiquer aux robots ou à une sélection de robots de ne pas indexer certaines rubriques d’un site web. Ce fichier étant publique ne mettez pas de répertoire/pages sensible dedans. Des personnes mal intentionnées peuvent facilement le consulter. Pour se faire discrets, certains sites sur internet utilisent le robots.txt pour ne pas être référencés sur Google.
Supprimer les fichiers inutiles
Après l’installation de votre site wordpress ainsi que vos différents plug-ins, des fichiers README sont créés automatiquement par votre CMS. Ces fichiers contiennent la version de vos plug-ins, la version de wordpress etc. Tout cela en accès libre (sans authentification). Pour des questions de sécurité il peut être judicieux de les supprimer. Pour supprimer les fichiers README, il suffit de vous rendre sur votre le serveur FTP de votre site puis /wp-content/plug-ins/ «votreplugin »/ et supprimer readme.txt .
Désactiver XMLRPC
Les attaques par brute force sont monnaie courante sur Internet. L’attaque par force brute est une méthode utilisée en cryptanalyse pour trouver un mot de passe ou une clé. Il s’agit de tester, une à une, toutes les combinaisons possibles.
L’attaque dite XMLRPC est une attaque qui permet à un attaquant de tester plusieurs centaines de combinaisons login / mot de passe sur un site WordPress, mais en seulement une seule requête. En envoyant un grand nombre de requêtes, l’attaquant a la possibilité de tester un très grand nombre de combinaisons.
De base, xmlrpc est accessible via ce lien https://votresite/xmlrpc.php
Des pour bruteforcer l’accès à votre site via xmlrpc.
J’ai volontairement mis mon mot de passe dans le dictionnaire password.txt .
Si vous n’utilisez pas cette fonctionnalité il est donc judicieux de la supprimer au plus vite. La solution pour interdire l’accès a se fichier est d’ajouter une règle au fichier .htaccess de votre site pour empêcher les visiteurs d’accéder au fichier.
##Bloquer WordPress xmlrpc.php
<Files xmlrpc.php> order deny,allow deny from all </Files>
Ce qui me permet d’enchainer sur la dernière partie le fichier .htaccess
Sécuriser son site wordpress en 2019 avec le fichier .htaccess
Les fichiers .htaccess sont des fichiers de configurations pour les serveurs web basés sur Apache. Basé à la racine ou dans un répertoire de l’espace d’hébergement, ce fichier définit en général des règles d’accès au contenu du site.
Le répertoire /wp-includes/ contient tout un tas de fichiers de configuration sur notre site worpdress. Grâçe au fichier .htacces nous allons pouvoir interdire le du répertoire /wp-includes/ .
Là encore, il est possible de restreindre cet accès à l’aide d’une règle placée dans le fichier .htaccess. On va simplement interdire à tout utilisateur d’accéder au répertoire /wp-includes/ ainsi qu’aux fichiers présents ici.
##Interdire le dossier wp-includes
RewriteRule ^wp-admin/includes/ – [F]
RewriteRule !^wp-includes/ – [S=3]
RewriteRule ^wp-includes/[^/]+.php$ – [F]
RewriteRule ^wp-includes/js/tinymce/langs/.+.php – [F]
RewriteRule ^wp-includes/theme-compat/ – [F]
Voilà 10 astuces qui permettent de sécuriser son site wordpress en 2019. J’espère que cet article vous a intéressé . Beaucoup de choses peuvent encore être faites sur wordpress pour améliorer sa sécurité.
N’hésitez pas à laisser un commentaire.
Sécuriser son site wordpress en 2019