{"id":3390,"date":"2026-07-13T23:00:00","date_gmt":"2026-07-13T23:00:00","guid":{"rendered":"https:\/\/smartcoding.com.au\/comment-de-vieilles-sauvegardes-ont-failli-couter-a-une-agence-sa-recuperation\/"},"modified":"2026-07-13T23:00:00","modified_gmt":"2026-07-13T23:00:00","slug":"comment-de-vieilles-sauvegardes-ont-failli-couter-a-une-agence-sa-recuperation","status":"publish","type":"post","link":"https:\/\/smartcoding.com.au\/fr\/comment-de-vieilles-sauvegardes-ont-failli-couter-a-une-agence-sa-recuperation\/","title":{"rendered":"Comment de vieilles sauvegardes ont failli co\u00fbter \u00e0 une agence sa r\u00e9cup\u00e9ration"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">La plupart des propri\u00e9taires de sites WordPress ont des sauvegardes. Presque aucun n&rsquo;a de sauvegardes qu&rsquo;il a r\u00e9ellement test\u00e9es. La diff\u00e9rence devient brutalement visible au pire moment possible : le jour o\u00f9 il en a besoin. Cet article d\u00e9crit un cas r\u00e9el issu d&rsquo;un incident r\u00e9cent dans une agence de Sydney, o\u00f9 l&rsquo;histoire des sauvegardes a failli transformer une r\u00e9cup\u00e9ration difficile en quasi-catastrophe, et ce que nous avons chang\u00e9 pour que cela ne se reproduise pas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">L&rsquo;incident<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;agence g\u00e8re un portefeuille de sites de petites entreprises clientes sur un seul h\u00e9bergement mutualis\u00e9. L&rsquo;un d&rsquo;eux, le site de l&rsquo;agence elle-m\u00eame, a \u00e9t\u00e9 compromis. Une attaque de dissimulation (cloaking) SEO avait discr\u00e8tement d\u00e9pos\u00e9 des fichiers malveillants \u00e0 la racine du document, imitant les vrais noms de pages WordPress avec du contenu contr\u00f4l\u00e9 par l&rsquo;attaquant. Le nettoyage en soi a \u00e9t\u00e9 simple une fois le point d&rsquo;entr\u00e9e identifi\u00e9. Le plus difficile a \u00e9t\u00e9 de d\u00e9cider jusqu&rsquo;o\u00f9 revenir en arri\u00e8re.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;analyse forensique sugg\u00e9rait que l&rsquo;attaquant \u00e9tait pr\u00e9sent sur le site depuis au moins quelques semaines avant la d\u00e9couverte. Par prudence, le plan de r\u00e9cup\u00e9ration pr\u00e9voyait une restauration \u00e0 partir d&rsquo;une sauvegarde ant\u00e9rieure \u00e0 la date d&rsquo;intrusion suspect\u00e9e. Plus la base de r\u00e9f\u00e9rence ant\u00e9rieure \u00e0 l&rsquo;incident \u00e9tait propre, moins il y avait de risque qu&rsquo;une porte d\u00e9rob\u00e9e subtile survive au nettoyage.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La premi\u00e8re surprise<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;extension de sauvegarde avait \u00e9t\u00e9 install\u00e9e et configur\u00e9e au lancement du site, deux ans plus t\u00f4t. Le plan pr\u00e9voyait des sauvegardes quotidiennes de la base de donn\u00e9es et des sauvegardes compl\u00e8tes hebdomadaires, toutes deux envoy\u00e9es vers un compte de stockage cloud externe. Lorsque le propri\u00e9taire de l&rsquo;agence a voulu r\u00e9cup\u00e9rer une sauvegarde datant de six semaines avant l&rsquo;incident, la r\u00e9ponse a \u00e9t\u00e9 g\u00eanante : la sauvegarde la plus r\u00e9cente dans le stockage cloud datait de douze mois.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;extension de sauvegarde \u00e9chouait silencieusement depuis au moins un an. L&rsquo;agence n&rsquo;en avait aucune id\u00e9e. Les notifications d&rsquo;\u00e9chec \u00e9taient envoy\u00e9es \u00e0 une adresse e-mail qui n&rsquo;\u00e9tait plus surveill\u00e9e. Personne n&rsquo;avait pens\u00e9 \u00e0 v\u00e9rifier le stockage de destination pour confirmer que les fichiers arrivaient r\u00e9ellement. Le syst\u00e8me \u00e9tait cass\u00e9 en silence depuis bien plus longtemps que l&rsquo;incident de s\u00e9curit\u00e9 lui-m\u00eame.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La deuxi\u00e8me surprise<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;agence s&rsquo;est tourn\u00e9e vers l&rsquo;h\u00e9bergeur comme solution de repli. De nombreux h\u00e9bergeurs infog\u00e9r\u00e9s conservent leurs propres sauvegardes, ind\u00e9pendantes de toute extension. Dans ce cas, la r\u00e9tention des sauvegardes de l&rsquo;h\u00e9bergeur \u00e9tait de 30 jours. On soup\u00e7onnait que la compromission avait commenc\u00e9 environ 45 jours avant la d\u00e9couverte. Les sauvegardes de l&rsquo;h\u00e9bergeur se situaient \u00e0 l&rsquo;int\u00e9rieur de la fen\u00eatre de compromission, et non avant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Toute sauvegarde que l&rsquo;h\u00e9bergeur pouvait fournir avait de fortes chances de contenir les fichiers de l&rsquo;attaquant. Restaurer \u00e0 partir de celles-ci n&rsquo;aurait fait que remettre le compteur \u00e0 z\u00e9ro. Il n&rsquo;existait aucun point propre ant\u00e9rieur \u00e0 l&rsquo;incident vers lequel restaurer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La voie de r\u00e9cup\u00e9ration qui a fonctionn\u00e9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sans aucune sauvegarde propre, la r\u00e9cup\u00e9ration a d\u00fb se faire fichier par fichier. L&rsquo;instantan\u00e9 forensique du site actuel a \u00e9t\u00e9 compar\u00e9 \u00e0 un t\u00e9l\u00e9chargement neuf du c\u0153ur de WordPress, les fichiers du th\u00e8me ont \u00e9t\u00e9 v\u00e9rifi\u00e9s par rapport au contr\u00f4le de version l\u00e0 o\u00f9 il existait, les extensions ont \u00e9t\u00e9 r\u00e9install\u00e9es depuis leurs sources officielles plut\u00f4t que r\u00e9utilis\u00e9es depuis le code compromis, et la base de donn\u00e9es a \u00e9t\u00e9 nettoy\u00e9e des motifs malveillants connus sans \u00eatre restaur\u00e9e en arri\u00e8re.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cela a pris plusieurs fois plus de temps qu&rsquo;une simple restauration. Chaque \u00e9tape a d\u00fb \u00eatre v\u00e9rifi\u00e9e. Le co\u00fbt total a \u00e9t\u00e9 substantiel, et plusieurs am\u00e9liorations du site ont \u00e9t\u00e9 perdues parce que le code de th\u00e8me v\u00e9rifiable le plus r\u00e9cent provenait d&rsquo;un export vieux de plusieurs mois plut\u00f4t que de l&rsquo;\u00e9tat en ligne. Le nettoyage a fonctionn\u00e9, mais le co\u00fbt a \u00e9t\u00e9 nettement plus \u00e9lev\u00e9 qu&rsquo;il n&rsquo;aurait d\u00fb l&rsquo;\u00eatre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Le nouveau dispositif de sauvegarde<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Apr\u00e8s l&rsquo;incident, l&rsquo;agence est pass\u00e9e \u00e0 un dispositif de sauvegarde que nous utilisons sur les sites WordPress que nous g\u00e9rons. Les caract\u00e9ristiques comptent, il vaut donc la peine d&rsquo;\u00eatre pr\u00e9cis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Des sauvegardes incr\u00e9mentielles quotidiennes des fichiers et de la base de donn\u00e9es. Des sauvegardes compl\u00e8tes hebdomadaires. Toutes les sauvegardes stock\u00e9es hors site, dans un compte de stockage inaccessible depuis le site WordPress lui-m\u00eame, afin qu&rsquo;une compromission ne puisse pas effacer les sauvegardes en m\u00eame temps que le site en ligne.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La r\u00e9tention est r\u00e9gl\u00e9e pour que les sauvegardes restent disponibles pendant au moins 90 jours. Cela offre une fen\u00eatre propre ant\u00e9rieure \u00e0 l&rsquo;incident, m\u00eame pour les compromissions \u00e0 combustion lente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les notifications d&rsquo;alerte en cas d&rsquo;\u00e9chec des sauvegardes vont vers une bo\u00eete de r\u00e9ception professionnelle surveill\u00e9e, et non vers un e-mail personnel. Deux personnes re\u00e7oivent les alertes, afin que les cong\u00e9s d&rsquo;une seule personne ne puissent masquer un \u00e9chec.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un test de restauration trimestriel est ex\u00e9cut\u00e9 sur un environnement de staging. La sauvegarde est t\u00e9l\u00e9charg\u00e9e, restaur\u00e9e et v\u00e9rifi\u00e9e par rapport au site en ligne. Si quelque chose est cass\u00e9, c&rsquo;est corrig\u00e9 avant le trimestre suivant.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ce que vous pouvez faire aujourd&rsquo;hui<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si ce cas vous semble inconfortablement familier, voici une courte liste d&rsquo;\u00e9tapes \u00e0 parcourir cette semaine. Chacune ne prend que quelques minutes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Connectez-vous \u00e0 la destination vers laquelle vont vos sauvegardes, quelle qu&rsquo;elle soit. Confirmez que le fichier le plus r\u00e9cent date d&rsquo;aujourd&rsquo;hui ou d&rsquo;hier. Confirmez que les fichiers arrivent de mani\u00e8re r\u00e9guli\u00e8re depuis 90 jours. Ouvrez l&rsquo;adresse e-mail cens\u00e9e recevoir les notifications d&rsquo;\u00e9chec de sauvegarde et confirmez qu&rsquo;elle est toujours surveill\u00e9e.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Choisissez la sauvegarde la plus r\u00e9cente. T\u00e9l\u00e9chargez-la. Essayez de la restaurer sur un site de staging ou un environnement local. Assurez-vous qu&rsquo;elle fonctionne r\u00e9ellement comme une sauvegarde, et pas seulement comme un fichier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifiez la r\u00e9tention des sauvegardes de votre h\u00e9bergeur. La fen\u00eatre de r\u00e9tention est-elle assez longue pour couvrir une compromission lente ? Si non, compl\u00e9tez-la par une solution externe \u00e0 r\u00e9tention plus longue.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Le principe<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Une sauvegarde n&rsquo;est r\u00e9elle qu&rsquo;une fois que vous l&rsquo;avez restaur\u00e9e. Jusque-l\u00e0, c&rsquo;est une supposition. Le co\u00fbt du test est faible. Le co\u00fbt de la d\u00e9couverte \u00e0 la dure est assez \u00e9lev\u00e9 pour menacer la r\u00e9cup\u00e9ration elle-m\u00eame. Traitez la v\u00e9rification des sauvegardes comme une partie de votre routine, pas comme une chose que vous feriez un jour.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Besoin d&rsquo;un coup de main ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si votre dispositif de sauvegarde WordPress pr\u00e9sente des lacunes, <a href=\"https:\/\/defyn.com.au\" rel=\"noopener\">Defyn<\/a> peut l&rsquo;auditer, mettre en place des sauvegardes externalis\u00e9es fiables avec une r\u00e9tention appropri\u00e9e, ex\u00e9cuter un test de restauration pour v\u00e9rifier qu&rsquo;il fonctionne, et s&rsquo;assurer que les alertes parviennent \u00e0 des personnes qui les verront. Contactez-nous et nous vous fournirons un dispositif de sauvegarde sur lequel vous pourrez r\u00e9ellement compter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Une sauvegarde qui n&rsquo;a pas \u00e9t\u00e9 test\u00e9e n&rsquo;est pas une sauvegarde. Un cas r\u00e9el o\u00f9 des sauvegardes obsol\u00e8tes et non test\u00e9es ont failli co\u00fbter \u00e0 une agence de Sydney la r\u00e9cup\u00e9ration de son site WordPress.<\/p>\n","protected":false},"author":2,"featured_media":2022,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[1071],"tags":[],"class_list":["post-3390","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-website-support-maintenance"],"jetpack_publicize_connections":[],"featured_image_src":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-backup-recovery-600x400.jpg?crop=1","featured_image_src_square":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-backup-recovery-600x600.jpg?crop=1","author_info":{"display_name":"Claire Smith","author_link":"https:\/\/smartcoding.com.au\/fr\/author\/claire\/"},"jetpack_featured_media_url":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-backup-recovery.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/phbW1n-SG","_links":{"self":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/posts\/3390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/comments?post=3390"}],"version-history":[{"count":0,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/posts\/3390\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/media\/2022"}],"wp:attachment":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/media?parent=3390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/categories?post=3390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/tags?post=3390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}