Wordpress

WordPress 備份策略:3-2-1 原則一次搞懂

多數人以為,備份外掛跳出「備份成功」的提示,網站就安全了。你設定好自動備份,看到後台顯示綠色勾勾,接下來就把這件事丟到腦後,直到下一次系統通知跳出來為止。

真正決定生死的那一刻,往往不是「有沒有備份」,而是真的需要用到它的時候。你才發現,那份備份的壓縮檔打不開,或是資料庫只匯出到一半就中斷;又或者,備份根本就放在跟網站同一台主機的資料夾裡,主機一旦被攻陷,正式站跟備份一起遭殃。根據 Verizon 2025 年的《資料外洩調查報告》(DBIR),勒索軟體牽涉在約 44% 的資料外洩事件中。備份正是多數企業遭勒索軟體攻擊後,用來把資料救回來的主要復原手段。換句話說,備份不是拿來應付檢查表的形式動作,而是網站唯一的救命索。

WordPress 備份策略要顧到的,從來不只是「有沒有按下備份」這個開關,而是照 3-2-1 原則規劃份數、媒介與存放位置,再定期驗證真的救得回來。先從這套原則的三個數字各自在解決什麼問題講起,再一路拆到頻率設定與真正中鏢時的還原步驟。

3-2-1 備份原則是什麼?

3-2-1 備份原則講的是三個數字:3 份資料副本、2 種不同的儲存媒介、1 份異地存放。這不是哪一家外掛廠商想出來的行銷詞彙,而是台灣電腦網路危機處理暨協調中心(TWCERT/CC)與美國網路安全暨基礎設施安全局(CISA)都採用的基準建議。TWCERT/CC 在〈勒索軟體防護指南〉裡明確列出「3 份備份、2 種儲存媒體、1 個不同的存放地點」,CISA 也把它定義為 3 份副本存在 2 種不同類型的儲存媒體上,其中 1 份放在異地。

三個數字各自對付不同的風險。「3」解決的是單點失效,只留一份,這一份壞掉,資料就真的沒了;「2」解決的是單一媒介同時失效,如果兩份備份都放在同一種媒介上,那種媒介出問題時,兩份會一起遭殃;「1」解決的是單一地點的災害,辦公室或機房失火、淹水,甚至駭客拿到整台主機的權限,放在同一個地方的東西都會一起出事。

3-2-1 備份原則的三個數字各防一種風險:三份副本防單點失效、兩種媒介防單一媒介同時失效、一份異地防單一地點災害。
3-2-1 備份原則的三個數字,其實是在各自堵住單點、單一媒介、單一地點三種失效風險。

多數 WordPress 站長設定備份時,其實只做到「有備份」這一半,沒做到「符合 3-2-1」這一半——備份外掛裝了、排程也設好了,但備份檔案就存在網站主機自己的資料夾裡,一份、單一媒介,也沒有離開原本的地點。這種設定在多數情境下能用,卻在最需要它的那一次(主機整台出事)派不上用場,因為 3-2-1 原則要防的正是這種情境。

近年業界也常在 3-2-1 之上再加碼,變成 3-2-1-1-0:多一份「不可竄改」、無法被駭客或勒索軟體事後竄改或刪除的備份,外加還原驗證要達到零錯誤。對多數中小型網站來說,先把基本的 3-2-1 做確實,會比急著追加碼版本更有意義。

只有一份備份,等於沒有備份

「3」這個數字拆開來看,其實是正式站本身之外,至少要有 2 份獨立備份,加起來才叫 3 份。裝了備份外掛、看到後台顯示排程正常運作,只代表「有在做備份」這個動作,不等於「有一套備份策略」,策略講的是份數、媒介、位置、頻率整套配置,缺一角,防護就有破口。

想像某個經營線上商店的網站,長期都靠備份外掛把備份存在同一台主機的資料夾裡。某天主機資料庫因硬體故障損毀,或整台主機遭入侵,備份檔案跟著正式站一起消失,訂單與商品資料一夕之間全部歸零。另一種常見情境是,某個網站半年前手動下載過一次備份,之後就沒再更新,等到真的需要復原時,救回來的內容跟現況早已對不上,商品價格、文章、留言都停在半年前。這兩種情境的共同點,都是只有 1 份備份,這 1 份一旦出事或過時,就等於沒有備份。

實務上把 3 份備份分成三個角色會比較清楚:正式站本身是那份「活著」、隨時在變動的資料;第二份是最新、隨時可以拿來還原的備份;第三份時間點更早,當作保險,避免「最新那份剛好也壞掉」的情境找不到退路。舊備份不必留無限多份,但至少要有一份時間點夠早、跟最新那份錯開,才不會白做工,三份都存在同一天、同一種狀態,其實跟只有一份沒有太大差別。

兩種儲存媒介該怎麼搭配,才躲得過同一場故障?

