J'ai mis à jour. Et maintenant ?
Si vous avez mis à jour une extension ou votre CMS après avoir reçu l’un de mes avis de sécurité, très bien. C’était l’étape importante, et pour beaucoup de sites c’est la seule étape nécessaire.
La mise à jour comble la faille à partir de maintenant. Elle ne peut pas vous dire si quelqu’un avait trouvé cette faille avant que vous ne la refermiez. Cette page est une vérification pratique à faire soi-même, d’environ 30 minutes, pour répondre vous-même à cette question. Elle est écrite pour des propriétaires de sites qui n’ont ni formation ni budget en sécurité. Il s’agit de conseils généraux, pas d’un constat portant sur votre site : depuis l’extérieur, je peux voir quelle version d’un logiciel un site déclare, et rien de plus.
Étape 1 : déterminez ce que la faille pouvait réellement permettre
Toutes les vulnérabilités ne méritent pas la même réponse. Retrouvez votre avis sur la page des avis aux sites et regardez dans quelle catégorie il entre (chaque page d’avis l’indique près du haut) :
- Prise de contrôle de compte ou exécution de code (un attaquant pourrait obtenir un accès administrateur ou exécuter son propre code) : parcourez toute la liste ci-dessous.
- Lecture de données (un attaquant pourrait lire des informations dans votre base de données, mais pas modifier votre site) : concentrez-vous sur les étapes 2 et 5. La question est de savoir quelles données étaient stockées, pas si votre site a été modifié.
- Problèmes plus limités (failles qui exigent une configuration particulière, ou qui n’atteignent qu’un écran d’administration) : la page d’avis de votre composant précise ce qu’il vaut la peine de vérifier, s’il y a lieu. Souvent, la mise à jour suffit.
Étape 2 : déterminez votre fenêtre d’exposition
Deux dates délimitent la période qui compte :
- Le jour où la faille s’est ouverte sur votre site. En général le jour où vous avez installé la version concernée. Si vous ne le savez pas, la date de l’avis CVE cité dans le message que vous avez reçu (un lien figure sur chaque page d’avis) est un repère raisonnable : à partir de sa publication, les attaquants savaient eux aussi.
- Le jour où vous avez mis à jour. Le jour où vous l’avez refermée.
Tout ce qui suit concerne cette fenêtre. Si elle est courte, disons que vous avez mis à jour un jour ou deux après l’avis, votre risque est réel mais faible. Si la fenêtre s’étend sur des mois, prenez cette liste au sérieux.
Étape 3 : passez en revue qui peut accéder à votre site
Un attaquant qui est entré se ménage presque toujours un moyen de revenir. Vérifiez, dans l’ordre :
- Les comptes administrateur. Dans WordPress : Utilisateurs, puis filtrez par Administrateur. Dans Joomla : Utilisateurs, puis Gestion des utilisateurs. Cherchez tout compte que vous n’avez pas créé. Attention : certaines failles (celle de Simple Membership, par exemple) permettent à un attaquant de prendre le contrôle d’un compte existant au lieu d’en créer un nouveau, donc cette vérification seule ne prouve rien. C’est pourquoi le renouvellement des identifiants de l’étape 4 compte même quand la liste des utilisateurs paraît saine.
- Les extensions, thèmes ou modules ajoutés récemment que vous n’avez pas installés.
- Les tâches planifiées (dans WordPress, l’extension WP Crontrol les affiche ; beaucoup de portes dérobées se réinstallent depuis une tâche planifiée).
- Les mots de passe d’application (WordPress : Utilisateurs, Profil, Mots de passe d’application), un moyen discret de conserver un accès API après une réinitialisation de mot de passe.
Étape 4 : renouvelez les identifiants
Si votre avis relevait de la catégorie prise de contrôle de compte ou exécution de code et que votre fenêtre d’exposition a duré plus de quelques jours, renouvelez vos identifiants même si l’étape 3 n’a rien donné :
- Les mots de passe de tous les comptes administrateur.
- Les clés secrètes et les sels dans
wp-config.php(WordPress). Cela déconnecte tout le monde, y compris un attaquant disposant d’une session volée ; le générateur officiel fournit de nouvelles valeurs. Sur Joomla, l’équivalent est la valeur$secretdansconfiguration.php. - Les mots de passe de votre panneau d’hébergement et de vos accès FTP/SFTP s’ils sont partagés avec quelqu’un ou anciens.
Cela coûte dix minutes et ferme la porte aux sessions volées et aux empreintes de mots de passe cassées, qu’une intrusion ait eu lieu ou non.
Étape 5 : analysez et vérifiez les fichiers
- Lancez l’analyse antimalware de votre hébergeur si le panneau de contrôle en propose une (la plupart des hébergements mutualisés le font), ou un analyseur gratuit réputé. Pour WordPress, l’analyse gratuite de Wordfence compare vos fichiers aux copies officielles.
- Regardez les fichiers modifiés récemment autour du début de votre fenêtre d’exposition et après, en particulier les fichiers PHP dans les répertoires de téléversement. Ces répertoires ne devraient pour ainsi dire jamais contenir de PHP.
- Si votre hébergeur conserve des journaux d’accès, parcourez la fenêtre à la recherche de requêtes vers le composant vulnérable venant d’adresses que vous ne reconnaissez pas. L’absence d’indice ne prouve pas grand-chose ici, car les journaux tournent, mais une correspondance est décisive.
Si la vérification révèle quelque chose
Ne supprimez rien tout de suite. Faites d’abord une sauvegarde complète, fichiers et base de données, pour que ce qui s’est passé puisse encore être examiné. Ensuite, par ordre de coût :
- Votre hébergeur. La plupart proposent un service de nettoyage des logiciels malveillants ou confirmeront au moins ce que leurs propres analyseurs détectent. C’est le bon premier réflexe pour la plupart des petits sites.
- Un professionnel. Si le site traite des données clients ou des paiements, ou si l’analyse a trouvé une porte dérobée, il vaut la peine de payer quelqu’un pour établir ce qui a été consulté ; dans beaucoup de pays, le droit de la protection des données dépend de cette réponse.
- La solution radicale, qui marche toujours : restaurez une sauvegarde antérieure à la fenêtre d’exposition, ou réinstallez le CMS et les extensions depuis les sources officielles en ne conservant que votre contenu. Puis mettez à jour et renouvelez tout ce qui est indiqué plus haut.
Si vous ne savez pas bien ce que vous avez sous les yeux, vous pouvez aussi tout simplement répondre à l’e-mail de l’avis. Je lis chaque réponse, et aiguiller quelqu’un dans la bonne direction fait partie des raisons pour lesquelles j’envoie ces avis. Je ne vends pas de service de nettoyage et cette page n’est pas un argumentaire commercial ; voir la politique de divulgation.
Si vous aviez déjà mis à jour avant l’arrivée de mon e-mail
La même logique s’applique : l’avis signifie que votre site a récemment déclaré une version concernée, donc une fenêtre a existé même si elle est refermée aujourd’hui. Les étapes 2 à 4 répondent toujours à la question qui compte.