Si vous pensez que votre site est sûr parce qu’il n’est pas intéressant pour les pirates, alors vous vous trompez, car la grande majorité des violations de la sécurité ne visent pas à voler vos données ou défigurer votre site.

Les pirates veulent généralement utiliser votre serveur comme relais pour les spams, ou pour configurer un serveur Web temporaire, généralement pour servir des fichiers illégaux. Si vous êtes piraté, préparez-vous à débourser de l’argent pour des coûts liés au serveur.

Il y a plusieurs façons différentes pour renforcer la sécurité de votre site ou un réseau multisite, mais l’une des plus simple est de modifier votre fichier wp-config.php. La mise à jour de ce fichier de configuration, bien qu’il n’existe pas de solution infaillible, est une stratégie qu’il faut appliquer pour une sécurité globale.

Avec cela à l’ esprit, nous allons explorer les différentes modifications que vous pouvez effectuer pour sécuriser votre blog WordPress.

Configurer les constantes de WordPress

Dans votre fichier de configuration de WordPress, aussi appelé wp-config.php , vous pouvez définir ce que l’ on appelle des constantes PHP pour exécuter certaines tâches. WordPress a beaucoup de constantes que vous pouvez utiliser.

Constantes sont également enveloppés dans la function define() comme indiqué dans cet exemple de syntaxe:

define ( 'NOM_DE_LA_CONSTANTE', valeur);

Sur WordPress, le fichier wp-config.php est chargé avant le reste des fichiers qui composent le noyau. Cela signifie que si vous modifiez la valeur d’une constante dans wp-config.php, vous pouvez changer la façon dont WordPress réagit et fonctionne. Vous pouvez désactiver certaines fonctionnalités ou tout activer en modifiant la valeur. Dans de nombreux cas, cela peut être fait en changeant true pour false, et vice-versa, par exemple.

Ci-dessous vous retrouverez les différentes constantes ainsi que d’autres types de code PHP  que vous pouvez utiliser dans votre fichier wp-config.php  afin d’amplifier votre sécurité. Placez-les tous au-dessus de la ligne suivante dans votre fichier wp-config.php:

/* That's all, stop editing! Happy blogging. */

Attention: Soyez prudent

Étant donné que les changements que vous êtes sur le point de faire peuvent considérablement modifier votre site, c’est une bonne idée de le sauvegarder. Si une erreur se produit, vous pouvez restaurer rapidement votre site à un point avant ces changements et une fois que votre site fonctionne normalement, vous pouvez essayer à nouveau.

1. Changez vos clés de sécurité

Vous pouvez déjà être conscient des différentes clés de sécurité et vous pouvez avoir déjà ajouté des clés uniques, ce qui est plutôt une bonne chose.

Les clés de sécurité des informations cryptent les données stockées dans les cookies et il peut être utile de les changer, surtout après que votre site ait été piraté. Cela mettrait fin à toutes les sessions ouvertes des utilisateurs connectés sur votre site ce qui signifie les pirates sont déconnectés également.

Lorsque vous réinitialiser les mots de passe et assurez-vous que votre site soit exempt de tout exploits de porte dérobée et autres.

Vous pouvez générer une nouvelle série de clés de sécurité en utilisant le WordPress Security Key Generator. Copiez tout le contenu et collez-le pour remplacer la section qui ressemble à ce qui suit :

define( 'AUTH_KEY', 't`DK%X:>xy|e-Z(BXb/f(Ur`8#~UzUQG-^_Cs_GHs5U-&Wb?pgn^p8(2@}IcnCa|' );
define( 'SECURE_AUTH_KEY', 'D&ovlU#|CvJ##uNq}bel+^MFtT&.b9{UvR]g%ixsXhGlRJ7q!h}XWdEC[BOKXssj' );
define( 'LOGGED_IN_KEY', 'MGKi8Br(&{H*~&0s;{k0<S(O:+f#WM+q|npJ-+P;RDKT:~jrmgj#/-,[hOBk!ry^' );
define( 'NONCE_KEY', 'FIsAsXJKL5ZlQo)iD-pt??eUbdc{_Cn<4!d~yqz))&B D?AwK%)+)F2aNwI|siOe' );
define( 'AUTH_SALT', '7T-!^i!0,w)L#JK@pc2{8XE[DenYI^BVf{L:jvF,hf}zBf883td6D;Vcy8,S)-&G' );
define( 'SECURE_AUTH_SALT', 'I6`V|mDZq21-J|ihb u^q0F }F_NUcy`l,=obGtq*p#Ybe4a31R,r=|n#=]@]c #' );
define( 'LOGGED_IN_SALT', 'w<$4c$Hmd%/*]`Oom>(hdXW|0M=X={we6;Mpvtg+V.o<$|#_}qG(GaVDEsn,~*4i' );
define( 'NONCE_SALT', 'a|#h{c5|P &xWs4IZ20c2&%4!c(/uG}W:mAvy<I44`jAbup]t=]V<`}.py(wTP%%' );