「2 種不同儲存媒介」這句話最常被誤解成「存兩個地方」,但 TWCERT/CC 與 CISA 談的媒介分散,指的是儲存方式本身「性質不同」,而不是同一種服務裡多開幾個資料夾充數。CISA 舉的例子是硬碟與雲端這兩種性質完全不同的媒介;如果把兩份備份都存在同一個雲端帳號底下、只是分成兩個資料夾,帳號一旦被盜,兩份備份會一起暴露或被清空,等於媒介根本沒有真正分散。

WordPress 網站常見的儲存媒介大致分成三種:主機端、雲端空間、本地實體儲存。三者的特性剛好互補。主機端備份還原速度最快,但故障範圍跟正式站綁在一起;雲端空間天生就跟主機分開,卻要顧好帳號安全;本地實體儲存最獨立,卻仰賴人工去執行、版本容易忘記更新。備份策略不必用滿三種,但至少要橫跨兩種性質不同的媒介,才符合「2」這個數字真正的用意。

主機端還原最快但跟正式站共存亡、雲端跟主機分開要顧帳號安全、本地實體最獨立卻靠人工,備份至少要橫跨其中兩種。
主機端、雲端、本地實體各有強項與罩門,備份至少要橫跨其中兩種性質不同的媒介。

主機端備份

多數虛擬主機或代管方案,都內建備份功能,或是備份外掛預設就會把備份存在主機本身的空間裡。這種做法的優點很明顯:還原速度快、設定門檻低,後台點兩下多半就能復原到某個時間點。風險也很直接,這份備份跟正式站在同一個失效範圍裡,主機硬體故障、資料庫損毀,或是整台主機遭入侵時,備份可能跟著一起出事。主機端備份適合當成「第一線、最快復原」的那一份,用來處理日常小失誤(例如不小心刪錯一篇文章),但不能是唯一一份。

雲端空間

把備份同步到 Google Drive、Dropbox、Amazon S3 這類雲端儲存,是多數備份外掛都能串接的做法。優點是天生就跟主機分開,服務商自己也多半有一套容錯機制,不會因為主機這端出事就一起遭殃。真正該顧的重點,是雲端帳號的登入方式最好跟網站後台分開管理,用不同的帳密、甚至不同的信箱,避免一組帳密外洩,備份跟著曝光,或是被連帶清空。

本地實體儲存

把備份定期下載到自己的電腦、外接硬碟或 NAS,屬於「離線」的一種做法,好處是完全不受任何網路服務商的政策或帳號安全影響,就算所有雲端帳號同時出事,這份備份還是好好的。缺點也很現實,這件事仰賴人記得去做,一忙就會忘記下載,版本容易停在很久以前。這種媒介比較適合當作季度性、或大改版前的里程碑保險,例如網站要換佈景主題或大更新前,先手動存一份完整備份,而不是把它當成唯一或主力的備份方式。

異地備份要放多遠,才算真正分散風險?

「異地」常被誤會成「存在另一個資料夾」就過關,但這個字要顧到的其實是兩層意義:地理位置分開、帳號與權限分開。地理位置分開,指的是就算辦公室或機房發生火災、淹水這類實體災害,異地那份備份也不會一起遭殃;帳號與權限分開,指的是就算駭客拿到網站後台或整台主機的所有權限,也碰不到那份異地備份,因為它不在同一個權限體系裡。

常見的誤區是只做到第一層、漏了第二層。備份確實存在另一個雲端服務上,聽起來已經「異地」了,但備份外掛登入那個雲端空間用的,卻是跟網站後台一模一樣的帳號密碼,或是同一組被存在網站設定裡的金鑰。這種設定下,一旦網站後台或主機的權限被攻破,攻擊者順著同一組帳密,一樣能摸到那份「異地」備份,等於白做了異地這一步。真正的異地備份,除了地理位置要分開,登入帳號、密碼,甚至雙重驗證,都應該跟網站本身的管理帳號徹底切開。

電商、部落格、官網,各自的備份頻率不一樣

位置、媒介、份數都排好之後,下一個要決定的是頻率。備份頻率沒有一個放諸四海皆準的公式,真正該思考的是,這個網站一天不備份,你能接受損失多少內容或訂單。答案因網站類型而異,頻率也該跟著調整,而不是全站套用同一個排程。

交易與訂單每天都在累積的電商網站(例如用 WooCommerce 架站),資料流動最快,備份頻率通常要拉高到每日、甚至一天多次,因為只要漏掉一段時間沒備份,中間的訂單、庫存異動就等於憑空消失,這種損失往往直接反映在營收上。發文頻率高的部落格或新聞型網站,內容更新快但金流影響較小,抓每日到每週備份一次,通常就能把損失控制在可接受範圍。內容更新很慢的形象官網、公司介紹站,可能好幾週才改一次頁面,兩週到一個月備份一次,多半已經足夠。

電商建議每日到一天多次、部落格與新聞每日到每週、形象官網兩週到一個月,備份頻率依網站資料變動速度決定。
備份頻率沒有通用公式,看網站一天不備份會損失多少:電商最密、形象官網最鬆。

