Pourquoi renouveler les salts et les clés est la mesure de sécurité WordPress la plus sous-utilisée

Les salts et les clés de WordPress protègent chaque session de votre site. Presque personne ne les change jamais. Voici pourquoi les renouveler régulièrement est l’un des gains de sécurité les moins chers qui soient.

A padlock on a laptop, representing WordPress security keys

Ouvrez le fichier wp-config.php de n’importe quel site WordPress. À peu près à mi-hauteur, il y a un bloc de huit définitions aux noms comme AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT et NONCE_SALT. Chacune est une longue chaîne aléatoire. Ce sont les salts et les clés de WordPress. Ils protègent chaque cookie d’authentification et chaque nonce émis par votre site. Presque personne ne les change jamais après la première installation du site. Cet article explique ce qu’ils font réellement, pourquoi le renouvellement compte et comment les renouveler en toute sécurité.

Ce que font les salts et les clés

Quand vous vous connectez à WordPress, le site place un cookie qui prouve que votre session est valide. Ce cookie contient un jeton. Le jeton est signé à l’aide d’une combinaison des clés et des salts de wp-config.php. Sans connaître les deux, un attaquant ne peut ni forger un cookie valide, ni modifier un cookie existant sans l’invalider.

WordPress utilise ces mêmes secrets pour générer et valider les nonces, les jetons à usage unique qui protègent les envois de formulaires et les actions d’administration contre la falsification de requête intersites (CSRF). Ils sont fondamentaux pour une grande partie de la sécurité de WordPress.

Si les secrets fuitent, tout jeton signé avec eux reste valide jusqu’à ce que les secrets changent. C’est la partie qui compte pour le renouvellement.

Quand les secrets peuvent fuiter

Vous pensez peut-être que votre wp-config.php n’a jamais été exposé. Ce n’est probablement pas arrivé délibérément. Mais plusieurs scénarios courants peuvent laisser fuiter le contenu du fichier.

Une archive de sauvegarde posée dans la racine. Si elle était téléchargeable, ne serait-ce qu’un court instant, quiconque a deviné le nom a le fichier. Nous avons vu des archives de sauvegarde nommées avec des horodatages prévisibles que n’importe quel attaquant peut énumérer.

Un serveur mal configuré qui a servi les fichiers PHP en texte brut au lieu de les exécuter. Les brèves erreurs de configuration pendant les déploiements sont étonnamment fréquentes.

L’ordinateur portable compromis d’un développeur ou d’un prestataire. Le wp-config.php se trouvait depuis des années dans une copie locale du site. Si sa machine a été piratée, le fichier l’a été aussi.

Une compromission antérieure du site lui-même. Si un attaquant a eu un accès au système de fichiers à un moment du passé, il a lu wp-config.php et détient désormais vos secrets pour toujours, sauf si vous les avez renouvelés.

Ce que fait réellement le renouvellement

Renouveler les salts et les clés fait deux choses importantes. D’abord, cela invalide chaque session existante sur le site. Chaque utilisateur connecté, y compris tout attaquant chevauchant encore un cookie capturé, doit se reconnecter. Ensuite, cela invalide chaque nonce en attente. Tout envoi de formulaire reposant sur un jeton émis avant le renouvellement sera rejeté.

Le premier effet est le gain de sécurité. Si un attaquant avait un cookie de session valide avant le renouvellement, il ne l’a plus.

C’est précisément ce qui rend le renouvellement si précieux : il coupe l’accès persistant qu’un secret ayant fuité accorde en silence.

Le coût est faible

La friction du renouvellement, c’est une reconnexion. C’est tout. Chaque utilisateur, vous compris, sera déconnecté au prochain accès au site. Il se reconnecte avec ses identifiants habituels, et il est de retour.

Pour un blog personnel, c’est invisible. Pour un site d’entreprise avec plusieurs employés, envoyez un e-mail rapide pour prévenir que le changement arrive et qu’il faudra se reconnecter. Cinq minutes de préavis évitent la confusion.

Comment renouveler

La mécanique est simple. Rendez-vous sur le générateur officiel de clés secrètes WordPress à api.wordpress.org. Il produit un jeu neuf de huit définitions à chaque chargement. Copiez le bloc entier. Ouvrez wp-config.php sur votre serveur, en SFTP ou via l’éditeur de fichiers de votre hébergeur. Collez le nouveau bloc à la place de l’existant. Enregistrez le fichier.

À la requête de page suivante, chaque session existante est invalidée. La prochaine fois que vous chargez l’administration, vous vous connectez à neuf.

Avant de faire cela en production, sauvegardez wp-config.php. Le risque est de coller le nouveau bloc au mauvais endroit et de casser le fichier. La sauvegarde vous offre un retour arrière instantané.

À quelle fréquence renouveler

Pour un petit site à faible risque, un renouvellement annuel est une base raisonnable. Pour un site d’entreprise avec plusieurs utilisateurs, trimestriel ou semestriel. Pour un site à fort trafic dont les administrateurs vont et viennent, après tout changement de personnel.

Renouvelez toujours après l’un de ces événements. Une compromission confirmée ou suspectée. Le départ d’un employé ou prestataire disposant d’un accès administrateur. L’apparition d’un fichier de sauvegarde à un endroit où il n’aurait pas dû se trouver. Tout déménagement serveur majeur ayant impliqué un transfert de fichiers sur un canal non sécurisé.

Associé à d’autres mesures de durcissement

Le renouvellement des salts est l’une de plusieurs actions à faible effort et fort impact qui se cumulent lorsqu’on les utilise ensemble. Associez-le au 2FA sur chaque compte administrateur, à des mises à jour régulières des extensions et du cœur, à un audit de qui a accès, et à un wp-config.php propre qui ne traîne dans aucun dossier public.

Le coût total en temps est d’une heure ou deux par an. La valeur, c’est de fermer l’une des catégories de compromission WordPress les plus durables. Peu coûteux, facile, et presque universellement négligé.

Besoin d’un coup de main ?

Si vous souhaitez faire renouveler les salts et les clés de votre site WordPress dans le cadre d’un nettoyage de sécurité plus large, Defyn peut s’en charger. C’est l’une des petites tâches que nous réalisons à chaque prise en main.

Avatar de Claire Smith
Sponsored Loved this story? Defyn turns articles like this into the websites your competitors wish they had. Talk to us → defyn.com.au