2. Forcez l’utilisation du SSL

Un certificat SSL crypte la connexion entre votre site et le navigateur de votre visiteur, afin que les pirates ne puissent pas intercepter et voler des informations personnelles. Si vous avez déjà un certificat SSL installé, vous devez forcer WordPress à l’utiliser, il peut intensifier votre sécurité.

Pour forcer l’utilisation de votre certificat SSL lors de la connexion, ajoutez cette ligne:

define('FORCE_SSL_LOGIN', true);

Vous pouvez également forcer votre certificat SSL sur le tableau de bord d’administration avec cette ligne:

define ( 'FORCE_SSL_ADMIN', true);

Ce sont de très bons points pour commencer, même si l’idéal serait d’utiliser le certificat SSL sur tout votre site web.

3. Modifiez le préfixe de la base de données

Le préfixe est placé devant les noms de toutes les tables de votre base de données. Par défaut, la table utilise le préfixe « wp_" et l’ajouter sur votre base de données ajoutera une tâche supplémentaire à faire pour le pirate. Plus vous ajoutez des obstacles, plus votre blog sera difficile à pirate.

Changer le préfixe par défaut y contribue et tout ce que vous aurez à faire c’est de modifier la constante sur le fichier « wp-config.php », mais il faudrait également que les tables de la base de données de votre installation aient le même nouveau préfixe. Vous pouvez changer wp_ pour quelque chose comme g628_. Vous devez choisir quelque chose qui n’est vraiment pas facile à deviner.

4. Désactiver l’édition des thèmes et des plugins

Dans chaque installation de WordPress, vous pouvez modifier directement les plugins et les thèmes à travers le tableau de bord. Si un pirate a pu accéder à votre tableau de bord, ils ont accès à cet éditeur spécial où ils pourraient alors faire ce qu’ils voulaient au sein de vos fichiers de plugins et thèmes tels qu’ ajouter des logiciels malveillants, des virus ou du spam.

5. Désactivez le débogage

Si vous avez déjà activé le débogage sur votre site ou sur un réseau, vous le faites certainement parce que c’est un excellent outil pour résoudre des problèmes, mais il ne faut pas oublier de le désactiver une fois que vous aurez terminé. Laisser cette option activée peut révéler des informations importantes sur votre site et l'emplacement de ses fichiers aux pirates à toute personne qui visite votre site.

Pour désactiver le mode de débogage, vous pouvez passer de true à false la constante WP_DEBUG comme suit :

define ( 'WP_DEBUG', false);

6. Désactiver la journalisation d’erreur sur WordPress

 Si vous ne pouvez pas faire le changement précédent parce que vous avez encore besoin de déboguer activement votre site, vous pouvez toujours protéger les informations vitales de votre site en désactivant les erreurs frontaux et désactiver la journalisation des erreurs.

Pour désactiver les rapports d’erreurs sur le frontend, ajoutez cette ligne tout en gardant votre débogage (WP_DEBUG) sur true :

define ( 'WP_DEBUG_DISPLAY', false);

7. Activer les mises à jour automatiques

Garder votre site à jour avec les dernières versions de WordPress, ainsi que vos plugins et thèmes, devrait être une partie importante dans l’élaboration d’une stratégie de sécurité. Etant donné que les mises à jour fournissent des correctifs de sécurité pour les vulnérabilités connues, ne pas faire de mise à jour expose votre blog à ces risques potentiels.

Depuis la version 3.7 de WordPress, les correctifs de sécurité mineures sont automatiquement appliquées à des sites WordPress, mais des versions de base ne le sont pas. Cependant, vous pouvez activer les mises à jour automatiques pour toutes les nouvelles versions en changeant la valeur de la constante des mises à jour automatique :

define ( 'WP_AUTO_UPDATE_CORE', true);

De même, vous pouvez ajouter la ligne suivante en dessous de celui précédent pour activer les mises à jour automatiques pour les plugins:

add_filter ( 'auto_update_plugin', '__return_true');

Vous pouvez en outre suivre avec cette ligne pour permettre des mises à jour automatiques pour thèmes:

add_filter ( 'auto_update_theme', '__return_true');

C’est tout pour ce tutoriel. J’espère qu’il vous permettra de mieux sécuriser votre blog WordPress.