頻率設定好之後,別忘了同時決定要保留幾份舊備份。只設頻率、不設保留份數,很容易發生新備份覆蓋舊備份、想復原到「上上次」的版本時卻發現早就被蓋掉的窘境。頻率決定「多久存一次」,保留份數決定「能往回找多久以前」,這兩者要一起設定,才是一套完整的備份頻率規劃。

備份存了,多久該測試一次還原?

份數、媒介、位置、頻率都設定好之後,還有最後一關容易被忽略,那就是還原測試。多數人備份策略裡最大的漏洞,不是份數不夠,而是從沒真正測試過「這份備份能不能救回網站」。備份外掛顯示「備份成功」,只代表那個備份動作本身跑完了,不代表備份檔案完整無損、資料庫真的匯出乾淨。備份檔案損毀、資料庫匯出到一半連線中斷、雲端同步失敗卻沒跳出錯誤訊息,這些狀況,往往只有實際還原一次才會被發現。

CISA 就明確建議,企業要定期測試備份的還原程序,確保團隊能夠完整或局部快速復原資料,並且至少能往回還原 7 天份的資料。實務上,建議至少每季做一次還原演練,或是每次 WordPress 核心、外掛有重大版本更新之前,先跑一次還原測試,確認舊版本的備份在新環境下依然能正常復原。

還原測試最好在測試環境(staging)裡進行,而不是直接拿正式站當白老鼠,因為還原過程萬一出錯,正式站不會因此被連帶弄壞。還原完成後,該檢查的項目包括:首頁與文章內頁是否正常顯示、表單與其他互動功能是否運作、資料庫內容是不是真的還原到你以為的那個時間點。這幾項都確認過,這份備份才算真的「測試通過」,而不是只在後台顯示一個綠色勾勾。

外掛顯示備份成功不等於救得回,要定期在測試環境還原並檢查前台、功能與資料庫時間點,通過才算數。
備份顯示成功只代表動作跑完;定期在 staging 還原、逐項檢查過,才算真的救得回。

網站真的中鏢了,還原前後這樣檢查

前面幾節談的都是平常該怎麼規劃,這一節要處理的是真正出事那一刻,實際救援時該怎麼做。

網站中鏢還原前先斷網、清除重建環境、確認備份乾淨,還原後再檢查前台功能、清快取、更新密碼與金鑰。
真的中鏢時,還原前先確認網路、環境、備份都乾淨,還原後再逐項檢查功能並更新所有金鑰。

還原之前,有幾件事要先確認。第一,立即斷開受感染設備與所有網路連線,不論是有線、無線,還是行動網路,避免問題持續透過網路擴散;TWCERT/CC 的〈勒索軟體防護指南〉就把這個動作列為感染後最優先的應變步驟。第二,受感染的環境要先完全清除、重新安裝作業系統或重建網站環境,再進行還原,不要在還沒清乾淨的環境裡直接蓋上乾淨的備份,否則救回來的內容,馬上又會被同一個問題感染一次。第三,還原之前要先確認這份備份本身是乾淨的,沒有被惡意程式滲透;不能因為急著恢復服務,就直接拿還沒驗證過的備份蓋上去。只有確定備份與要拿來還原的環境都乾淨,才能真正開始復原,不然等於把問題原封不動地救回來一次。

還原完成之後,檢查清單也不能省。先看前台功能是否正常:首頁與文章頁能不能正常顯示、表單與購物車這類互動功能是否運作。接著確認是否需要清除快取外掛的快取,避免訪客看到的還是還原前的舊版畫面。最後,更新登入密碼與各種金鑰(資料庫密碼、API 金鑰、管理員帳號密碼都算),避免原本被利用的漏洞或外洩的憑證,在還原之後又被重複拿來利用。

某個網站被植入惡意程式、後台跳出大量陌生管理員帳號,或是某個網站在更新外掛之後整頁白屏、什麼都叫不出來,都是需要走上面這套流程的典型情境。如果狀況已經超出你能判斷的範圍,例如不確定備份是否真的乾淨、或懷疑攻擊者還留著其他後門,與其自己硬還原、把不確定的東西重新蓋上線,不如找專業的資安或主機服務團隊協助排查,先確認乾淨了再動手復原,會比自己盲目嘗試安全得多。

備份的價值,從來不在「有沒有做」,而在真的出事那天,救不救得回來。3-2-1 原則、頻率設定、還原測試,拆開來看都不是太複雜的技術動作,難的是把它們一起排進日常維運裡,而不是設定一次就丟著不管。

現在就可以檢查自己網站的備份,是不是符合 3-2-1:有幾份、用了幾種媒介、有沒有真正做到異地。也想一下,上一次真正測試還原,是什麼時候。如果一時想不起來,那大概就是接下來該補的第一件事。

資料來源
  1. 2025 Data Breach Investigations Report (DBIR) — Verizon
  2. 勒索軟體防護指南 — TWCERT/CC
  3. Back Up Business Data — CISA
  4. #StopRansomware Guide — CISA