バックアップは嘘をつかない
- 山崎行政書士事務所
- 5月13日
- 読了時間: 14分

――山崎行政書士事務所事件簿
ランサムウェア訓練の日、山崎行政書士事務所には、いつもと違う緊張があった。
理由は明白だった。
訓練先の会社、駿河パーツ物流から、朝一番に届いたメールの件名がこうだったからである。
【至急】復元テスト記録が空欄です
山崎所長は、湯飲みを片手に言った。
「空欄は、時に黒塗りより怖いね」
陽翔はノートPCを開き、眉を寄せた。
「ランサムウェア訓練当日に復元記録が空欄。これは、訓練というより本番に近いです」
さくらは、なぜか大きなトートバッグを抱えていた。
「大丈夫です。非常食の賞味期限表は完璧です」
陽翔が顔を上げる。
「今、バックアップの話をしています」
「BCPですよね? 水、アルファ米、ようかん、乾パン、全部一覧化しました。期限、保管場所、担当者、入替予定、味の好みまで」
山崎は感心した。
「味の好みまで?」
「社長は梅がゆが苦手です」
「それは重要な事業継続情報だね」
陽翔は真顔で言った。
「ですが、サーバーは梅がゆでは復旧しません」
駿河パーツ物流の会議室に着くと、空気は硬かった。
机の上には、分厚いBCPファイル。隣に、DR手順書。さらにその横に、Azure Backup設計書。そして一番上に、問題の紙。
復元テスト記録
そこには、項目だけが並んでいた。
実施日。対象システム。復元先。復元データ世代。開始時刻。完了時刻。所要時間。確認者。結果。改善点。
すべて空欄だった。
情報システム課長の大石は、額に汗を浮かべていた。
「バックアップは取れています。毎日、成功メールも来ています。だから問題ないと思っていました」
陽翔は静かに言った。
「バックアップ成功と、復元成功は別です」
会議室が沈黙した。
山崎が穏やかに言う。
「冷蔵庫に食材があることと、夕飯が食べられることは違う、ということだね」
さくらがすぐに頷いた。
「しかも賞味期限が切れていたら大変です」
大石は、さくらを見た。
「非常食の方は、総務の方が完璧で……」
総務担当の真野が、誇らしげにファイルを出した。
非常食・備蓄品管理表
水、五百ミリリットル、二百四十本。アルファ米、三百食。ようかん、百二十本。簡易トイレ、五百回分。乾電池、単三・単四、世代管理済み。賞味期限、入替予定、担当者、棚番号。
陽翔はその表を見て、少し笑った。
「これはすごいです」
真野は胸を張った。
「災害時に空腹だと判断を誤りますから」
山崎は深く頷いた。
「真理です」
陽翔は、復元テスト記録の空欄を指した。
「では、サーバーが空腹になる前に、こちらも同じくらい管理しましょう」
1 訓練開始、ただし手順は眠っている
午前十時。
ランサムウェア訓練が始まった。
想定はこうだ。
朝、基幹システムの一部ファイルが暗号化され、出荷指示データが読めない。感染拡大を防ぐため、対象サーバーをネットワークから隔離。前日夜のバックアップから、検証環境へ復元。データ確認後、復旧手順を判断する。
大石が訓練開始を宣言した。
「では、DR手順書に沿って復旧します」
彼がファイルを開いた瞬間、さくらが小さく声を上げた。
「手順書、きれいですね」
山崎が覗き込む。
「本当だ。折り目がない」
陽翔の顔が曇った。
「一度も使っていない紙の顔をしています」
大石は苦笑した。
「作った時は、これで安心だと思ったんです」
陽翔はAzureポータルの画面を見ながら確認した。
「Recovery Services Vaultはあります。バックアップポリシーもあります。日次バックアップも成功しています。復旧ポイントも複数世代あります」
大石はほっとした。
「でしょう?」
「でも、復元テスト記録がない。復元先の検証環境も、今は停止中。誰が復元後の業務データを確認するかも書かれていません」
真野が非常食表を見ながら言った。
「それは、非常食でいうと“倉庫に米はあるが、炊き方と配る人が決まっていない”状態ですか?」
陽翔は頷いた。
「かなり近いです」
山崎が感心した。
「真野さん、BCP翻訳者ですね」
その時、会議室のモニターが点滅した。
バックアップジョブ一覧に、緑の成功マークが並んでいる。
大石が言った。
「バックアップは嘘をつきません」
陽翔は画面を見つめた。
「はい。だから、こちらの思い込みも隠してくれません」
2 消えた第七世代
訓練では、前日二十三時の復旧ポイントから戻す予定だった。
しかし、復旧ポイント一覧を見た陽翔の手が止まった。
「おかしいです」
「何がですか?」
「復旧ポイントはあります。ただ、世代管理表と合っていません」
世代管理表には、こう書かれていた。
一世代前、前日二十三時。二世代前、二日前。三世代前、三日前。七世代前、一週間前。
しかし、実際の一覧では、七世代前の復旧ポイントが見当たらない。
大石が青ざめた。
「消えた?」
さくらが小声で言った。
「怪談ですか?」
山崎は真顔で言った。
「バックアップ七不思議だね」
陽翔は、すぐにログを確認した。
「いえ、怪談ではありません。ポリシーが変わっています。保存期間が七日から五日に短縮されています」
大石は驚いた。
「誰が?」
画面には、変更者が表示されていた。
ops-temp-admin
臨時管理者。
会議室の温度が下がった。
大石が叫ぶ。
「臨時管理者? そんなアカウント、今は使っていません」
陽翔は静かに言った。
「犯人探しの前に、変更理由を追います」
変更日は、二か月前。その日は、バックアップ容量のコスト削減会議の翌日だった。
経理部長の村上が、気まずそうに手を挙げた。
「私が、容量を減らせないか相談しました」
大石が振り向く。
「でも、ポリシー変更は情シスが……」
「はい」
奥から、若手担当の小田が小さく言った。
「僕です。臨時管理者で入りました。保存期間を短くすればコストが下がると思って。でも、復旧目標に影響するとは思っていませんでした」
山崎は小田を責めなかった。
「コストを見る人と、復旧を見る人が別々に話していたんですね」
陽翔は頷いた。
「バックアップの世代管理は、費用だけでは決められません。ランサムウェアでは、暗号化に気づくまで時間がかかることもあります。直近だけでなく、いつの時点へ戻すかを考える必要があります」
小田はうつむいた。
「すみません」
さくらが、非常食表を開いた。
「うちも、ようかんを安いものに変えたら、社長が食べられなくて備蓄計画を見直しました」
大石がぽかんとした。
山崎は言った。
「同じです。コスト削減は大事。でも、使えない備蓄は備蓄ではない」
会議室に、少しだけ笑いが戻った。
3 分離保管の扉
訓練は続いた。
次に確認したのは、分離保管だった。
陽翔は尋ねた。
「バックアップの管理権限は、本番環境の管理者と分かれていますか?」
大石は答えに詰まった。
「同じ管理者グループです」
「ランサムウェアや侵害を想定するなら、本番を壊せる人が、バックアップも消せる状態は危険です」
山崎が言った。
「泥棒が金庫の鍵と、金庫の予備鍵と、金庫の取扱説明書を全部持っている感じかな」
「そうです」
陽翔は、Recovery Services Vaultの設定を見た。
削除保護。権限。バックアップポリシー。保管冗長性。アラート。復元操作の承認手順。
「分離保管といっても、物理的に遠くへ置くだけではありません。権限分離、削除保護、変更時の承認、通知、別管理者による確認が必要です」
真野が真剣にメモを取っていた。
「非常食倉庫の鍵も、総務だけでなく防災責任者と二重管理にしています」
陽翔は思わず笑った。
「それ、良い考え方です」
その時だった。
会議室のスピーカーから、突然アラート音が鳴った。
復元ジョブに失敗しました。
全員が固まった。
大石が画面に飛びつく。
「なぜだ!」
陽翔はエラーを読む。
「復元先の検証ネットワークに、必要な権限がありません」
小田が青くなった。
「検証環境、先月の棚卸しで止めました。使っていないと思って」
山崎が呟いた。
「また、使っていないと思ったものが、いざという時に主役になる」
復元は、開始すらできなかった。
復元テスト記録が空欄だった理由が、少しずつ姿を現していた。
誰も、実際に最後まで動かしていなかったのだ。
4 七時間十二分
復元先ネットワークの権限を直し、検証環境を起動し、復元を再開した時には、すでに正午を過ぎていた。
訓練の目標復旧時間、RTOは四時間。
つまり、午後二時までに出荷指示データを確認し、業務再開判断をする必要がある。
しかし、復元ジョブは遅かった。
進捗、二十一パーセント。三十四パーセント。四十八パーセント。
さくらは、非常食のようかんを配り始めた。
「糖分を入れましょう。これは賞味期限まであと九か月あります」
山崎が受け取った。
「証跡は?」
さくらは胸を張った。
「配布数、記録します」
陽翔は笑いかけたが、すぐ画面に戻った。
午後二時。
復元は終わっていなかった。
RTO、未達。
大石は唇を噛んだ。
「訓練でよかった」
陽翔は静かに言った。
「はい。訓練で未達がわかったのは、失敗ではなく成果です」
午後四時二十七分。
復元完了。
しかし、業務担当者が確認すると、出荷指示データの一部が前日の夕方時点だった。
「二十三時バックアップのはずでは?」
陽翔が確認する。
「アプリケーション側のバッチ処理が二十二時半に走っていて、最新データの一部は別DBにありました。そのDBはバックアップ対象外です」
会議室が、再び凍った。
出荷管理システムは一つに見えていた。しかし、実際には本体DB、帳票DB、バッチ用一時DB、ファイルストレージが分かれていた。
バックアップ対象は、本体DBだけだった。
山崎が低く言った。
「夕飯の材料は戻ったけれど、炊飯器の中身を忘れたわけだ」
真野が真剣に頷いた。
「かなり困ります」
午後五時十二分。
不足していたDBとストレージの関係を整理し、手動でデータ確認を終えた。
開始から、七時間十二分。
目標四時間に対し、三時間十二分の超過。
復元テスト記録の空欄には、初めて数字が入った。
結果:RTO未達。改善必要。
大石は、その文字を見て、深く息を吐いた。
「恥ずかしいですね」
陽翔は首を振った。
「いいえ。これが本当のBCPの始まりです」
5 空欄は責めない、埋める
夕方、会議室のホワイトボードには、改善点が並んでいた。
一、復元テストを四半期ごとに実施する。二、対象システムごとに、バックアップ対象を棚卸しする。三、本体DBだけでなく、関連DB、ストレージ、設定ファイルも確認する。四、復旧時間目標と、実測復旧時間を記録する。五、世代管理は、ランサムウェア発見遅延も考慮して見直す。六、Recovery Services Vaultの権限を本番管理者と分離する。七、削除保護、変更通知、承認手順を整える。八、検証環境の復元先ネットワークを維持し、停止時の再開手順を残す。九、訓練時に業務部門がデータ確認する。十、非常食のように、バックアップにも棚卸し担当者を置く。
さくらが最後の一行に星印を付けた。
「非常食方式ですね」
大石が笑った。
「正直、最初は非常食の話を聞いて場違いだと思いました」
真野が腕を組んだ。
「失礼ですね。非常食は命です」
「すみません。でも、今はわかります。管理されているものは、いざという時に使える。管理されていないものは、祈るしかない」
山崎がうなずいた。
「祈りは大切ですが、手順書の代わりにはなりません」
陽翔は、BCPファイルの表紙を開いた。
そこには、立派な文字でこう書かれていた。
当社は、災害・サイバー攻撃発生時にも、速やかに業務を復旧する。
陽翔は、その下に付箋を貼った。
速やかに、ではなく、四時間以内。ただし、現状実測は七時間十二分。改善後、再訓練する。
大石はその付箋をじっと見た。
「きついですね」
「はい。でも、嘘ではありません」
「バックアップは嘘をつかない、ですか」
陽翔は頷いた。
「バックアップも、訓練記録も、正直に書けば会社を守ります。よく見せるために書くと、会社を危なくします」
6 小さな嘘の正体
帰り支度を始めた頃、事件は最後の展開を見せた。
さくらが、非常食管理表と復元テスト記録を並べて、首をかしげた。
「この字、同じですね」
「字?」
復元テスト記録の空欄の下に、薄く消し跡があった。
そこには、鉛筆で一度だけ書かれた文字が見えた。
未実施
だが、消されていた。
山崎が静かに言った。
「誰かが、未実施と書いて、消した」
会議室に、再び緊張が戻った。
大石が目を伏せた。
「私です」
全員が彼を見た。
大石は苦い顔で続けた。
「去年、復元テストをやろうとしたんです。でも、業務が忙しくて延期しました。記録に“未実施”と書いたら、監査で怒られると思って……空欄に戻しました」
山崎は責めなかった。
「空欄なら、怒られないと思った?」
大石は小さく頷いた。
「はい。でも、今日わかりました。空欄の方が怖いですね」
陽翔は言った。
「未実施は状態です。空欄は不明です。不明は、誰も判断できません」
さくらが、非常食表を見せた。
「うちの備蓄表にも、“未購入”があります。未購入なら買えます。でも空欄だと、あるのかないのかわかりません」
大石は、少し笑って、そして頭を下げた。
「本当に、その通りです」
山崎は言った。
「会社を守る書類は、立派に見せるものではなく、困った時に人を迷わせないものです」
大石は、復元テスト記録の結果欄に、自分の手で書いた。
前回:未実施。今回:実施。RTO未達。改善計画あり。
その文字を見て、会議室の空気が変わった。
小さな嘘は、消しゴムの跡に残っていた。
しかし、それは誰かを罰するための証拠ではなかった。
これから動く手順へ変えるための、最初の印だった。
7 動く手順
一か月後、駿河パーツ物流では、二回目の復元訓練が行われた。
今回は違った。
復元対象は、システム単位ではなく、業務単位で定義されていた。
出荷指示業務。必要なデータ。本体DB。帳票DB。一時DB。ストレージ。設定ファイル。アクセス権。復元後の確認担当。代替手作業の限界時間。
Recovery Services Vaultの権限は分離された。世代管理は見直された。バックアップ削除やポリシー変更時には、複数人へ通知されるようになった。検証環境の起動手順も、スクリーンショット付きで整備された。RTOは四時間のまま。ただし、今回は三時間四十八分で復元確認まで完了した。
大石は、復元テスト記録に書き込んだ。
結果:RTO達成。改善継続。
真野は隣で、非常食の賞味期限表を更新していた。
「ようかんも入替完了です」
さくらは感動したように言った。
「完璧です」
陽翔は笑った。
「サーバーも、ようかんも、棚卸しが大事ですね」
山崎は湯飲みを持って言った。
「BCPとは、非常時に読む作文ではなく、平時に動かす稽古なんだね」
大石は頷いた。
「はい。書いてあるだけでは復旧しない。動かして初めて、穴が見える」
小田も、少し明るい顔で言った。
「保存期間を変える時は、費用だけでなく復旧目標も見ます」
真野が言った。
「非常食を変える時も、好みだけでなくカロリーを見ます」
山崎は感心した。
「今日の教訓は、だいぶおいしそうだ」
山崎行政書士事務所へ戻る車の中で、さくらは非常食管理表を大事そうに抱えていた。
陽翔は、復元テスト記録のコピーを見ていた。
山崎が尋ねる。
「陽翔くん、今回の犯人は誰だったと思う?」
陽翔は少し考えた。
「犯人はいません。ただ、“書いてあるから大丈夫”という思い込みがありました」
さくらが続けた。
「あと、“未実施”を空欄にした小さな嘘」
山崎はうなずいた。
「でも、空欄は埋まった」
陽翔は、窓の外を見た。
「はい。バックアップは嘘をつきませんでした。嘘をついたのは、人間がバックアップに期待しすぎたことです」
事務所に戻ると、山崎はホワイトボードに一行を書いた。
バックアップは、取るものではなく、戻すもの。
さくらがその下に書き足した。
非常食は、置くものではなく、食べられるもの。
陽翔は、さらに書いた。
BCPは、飾るものではなく、動かすもの。
山崎行政書士事務所に、穏やかな笑い声が広がった。
ランサムウェア訓練は、失敗から始まった。復元テスト記録は空欄だった。RTOは未達だった。世代管理は崩れていた。分離保管は不十分だった。検証環境は止まっていた。
けれど、会社はそこで終わらなかった。
空欄を責めず、埋めた。未達を隠さず、測った。手順を飾らず、動かした。
そして、バックアップは静かに教えてくれた。
「私はここにある。でも、戻す道は、人間が作らなければならない。」
作中の実務背景
確認日:2026年5月13日。
Azure Backupは、Microsoft Azureクラウドからデータをバックアップし復旧するためのサービスとして説明されています。Recovery Services Vaultは、時間の経過に伴って作成されるバックアップと復旧ポイントを保存し、保護対象VMに関連付けられたバックアップポリシーも含む保管場所です。
Microsoft LearnのAzure Backup信頼性資料では、Recovery Services Vaultのストレージ冗長性はワークロード保護前に構成する必要があり、保護後は設定がロックされ変更できないと説明されています。作中の「後から慌てて設計を変えられない」「事前に世代管理・冗長性・復旧目標を決める」という流れは、この実務背景を踏まえています。
IPAの「情報セキュリティ10大脅威 2025」は、ランサム攻撃への対策として、適切なバックアップ運用、具体的には取得・保管・復旧訓練を行うこと、またWORM機能等によるバックアップ自体の暗号化対策を挙げています。作中の「バックアップ成功だけでなく復元訓練が必要」という主題は、この点を物語化したものです。
経済産業省の「サイバーセキュリティ経営ガイドライン Ver 3.0」は、インシデントによる業務停止等に備え、いつまでに復旧すべきかを特定し、復旧手順書や復旧対応体制を整備することを求めています。作中のRTO、DR手順、BCPを“書いてあるだけ”から“動く手順”へ変える展開は、この考え方を基にしています。





コメント