現在暗号化されている(LUKSを使用)ホストのバックアップとして使用される暗号化されていない外付けハードドライブがあります。バックアップを更新するには、ホストシステムにログインして外付けハードドライブに再同期します。明らかに、本質的に暗号化する価値のあるデータを暗号化されていないバックアップとして保持することは良い考えではありません。ただし、時間制約のため、rsyncなどのツールの助けを借りずに定期的にバックアップを更新することはできません。したがって、外付けドライブで使用されるすべての暗号化方法はrsyncと互換性がなければなりません。ただし、次の問題が発生します。
- EncFS や eCryptfs などのユーザー空間スタック可能暗号化方式は、すべて多くのスペースを占めるように見え、rsync とうまく機能しません。暗号化を担当する隠しファイルは、rsyncがあまりにも多くのファイルをコピーする必要があるため、rsyncを使用する価値がほとんどないほど頻繁に変更されるようです。
- luksipcはオプションですが、最新のドキュメントでは代わりにdm-cryptのcryptsetup-reencryptツールを使用するように指示されています。残念ながら、Arch Wikiでcryptsetup-reencryptに関するドキュメントを見つけるたびに何をすべきか、rsyncで動作するかどうかはわかりません。 cryptsetup-reencryptツールも非常に新しいようで、私のレベルの誰かが読める文書を見つけるのは難しいです。
- 通常のLUKSまたは同様のものは、前述の時間制約のためにドライブを消去し、バックアップを最初から再開できないため、オプションではありません。
- 冗長性はオプションですが、外付けハードドライブ(コピーした場所など)にある暗号化されていないファイルは暗号化できないようです。
全体的に、#2は外部ドライブを暗号化し、rsyncを介してそのドライブを最新の状態に保つという目標を達成するための最良の選択肢であるように見えますが、実際にどこから始めるべきかわかりません。ドライブを暗号化する前にドライブを消去する必要がある可能性を喜んで受け入れます。私は何か役に立つものを見逃しましたか?
ベストアンサー1
これでcryptsetup
、暗号化されていないパーティションを暗号化されたLUKSデバイスに非破壊的に変換する機能がサポートされます。サブコマンドの再暗号化。
外部ドライブにアクセスでき、ファイル/dev/sdX
システムが現在あると仮定する/dev/sdXY
と、まずファイルシステムを縮小して、LUKSヘッダー用のスペースと暗号化操作用のいくつかのスクラッチスペース(32MiB有効)を確保する必要があります。正確なコマンドはファイルシステムによって異なります(例:ext4の場合)。
e2fsck -f /dev/sdXY
resize2fs /dev/sdXY NEWSIZE
(XFSは縮小をサポートしていないため、fstransform
まず縮小が必要です...)
トリガー暗号化:
cryptsetup reencrypt --encrypt /dev/sdXY --reduce-device-size 32M
ファイルシステムを再拡張します。
cryptsetup open /dev/sdXY backup
resize2fs /dev/mapper/backup
cryptsetup close backup
(サイズパラメータがない場合、resize2fsは利用可能なすべてのスペースを使用します)
既存のファイルシステムの内容を変更しないため、rsync を引き続き使用できます。そうではなく
mount /dev/sdXY /mnt/backup
rsync -a /home /mnt/backup
umount /mnt/backup
これで、次のことを行う必要があります。
cryptsetup open /dev/sdXY backup
mount /dev/mapper/backup /mnt/backup
rsync -a /home /mnt/backup
umount /mnt/backup
時間制限について言及したので、cryptsetup reencrypt
必ずしもcryptsetup luksFormat
新しいrsyncほど速くはありません。
上記のアプローチに代わるものは、次に切り替えることです。レスティックバックアップ要件を満たしてください。 Resticはすべてのバックアップを暗号化し、増分バックアップをサポートし、非常に高速です。
外付けドライブが十分に大きい場合は、新しいサブディレクトリからResticリポジトリを初期化してResticの使用を開始できます。最初のResticバックアップが完了したら、暗号化されていない古いバックアップファイルを削除できます。最後に、あなたはしなければなりません空きスペースをクリア暗号化されていない古いバックアップファイルのすべてのトレースを破棄します。