政府系統的營運持續演練,重點不是把營運持續計畫念一遍,而是真的把備份還原回來、真的把服務切到備援,並且計時。演練結束時要能回答三個數字:從宣告中斷到服務恢復花了多久(對照 RTO)、還原後的資料停在哪個時間點(對照 RPO)、過程中有哪些步驟和計畫書寫的不一樣。答不出這三個數字的演練,到了查核時只剩一份簽到表和會議紀錄。
依《資通安全責任等級分級辦法》附表的應辦事項,A 級機關的全部核心資通系統每年要辦理一次業務持續運作演練,B 級與 C 級每二年一次(排定年度計畫前請再以主管機關公告的最新版附表原文核對)。這篇整理演練怎麼設計、RTO 與 RPO 怎麼訂、腳本怎麼寫、紀錄要留什麼。弱點掃描、資安健診與日誌保存分別另有專文,文中只在需要時連過去。
RTO 與 RPO 怎麼訂:從業務倒推,再檢查架構做不做得到
RTO(Recovery Time Objective)是系統中斷後最晚要在多久內恢復服務;RPO(Recovery Point Objective)是最多能接受遺失多久的資料。分級辦法附表十的防護基準在「營運持續計畫」構面下,把這兩件事分別放在「系統備份」與「系統備援」兩項措施:大意是備份要先訂出系統可容忍的資料損失時間並執行備份,防護需求等級越高,越要求定期測試備份、把還原納入演練、在不同地點保存備份;備援則要訂出中斷後恢復服務的可容忍時間,並在時限內由備援設備或其他方式接手。各等級的確切用語以附表十原文為準。
訂數字最常見的錯誤,是由資訊人員依「現在的備份做得到多少」來填。正確的順序是反過來:
| 步驟 | 問誰 | 要問的問題 |
|---|---|---|
| 一、列出業務影響 | 業務承辦單位 | 系統停多久會影響民眾服務、法定期限或其他機關?上班時間與夜間是否不同? |
| 二、找出不可重建的資料 | 業務承辦單位 | 哪些資料遺失後無法從紙本、外部系統或民眾重新取得? |
| 三、對照現有架構 | 資訊單位或維運廠商 | 目前備份頻率、備份保存位置、備援機切換方式,實際做得到的恢復時間與資料點是多少? |
| 四、處理落差 | 機關主管 | 做不到的部分,是調整架構與預算,還是由主管書面接受風險? |
一個常被忽略的細節:RPO 不只由備份頻率決定,還取決於同步方式。以本站自己的主機架構為例,網站檔案以約 5 秒的頻率單向同步到備援主機,資料庫則是即時複寫,看起來 RPO 只有幾秒;但檔案同步刻意設計成「不同步刪除」,代表主機上被誤刪或被竄改刪除的檔案,備援機上仍留著舊版,可以救回——反過來說,若要讓備援機與主機完全一致,就得另外處理刪除。同步越即時,誤操作與被竄改的內容也越快被帶到備援端,所以即時備援不能取代有保留期間的備份,兩者要並存。
四種演練情境:桌上推演只是起點
演練可以分成四種,由淺到深。建議一個演練週期裡至少包含一次實際操作,不要年年都只做桌上推演:
| 情境 | 做法 | 能驗證什麼 | 驗證不了什麼 |
|---|---|---|---|
| 一、桌上推演 | 在會議室依計畫書,由主持人給出狀況,各角色口頭說明下一步 | 聯絡窗口、通報順序、決策權限 | 備份能不能還原、時間夠不夠 |
| 二、單一系統還原 | 取最近一份備份,還原到測試環境,確認系統可登入、資料可查詢 | 備份完整性、還原步驟、實際耗時、RPO | 正式環境切換、對外服務中斷的影響 |
| 三、備援切換 | 在離峰時段把服務切到備援主機或備援機房,再切回 | 備援能否接手、DNS 與憑證是否正確、RTO | 主機與備份同時損毀的極端情況 |
| 四、全面情境 | 假設主機房無法使用,從異地備份重建核心系統並恢復服務 | 整體 RTO、跨單位協調、廠商支援時效 | — |
情境二是最划算的起點,因為不影響正式服務,又能直接回答「備份到底能不能用」。本站在主機上做過的還原實測:一個網站的 4,618 個檔案、226 MB,從備份解壓還原到可用花 27.6 秒,備份還原點共 22 個、涵蓋約九個月。數字本身不重要,重要的是沒有實際還原過,就沒有這個數字,RTO 也只是紙上的目標。被駭後怎麼還原的完整流程,可以參考網站被駭怎麼救,那篇以企業網站為例,步驟同樣適用。
切換演練最容易漏掉的三件事
一、排程工作:備份、報表、資料交換等排程通常只在主機上執行,切到備援後要確認是否自動啟用,切回時是否停用,否則會漏跑或重複跑。本站的備援架構就把「排程只在主機執行、切換時自動啟用」寫進切換程序。二、憑證與網域:備援機的 SSL 憑證是否同步更新、DNS 的存活時間設定是否短到足以切換。三、切回:很多演練只練「切過去」,沒練「切回來」,而切回時要處理備援期間新產生的資料。
演練腳本怎麼寫:每一步都要有人、有動作、有時間
演練腳本不是營運持續計畫的複本,而是當天照著做的操作清單。每一列要能回答「誰、在什麼時間點、做什麼、怎麼確認完成」。以情境二「單一系統還原」為例:
範例腳本:核心系統備份還原演練
T+0:主持人宣告演練開始,記錄時間,指定要還原的備份(例如前一日凌晨的完整備份)。T+5 分:維運人員從備份儲存位置取出備份檔,核對檔案雜湊值與備份紀錄一致。T+15 分:在測試環境還原作業系統層以外的應用程式與設定檔。T+30 分:還原資料庫並啟動服務。T+45 分:業務承辦人員登入,依事先準備的查核清單抽查 5 筆資料(最新一筆的建立時間即為實際 RPO)。完成:主持人記錄結束時間,計算實際耗時並與 RTO 比較。
寫腳本時有三個原則:第一,時間點是預估值,實際耗時照實記錄,差距本身就是演練的成果;第二,抽查清單要由業務人員準備,資訊人員只確認「系統能開」,業務人員才知道「資料對不對」;第三,每一步的操作者與備援人員都要寫名字,演練當天主要人員請假,腳本照樣要能執行——這本身就是營運持續要驗證的事。
系統若委外維運,腳本中由廠商負責的步驟,要對照契約的服務水準條款,確認廠商的回應與到場時效能配合 RTO。服務水準怎麼訂,見警政系統維運委外怎麼談 SLA;換廠商時備份與還原文件的移交,見科技執法系統換廠商怎麼交接。
演練紀錄要留什麼:8 個欄位與改善追蹤
查核時看的是紀錄。一份完整的演練紀錄至少要有以下欄位:
| 欄位 | 內容 |
|---|---|
| 一、演練範圍 | 涵蓋哪些核心資通系統、哪個演練情境 |
| 二、目標值 | 本次對照的 RTO 與 RPO |
| 三、實際值 | 實際恢復耗時、還原後資料的最新時間點 |
| 四、時間軸 | 每一步的開始與完成時間,與腳本預估並列 |
| 五、使用的備份 | 備份日期、保存位置、檔案雜湊值核對結果 |
| 六、參與人員 | 機關與廠商人員、各自角色 |
| 七、發現事項 | 與計畫書不一致的步驟、失敗或超時的環節 |
| 八、改善措施 | 負責人、預定完成日、下次演練是否複驗 |
第七、八欄是整份紀錄最有價值的部分。演練「全部順利」不一定是好事,常常代表情境設計得太簡單。發現事項要進改善追蹤,下一次演練優先複驗。健診與弱掃的改善追蹤做法相同,可以共用同一張追蹤表,格式參考資通安全健診做什麼;演練過程本身的操作與切換紀錄,也屬於系統日誌的一部分,保存方式見政府系統的日誌要留多久。
最後,演練的範圍要和系統的實際架構對得起來。系統放在哪個機房、備份存在哪裡、委外廠商負責到哪一層,這些在公部門網站代管要符合哪些規範談過;系統本身的弱點與修補,見政府系統弱點掃描報告怎麼看;放在雲端的系統,責任分界見警政系統上雲的資安要求。
瑪尼國際成立於 2004 年,深耕逾 20 年,長期為全台多個縣市警察局交通隊建置與維運科技執法等交通執法相關系統,系統開發、主機與備援架構、備份還原與演練支援都由同一組人負責,這就是我們的一條龍服務。
常見問題
Q:政府系統的營運持續演練多久要做一次?
依《資通安全責任等級分級辦法》附表的應辦事項,A 級機關的全部核心資通系統每年辦理一次業務持續運作演練,B 級與 C 級機關每二年辦理一次。附表會隨修正調整,排定年度計畫前請以主管機關公告的最新版附表原文為準。
Q:營運持續演練的 RTO 和 RPO 要怎麼訂?
RTO 是系統中斷後最晚要在多久內恢復服務,RPO 是最多能接受遺失多久的資料。兩者都應該從業務端倒推:先問承辦單位「這個系統停多久會影響民眾或法定期限」「哪一段時間的資料遺失後無法重建」,再回頭檢查現有的備份頻率與備援架構做不做得到;做不到就要調整架構或預算,而不是把目標改寬。
Q:營運持續演練一定要真的切換系統嗎?
至少要有一部分是實際操作。只在會議室依計畫書逐步講解的桌上推演,可以檢查聯絡窗口與決策流程,但驗證不了備份能不能還原、備援能不能接手。建議桌上推演與實際還原或切換交替進行,實際操作可以先在測試環境或離峰時段做,並全程計時留紀錄。