ミントをベースにプロトタイプを作っています。ミントのインストール+インストールと構成用のパッケージ。プロトタイプは、荒い感じのコンピュータをベースに作られています。
私は以下を計画しています:
他の多くのファイルに似たシステムでディスクを複製します。
システムとファイルを隠すためにディスクを暗号化します(dm-crypt、LUKS)。
インストールされているシステムでは、LUSK暗号化を簡単に実行できないことがわかりました。このプロセスを「自動」にする方法はありますか?私の言葉は、同じ実行でシステムを暗号化して複製する方法です。
答え1
内部暗号化を実行することは可能ですが、次のことを強くお勧めします。バックアップする最初。私は書いた実験的私が呼ぶツール地下室で生(暗号化されていない)、一般(dm-crypt)、およびLUKS形式間で変換できます。
暗号化されていないデバイスをLUKSに変換するには、ヘッダーをインストールできるように、最初に約2MiBのスペースを許可するようにデバイスの既存のデータを移動する必要があります。または、ヘッダーを取り外して別のデバイス(USBキーなど)に保存することもできます。
別々のLUKSヘッダーを使用するか、通常モードdm-cryptを選択すると、データを移動する必要がなく、所定の場所で変換できます。
理論を例として書きました。ここ右シフトとその固有の問題についても読むことができます。この問題。
dd
要約すると、デフォルトのrawデバイスからコピーするdm-cryptデバイスマッパーを使用して内部暗号化を実行できます。
$ cryptsetup open "${raw_device}" crypt_device --type plain ${cryptsetup_args}
$ dd if="${raw_device}" conv=notrunc of=/dev/mapper/crypt_device
$ cryptsetup close crypt_device
(変数は、環境に関連するパラメータを提供するためのプレースホルダです。これの詳細については、上記のスクリプトとリンクされたページで説明されています。)
これは危険な仕事です- 途中で失敗したら(停電、太った指などの理由で)配ったのです。まずバックアップしてください。
言葉を使ったので参考にしてくださいサポート、実験的そして理論。警告、など!
答え2
おそらく最も簡単な方法は、LUKS暗号化が有効なマスターイメージを作成して設定することです。
もちろん、このマスターディスクのみを複製すると、すべてのデバイスが同じ暗号化キーを共有するため、これはうまくいきません。
しかし、あなたはできます。再暗号化暗号化されたLUKSパーティション。
したがって、次のワークフローをスクリプトできます。
dd
マスターイメージを新しいドライブにコピー/dev/sdX
- 既存のデバイスのUUIDを取得します。
cryptsetup luksUUID /dev/sdXY
- 再暗号化:
cryptsetup reencrypt /dev/sdXY
- UUIDを古いUUIDにリセットします。
cryptsetup luksUUID --uuid $olduuid /dev/sdXY
起動中にロックを解除するには、グラブ設定および/またはinitramfs(dracutなど)にUUIDが組み込まれているため、UUIDのリセットが必要です。
または、これらの場所のUUIDを更新する必要があります。
マスターイメージを複製する頻度によっては、別のプロセスを使用したい場合があります。これは、cryptsetupの再暗号化方法が必ずしも最速の方法ではないからです。
LUKSで暗号化されたマスターイメージを完全に再構成して起動できます。
このイメージではダンプパーティションテーブルを使用できますsfdisk -d
。次に、暗号化されていないすべてのイメージを別々のファイルにダンプします(通常はブートパーティションです)。最後に、マスターcryptsetup open
イメージからシステムパーティションを作成し(たとえば、デバイスループを介して)、そのコンテンツを別のイメージファイル(たとえばroot.img
)にダンプします。
これらの部分が適切な場所にある場合、複製プロセスは次のようになります。
- デバイスのパーティション分割
< part.dump sfdisk /dev/sX
dd
暗号化されていないパーティション - はい -/dev/sX1
- システムパーティションをフォーマットします。
cryptsetup luksFormat --uuid $olduuid /dev/sXY
- 新しいLUKSデバイスを開く
dd
root.img
新しいLUKSデバイス
答え3
LVMでない場合は、最初にLUKSヘッダー(2MiB)のスペースを確保するためにすべてのデータを移動する必要があります。したがって、これは簡単でリスクのないプロセスではありません。