Module 7 · 7.2
Français
Suivre les mises à jour
Module 7: Sécurité · Temps de lecture : 8 minutes
Objectif pédagogique : après cette leçon, vous saurez configurer les mises à jour pour qu'elles se fassent rapidement et en toute sécurité, et vous saurez quoi faire d'une extension qui ne reçoit plus de mises à jour.
Notions clés : version mineure, version majeure, mise à jour de sécurité, mises à jour automatiques (cœur, extensions, thèmes), rollback, mises à jour par l'installateur, extension abandonnée, journal des modifications, site de préproduction (staging) pour les grandes mises à jour
Pourquoi une mise à jour rapide est plus importante qu'une attente prudente
La leçon 7.1 l'a montré : les pirates recherchent des failles connues pour lesquelles une mise à jour existe déjà. Entre la publication d'une correction et les premiers scans massifs, il ne s'écoule parfois que quelques heures ou quelques jours. Celui qui « attend d'abord un mois pour voir si la mise à jour est bonne » reste exposé pendant ce mois.
Dans le même temps, une mise à jour peut casser quelque chose. La solution n'est pas d'attendre, mais de faire en sorte que la mise à jour soit automatique, rapide et réversible :
- les mises à jour mineures et les mises à jour d'extensions automatiquement ;
- une sauvegarde juste avant la mise à jour, avec un retour automatique en arrière si cela se passe mal ;
- les grandes mises à jour testées d'abord sur un site de préproduction (staging) (leçon 8.3), mais en quelques jours, pas en quelques mois.
Versions mineures et majeures de WordPress
WordPress numérote ses versions ainsi : 7.1.4 :
- 7.1 est la version majeure (major release). Il en paraît quelques-unes par an, avec de nouvelles fonctionnalités.
- .4 est une version mineure (minor release) : corrections et mises à jour de sécurité, sans changements majeurs.
Depuis la version 3.7, WordPress installe automatiquement les versions mineures et les mises à jour de sécurité, sauf si vous avez désactivé cela. Les versions majeures s'installent par défaut manuellement, avec un bouton dans Tableau de bord > Mises à jour. Dans wp-config.php, vous pouvez orienter ce comportement :
define( 'WP_AUTO_UPDATE_CORE', 'minor' ); // par défaut : seulement les versions mineures
define( 'WP_AUTO_UPDATE_CORE', true ); // aussi les versions majeures
define( 'WP_AUTO_UPDATE_CORE', false ); // rien d'automatique (déconseillé)Choisissez l'une des trois lignes. Le réglage par défaut (minor) convient à la plupart des sites ; si votre installateur ou votre hébergeur applique aussi les versions majeures pour vous, c'est également très bien.
WordPress ne prend officiellement en charge que la dernière version majeure. Les correctifs de sécurité sont aussi rétroportés un certain temps vers les séries plus anciennes, mais vous ne devez pas compter dessus.
Extensions et thèmes automatiques
Depuis WordPress 5.5, vous pouvez cliquer sur Activer les mises à jour automatiques par extension dans Extensions, et par thème dans Apparence > Thèmes. Activez cela pour la plupart des extensions : c'est là que se trouvent les failles (leçon 7.1).
Depuis WordPress 6.6, WordPress vérifie après une mise à jour automatique d'extension si le site fonctionne encore. Si la mise à jour provoque une erreur fatale, WordPress restaure la version précédente (un rollback) et vous recevez un e-mail. Cela permet de neutraliser le plus grand risque des mises à jour automatiques : un site blanc que vous ne découvrez qu'au bout d'une semaine.
Les installateurs comme Installatron (leçon 2.2) peuvent aussi faire cela : avec une sauvegarde préalable et un retour en arrière si la mise à jour échoue. Utilisez l'un de ces deux systèmes de manière réfléchie ; ils ne se contredisent pas, mais vous voulez savoir qui fait quoi.
Exceptions pour lesquelles vous désactivez parfois les mises à jour automatiques :
- une extension dont vous savez que les versions majeures changent souvent quelque chose (un créateur de pages, une extension de boutique en ligne avec des connexions) ; mettez-la à jour après un test sur un site de préproduction (staging), mais rapidement ;
- un thème avec des modifications directement dans les fichiers. Mieux vaut placer ces modifications dans un thème enfant (leçon 5.2), le thème parent pourra alors se mettre à jour automatiquement sans problème.
Extensions payantes
Les extensions payantes ne reçoivent des mises à jour que tant que votre licence est valide. Une licence expirée signifie : pas de mises à jour de sécurité. Suivez vos licences (leçon 9.4). Et une extension payante provenant d'un site de téléchargement ne reçoit aucune mise à jour (leçon 5.3).
L'extension abandonnée
Une extension qui n'a pas reçu de mise à jour depuis longtemps, ou qui a été retirée du répertoire d'extensions de wordpress.org (« Cette extension a été fermée »), ne recevra plus de correction. Voici ce qu'il faut faire :
- Vérifiez pourquoi. Pour une extension fermée, la raison est souvent indiquée (par exemple un problème de sécurité). S'il s'agit d'un problème de sécurité, agissez immédiatement.
- Cherchez une alternative activement maintenue (leçon 5.3), ou vérifiez si vous avez encore besoin de cette fonctionnalité.
- Remplacez-la sur un site de préproduction (staging), testez, puis supprimez entièrement l'ancienne extension.
Laisser une extension abandonnée « au cas où » est précisément le risque que vous voulez éviter.
Lire le journal des modifications
Chaque mise à jour comporte un journal des modifications (changelog) : ce qui a changé. Dans Tableau de bord > Mises à jour ou sur la page de l'extension (onglet Développement ou Journal des modifications). Repérez surtout des mots comme « security », « sécurité » ou « fix vulnerability » : dans ce cas, mettez à jour le plus vite possible. Et des mentions comme « breaking change », « requires PHP 8.x » ou « nouvelle version de » : dans ce cas, testez d'abord.
Après une mise à jour
- Vérifiez rapidement votre site, y compris les fonctions les plus importantes (formulaire, panier, connexion).
- Lisez les e-mails de WordPress ou de votre installateur concernant les mises à jour réussies, échouées ou annulées. Un rollback signifie que l'ancienne version (vulnérable) refonctionne : résolvez le problème, souvent en mettant aussi à jour PHP, le thème ou une autre extension, ou en remplaçant l'extension.
- Vérifiez dans Santé du site (leçon 5.4) s'il reste des alertes.
En pratique : à quoi cela ressemble dans un panneau
Dans l'administration de WordPress :
- Tableau de bord > Mises à jour : l'état de WordPress, des extensions et des thèmes. On y trouve aussi si les mises à jour automatiques pour les versions majeures sont activées.
- Extensions : dans la colonne Mises à jour automatiques, par extension, « activer » ou « désactiver ». En haut, vous pouvez utiliser les Actions groupées pour en activer plusieurs à la fois.
- Apparence > Thèmes : cliquez sur un thème pour accéder au bouton des mises à jour automatiques.
Dans Installatron (DirectAdmin), vous configurez cela par installation dans Modifier > Réglages > Auto-Update. Dans Softaculous (cPanel) et le WP Toolkit (Plesk), le même choix se trouve dans les paramètres de l'installation.
Résumé
- Les failles connues sont rapidement exploitées ; la mise à jour doit être rapide, automatique et réversible.
- WordPress installe automatiquement les versions mineures (depuis la 3.7) ; les versions majeures par défaut après un clic, ou automatiquement si vous le choisissez.
- Activez les mises à jour automatiques pour la plupart des extensions et des thèmes ; depuis la version 6.6, WordPress annule les mises à jour d'extensions ayant échoué.
- Une licence expirée ou une extension abandonnée signifie pas de mises à jour de sécurité : remplacez-la.
- Lisez le journal des modifications et les e-mails après une mise à jour ; un rollback se résout activement.
Quiz
Exercice
Exercice A7.2 : Votre WordPress est-il à jour ? Consultez l'administration de votre site dans Tableau de bord > Mises à jour pour connaître la version de WordPress que vous utilisez et indiquez-la, avec votre domaine. Le programme récupère la dernière version auprès de l'API publique de versions de wordpress.org et compare : vert si vous avez la dernière version, orange si vous êtes dans la même version majeure mais qu'il vous manque une mise à jour mineure, rouge si vous utilisez une version majeure plus ancienne. Indiquez aussi combien d'extensions ont les mises à jour automatiques activées et combien ne les ont pas, et pourquoi.
Pour aller plus loin
Ces articles décrivent les étapes dans les panneaux de WebOké ; dans d'autres panneaux, le fonctionnement est similaire.
- Guide DirectAdmin 13.5: Mises à jour et mises à jour automatiques
- Mettre à jour Joomla et WordPress via Installatron
- Erreur 500 ou « erreur critique » sur votre site web (également après une mise à jour de WordPress)
- Configurer les mises à jour automatiques (wordpress.org, en anglais) : https://wordpress.org/documentation/article/configuring-automatic-background-updates/
