wp-config.php et les clés de sécurité secrètes WordPress

sécuriser fichier wp-config avec clé secrete wordpress

Qu’est-ce que les clés de sécurité secrètes (secret key) WordPress et à quoi ça sert ?

 

Vous avez peut être déjà ouvert votre fichier wp-config qui est situé à la racine de votre installation WordPress, c’est un fichier essentiel de votre installation car il permet la liaison entre le serveur et la base de données, sans lui, votre site affichera une page d’installation WordPress. Il contient donc vos accès à la base de données; Host, user, Mot de passe etc … En plus des informations de connexion, il contient les “secret keys” que l’on peut aussi trouver dans votre base de données :

 

secret key wordpress wpconfig

 

Comme vous pouvez le constater, elles sont composées de divers caractères qui n’ont, à première vu, aucun sens. Et pourtant, elles permettent de renforcer la sécurité de vos mots de passe en cryptant les cookies utilisateurs et sont générées aléatoirement lors votre installation WordPress. Pour faire simple, si vous avez un mot de passe qui est “bonjour” , il serait bien trop simple à cracker via une attaque brute force avec dictionnaire, si le mot de passe est “$1$OmUuvjoC$SwPCsY1/pXftwBeQbxLdy”, alors, il faudrait des mois, peut être même des années avant de pouvoir le décrypter. Les clés secrètes permettent donc de sécuriser vos accès.

 

Comment modifier les clés de sécurité secrètes (secret key) WordPress ?

 

C’est très simple ! Pour cela, vous devez vous connecter à votre serveur FTP et d’ouvrir le fichier wp-config.php. Une fois dedans, rendez vous sur : https://api.wordpress.org/secret-key/1.1/salt/.

Dès votre arrivé sur le site, vous allez voir apparaître des clés de sécurité secrètes générées aléatoirement, il vous suffit donc de les sélectionner puis de les copier dans votre fichier wp-config.php en remplaçant celles qui sont normalement déjà présentes. Il est recommandé de modifier les clés secrètes tous les 3 mois pour une meilleure sécurité.

Pour ceux que ça intéresse, voila la documentation WordPress à ce sujet : https://developer.wordpress.org/reference/functions/wp_salt/

 

À quoi servent les autres codes dans le fichier wp-config.php ?

 

L’optimisation de vos performances

La mise en cache

Comme évoqué ci-dessus, votre fichier contient les informations nécessaires à la liaison entre votre serveur et votre base de données, il est possible que vous y trouviez une ligne comme celle ci (placée en début de fichier) :

 

define( 'WP_CACHE', true );

 

Cette ligne indique que la mise en cache est activée, cette dernière permet d’améliorer le délai d’affichage de vos pages et donc d’accélérer votre site en renvoyant à l’utilisateur, une version de page pré-enregistré sans que votre serveur ne charge à chaque fois les mêmes éléments comme par exemple les images. Cette ligne est toujours générée via un plugin comme wp-rocket ou encore WP fastestcache.

 

L’optimisation de la mémoire WordPress

 

Lors de l’installation d’un thème, il est souvent demandé de respecter certaines règles pour qu’il puisse correctement fonctionner comme par exemple, l’augmentation de la mémoire WordPress. Vous pouvez donc ajouter les lignes suivante à votre fichier wp-config.php (au début) pour améliorer les performances de ce dernier :

 

define( 'WP_MAX_MEMORY_LIMIT', '512M' );
define('WP_MEMORY_LIMIT', '512M');

 

Forcer le certificat SSL  page login

 

Lorsque le SSL est activé sur votre hébergeur et donc votre serveur, vous pouvez ajouter deux petites lignes de code qui vont permettre de sécuriser la page login en cryptant les données envoyés par le formulaire de connexion. pour cela, il vous suffit la encore, de vous rendre dans le fichier wp-config.php et d’y ajouter le code suivant :

define ( 'FORCE_SSL_ADMIN' , true);
define('FORCE_SSL_LOGIN', true);

 

Le préfixe de vos tables en base de données

 

Il reste un code auquel il ne faut pas toucher au même titre que les informations de connexion à votre base de données sous peine de voir votre site hors ligne avec un jolie message d’erreur. Cela concerne la ligne ou les mots : “$table_prefix” apparaissent. Le “préfixe” est utilisé pour la totalité de votre base de données. Si vous avez plusieurs sites WordPress sur une même base de données, vous êtes obligé d’avoir un préfixe différent sur chaque sites de façon à ce que chaque installation soient capable d’aller chercher les bonnes informations dans la bonne base de données. Il est d’ailleurs vivement conseillé de ne pas garder le préfixe généré par WordPress qui est : “wp_” , car la aussi, il permet de rendre plus facile certaines attaques informatique.

Si vous souhaitez modifier le préfixe en toute sécurité, commencez par faire une sauvegarde de votre base de données puis installez le plugin suivant Change Table Prefix (Elle n’est désormais plus maintenue mais toujours fonctionnelle). Une fois installé puis activé rendez vous dans Réglages -> Change Table Prefix.

Vous avez donc plusieurs options qui s’offrent à vous, celle qui permet de mettre le site en maintenant lors de la modification et celle qui permet de choisir son préfixe personnalisé. Voici à quoi cela ressemble une fois prêt à lancer :

 

modifier préfixe base de données wordpress WordPress

 

J’ai donc choisi le préfixe “FuA_”, voici le résultat une fois que l’on a cliqué sur “Click to Change Table Prefix” :

 

modifier le préfixe des tables en base de données wordpress

 

Et voici ce que cela donne dans votre base de données :

 

sécuriser préfixe base de données WordPress

 

Si un problème survient lors de la modification du préfixe, il est probable que cela provienne des droits d’écriture (CHMOD) sur votre fichier wp-config.php, vous pouvez donc ajouter manuellement le préfixe dans le fichier ici :

$table_prefix = 'FuA_';

 

En remplaçant “FuA” par le préfixe choisi.