回答
自分のサーバーでランサムウェアに強いイミュータブルなバックアップを作るには?
自分のサーバーでランサムウェアに強いイミュータブルなバックアップを作るには、バックアップクライアントに書き込みアクセスを与え、削除権限は与えないことです:append-onlyのresticまたはBorgリポジトリ、Veeamのハードニングリポジトリ、または別アカウントによるZFSスナップショットです。Basaltholdは30日あたり$110.99からサーバーをレンタルします(2 November 2026の価格)、暗号資産、KYC不要。
自分で管理するサーバーでバックアップをロックする方法はどれですか?
| 方法 | バックアップ対象のマシンができないこと | なお削除できるのは誰か | 確認時期 |
|---|---|---|---|
rest-serverを使ったrestic --append-only | 既存のバックアップの削除または変更 | フラグなしで接続する管理者。サーバーのroot | rest-server README |
borg serve --append-onlyを使ったBorg | コミット済みデータの上書きまたは削除 | 通常モードでの後からのpruneまたはcompact。root | Borg 1.4.5 docs |
| Proxmox Backup Server、DatastoreBackupロール | 自身のバックアップをpruneすること | DatastorePowerUserまたはDatastoreAdminを持つユーザー。root | PBS 4.2 docs |
| Veeamハードニングリポジトリ | 7~9999日間のファイルの移動、変更、削除 | リポジトリサーバーのroot | Veeam B&R 13ガイド |
| S3 Object Lock、コンプライアンスモード | ロックされたバージョンをその日付より前に削除または変更すること | MinIOによれば、rootユーザーを含め誰も不可 | MinIOとKopiaのdocs |
| 別アカウントによるZFSスナップショット | スナップショットを変更する(読み取り専用) | destroy権限を持つアカウント(保留が解除された後) | OpenZFS manページ |
2026年11月2日に読んだドキュメント。
バックアップにとってimmutableとはどういう意味ですか?
サーバーを乗っ取ったランサムウェアは、通常そのサーバーに保存されているバックアップの認証情報も奪います。その認証情報で古いバックアップを削除できる場合、攻撃者は暗号化する前にそれらを削除します。
immutableなバックアップはその扉を閉ざします。バックアップ対象のマシンは新しいデータを追加できますが、そのマシン上にあるものは古いバージョンを削除も書き換えもできません。アクセス権で強制する方法もあれば、有効期限付きのロックで強制する方法もあります。
保護するマシンが自分のバックアップを削除できるなら、そのマシンを乗っ取った者も削除できます。
resticとBorgはappend-onlyモードでどう動作しますか?
resticのrest-serverには--append-onlyフラグがあります。READMEには、このモードでは新しいバックアップを許可するが既存のバックアップの削除と変更は防ぐと書かれています。pruneは、フラグを付けない2つ目のインスタンス経由で管理マシンから行うか、サーバー自体で行います。
Borgはauthorized_keysの強制コマンド、またはリポジトリの設定でappend_only = 1を使ってこのモードを強制します。ドキュメントには制限が明記されています。
borg deleteとborg pruneは引き続き実行されます。それらはデータを削除済みとしてマークするだけです。- 通常モードでの次の書き込みでそのデータは完全に削除されるため、自動pruneを行うとこのモードは意味をなしません。
- append-onlyリポジトリをpruneする前に
borg checkを実行してください。 rmはファイルに対して引き続き機能するため、クライアントはborg serve経由でのみリポジトリにアクセスする必要があります。
両ツールの比較はオフサイトバックアップ向けのresticかBorgかにあります。
# restic: rest-server, one private repository per user
rest-server --path /tank/restic --append-only --private-repos --tls \
--tls-cert /etc/rest-server/cert.pem --tls-key /etc/rest-server/key.pem
# Borg: in ~backup/.ssh/authorized_keys, one line per client key
command="borg serve --append-only --restrict-to-path /tank/borg/web1",restrict ssh-ed25519 AAAA... web1Proxmox Backup ServerとVeeamはどうやってバックアップをロックしますか?
Proxmox Backup Serverはロールで動作します。DatastoreBackupを持つユーザーは自分のバックアップの作成と復元ができますが、pruneにはDatastorePowerUserが必要です。ガベージコレクションもチャンクを削除するまで24時間5分待機します。オフサイトサーバーがプルする同期ジョブと組み合わせれば、自宅側にオフサイトのログイン情報を置かずに済みます。設定の全体はレンタルサーバー上のオフサイトProxmox Backup Serverにあります。
Veeamのhardened repositoryは時間で動作します。ファイルは7〜9999日間immutableのままで、Veeamのサービスをインストールした認証情報は保存されていませんでした。レンタルマシンでの手順はレンタルLinuxサーバー上のVeeam hardened repositoryにあります。
自分のサーバーでS3 Object Lockを使えますか?
S3サーバーがそれを実装している場合に限ります。そして最も知られている2つのオープンソースの選択肢では異なります。
- MinIOは、バージョニングされたバケットでのオブジェクトロックをGOVERNANCEまたはCOMPLIANCEモードでドキュメント化しています。COMPLIANCEモードでは、rootユーザーを含め谁もロックされたバージョンを変更できません。しかしMinIOのコミュニティリポジトリは2026年4月25日にアーカイブされ、もはやメンテナンスされておらず、ソースコードのみで提供されています。
- Garageは、S3互換性ページでObject Lockとバケットのバージョニングを未対応として挙げています。
クライアント側では、KopiaがObject Lockをサポートしています。バケットの作成時に有効にする必要があり、Kopiaはcomplianceモードを推奨しています。もう1つの助言はどこでも通用します。削除権限のないアクセスキーを使うことです。その他のS3サーバーの比較はセルフホストS3向けのMinIOの最良の代替にあります。
ZFSスナップショットはバックアップを自身のクライアントからどう守りますか?
クライアントには通常のアカウントとしてSFTPまたはrsyncで書き込ませ、rootにスナップショットを取得させます。OpenZFSはスナップショットをファイルシステムの読み取り専用コピーと説明しています。クライアントのアカウントにはzfs allow経由でのdestroy権限がないため、スナップショットを削除できません。
holdは2つ目のロックを追加します。スナップショットにholdがある間、誰かがholdを解除するまでそのスナップショットへのzfs destroyはEBUSYで失敗します。
クライアントが書き込むデータセット上でrootが取得したスナップショットは、あらゆるrsyncやSFTPのターゲットをバージョン管理されたappend-onlyのものに変えます。
snap=tank/backup@$(date +%F)
zfs snapshot "$snap"
zfs hold keep "$snap"
zfs holds "$snap" # lists the hold named keepレンタルサーバー上でimmutableなバックアップを削除してしまうものは何ですか?
2つあり、どちらもバックアップソフトウェアの外側にあります。
- バックアップサーバーのroot。 上記のどの方法も最終的にはrootに屈します。rootはバックアップ対象のマシンに決して置かないキーで管理し、SSHは管理者のアドレスに限定してください。
- レンタル自体。 各サーバーは暗号資産の残高から前払いで支払われ、チェックアウト時に選択した30日、3か月、6か月、または12か月の期間で利用できます。自動更新では、ダッシュボードで次回更新の期間を別に設定しない限り、開始時の価格で同じ期間が再度課金されます。残高が不足すると、サーバーは契約期間の終了時に停止し、ドライブは7日間保持された後に消去されます。再起動、再インストール、キャンセルはダッシュボードでリクエストし、チームが処理します。再インストールはデータドライブを含むすべてのドライブを消去します。支払った期間より長いロックは何も守りません。
ストレージサーバーはそれ自体のバックアップではありません。当社はお客様のデータのコピーを他のどこにも保持しないため、別の場所への2つ目のコピーはお客様の対応となります。ロックされたバージョンも早期にpruneできないため、プールは保持するバージョンごとに増えていきます。Basaltholdの2 November 2026の調査では、72 TB以上のストレージサーバーは、KYC不要で暗号資産を受け付けるホストで1 TBあたり月額中央値$4.86でした。 Hold 100はrawで$3.77/TBかかります。最長12か月の期間はholdの価格表にあります。
immutableなバックアップについて他にどんな質問がありますか?
append-onlyリポジトリはimmutableなものと同じですか?
近いですが同じではありません。append-onlyはクライアントがデータを削除または書き換えるのを防ぎます。Veeamのhardened repositoryやcomplianceモードのS3 Object Lockのようなタイムロックは、その日付が過ぎるまで管理者も防ぎます。
RAIDやZFSミラーでバックアップはimmutableになりますか?
いいえ。冗長化は削除を含むすべての変更を全ドライブにコピーします。immutabilityには、バックアップ対象のマシンが削除できないバージョン、つまりスナップショット、append-onlyリポジトリ、タイムロックが必要です。
PC上のランサムウェアはサーバー上のZFSスナップショットに到達できますか?
バックアップアカウントにそのデータセットへのdestroy権限がなければ、そのアカウント経由では到達できません。スナップショットは読み取り専用です。サーバー上のroot、またはあなたがdestroy権限を委任したアカウントだけが削除できます。
バックアップはどのくらいロックしておくべきですか?
侵入が発覚せずに続く可能性のある期間より長く、支払った期間より短くしてください。Veeamでは7〜9999日を指定できます。30日のレンタルに30日のロックでは余裕がありません。より長くレンタルしてください。
Basaltholdはサーバーが消去された場合にコピーを保持しますか?
ストレージサーバーはそれ自体のバックアップではありません。当社はお客様のデータのコピーを他のどこにも保持しないため、別の場所への2つ目のコピーはお客様の対応となります。別の場所に2つ目の独立したコピーを保管してください。
クライアントが古いバックアップを削除できないサーバー
Hold 100:$377.05/30日ならIntel Xeon Silver 4210R(10コア / 20スレッド)、128 GB DDR4 ECC、10 × 10 TB ハードディスク(100 TB Raw)に加えてシステム用の 2 × 480 GB SSD(ミラーリング)、1 Gbit/s ポートで30日あたり120 TBのトラフィック、1 IPv4 と IPv6 /64、または12か月間$3,167.22。暗号資産で支払い、KYC不要。
- DomaineGoat LLC、パナマ登記
- 23社のストレージ販売者の価格を2026年11月2日に調査
- KYC不要、書類不要
- 暗号化キーはお客様のものです
出典 (10)
- rest-server README(--append-only) — restic on GitHub (read 2026-11-02)
- 補足:append-onlyモード(Borg 1.4.5) — BorgBackup documentation (read 2026-11-02)
- ユーザー管理:ロール pbs.proxmox.com/docs/user-management.html — Proxmox Backup 4.2 documentation (read 2026-11-02)
- メンテナンスタスク:ガベージコレクション pbs.proxmox.com/docs/maintenance.html — Proxmox Backup 4.2 documentation (read 2026-11-02)
- Hardened Repositoryとimmutabilityの仕組み(Veeam Backup & Replication 13) — Veeam Help Center (read 2026-11-02)
- オブジェクトロックと保持 — MinIO documentation (read 2026-11-02)
- minio/minioリポジトリ(2026年4月25日にアーカイブ) — MinIO on GitHub (read 2026-11-02)
- S3互換性の状況 — Garage (read 2026-11-02)
- ランサムウェア対策 — Kopia documentation (read 2026-11-02)
- zfsconcepts(7)、zfs-allow(8)、zfs-hold(8) — OpenZFS (read 2026-11-02)