Debian 12のスワップ領域を起動ごとに新しいキーで暗号化する

Debian 12 では、専用のスワップ パーティションをシステム起動時に毎回新しいランダム キーで暗号化できます。`/etc/debian/system.web` にランダム キー マッピングを追加し/etc/crypttab、/etc/fstabマッピングされたデバイスを指定します。以下の設定では既存のパーティションを使用するため、Debian を再インストールする必要はありません。

この手順は通常のスワップ用であり、サスペンド・トゥ・ディスク(ハイバネーション)用ではありません。シャットダウン時にキーが破棄されるため、ハイバネーションイメージは次回の起動時に復号化できません。ハイバネーションが必要な場合は、独自の再開設定を備えた永続キー設計を使用してください。

スワップ構成を変更する前に

ファイルシステムの種類が である別のパーティションを用意してくださいswap。ルートパーティション、データパーティション、または必要なファイルが含まれているディスクは使用しないでください。以下のデバイス名は例示です。ご自身のシステムに合わせて値を変更してください。

アクティブなスワップ領域を確認し、ブロックデバイスリストと照合してください。

swapon --show --output=NAME,TYPE,SIZE,USED,PRIO
lsblk -o NAME,PATH,TYPE,FSTYPE,UUID,PARTUUID,SIZE

TYPEとpartが一致FSTYPEする行を見つけますswap。その行を記録しPARTUUID、 で示されるパーティションと同じであることを確認しますswapon --show。 はPARTUUIDパーティション自体を識別し、スワップ領域が再作成されても安定したままです。スワップファイルシステムの UUID は、起動時に暗号化されたマッピングが再度初期化されるため変更される可能性があります。

Debianターミナルの出力には、アクティブなスワップパーティションとFSTYPE swapのlsblk行がリストされている。
端末出力は、アクティブなスワップデバイスを識別し、そのパーティション行をルートファイルシステムおよびデータファイルシステムから区別します。

編集する前にバックアップを取ってください/etc/fstab。パーティションが使用中の場合は、そのスワップ領域のみを無効にしてください。

sudo cp -a /etc/fstab "/etc/fstab.before-cryptswap.$(date +%s)"
sudo swapoff /dev/nvme0n1p3

検証済みのデバイスに置き換えてください/dev/nvme0n1p3。スワップを無効にすると、そこに格納されているページはすべてメモリに戻されます。コマンドが失敗した場合、またはマシンのメモリ負荷が高い場合は、ここで処理を停止し、メモリを大量に消費するワークロードを閉じ、十分なRAMが利用可能になった時点で再試行してください。

Debianターミナルに、選択したスワップパーティションでswapoffが実行されたことを示す表示
起動時の設定を変更する前に、確認済みのスワップパーティションを無効にしてください。

ランダムキーで暗号化されたマッピングを設定します

ルート権限を持つエディタでcrypttabファイルを開きます。

sudoedit /etc/crypttab

1行追加し、実際のパーティション識別子に置き換えてください。次のステップでもYOUR-PARTUUIDマッピング名を統一してください。cryptswap

cryptswap PARTUUID=YOUR-PARTUUID /dev/urandom plain,cipher=aes-xts-plain64,size=256,hash=sha1,swap

/etc/crypttab起動時にどの暗号化ブロック デバイスを作成するかを Debian に指示します。PARTUUID=ソースは、raw パーティションを指し、/dev/urandom新しいキーを提供し、plain永続的な LUKS ヘッダーなしで dm-crypt を選択し、swapcrypttab ヘルパーにマッピングされたデバイスをスワップとして初期化するように要求します。暗号、キー サイズ、ハッシュは、Debian Bookworm の crypttab の例に従って明示的に指定されます。マッピングは として表示されます/dev/mapper/cryptswap。このswapオプションは起動時にそのマッピングされたデバイスで実行されるmkswapため、その内容は起動のたびに再初期化されます。ソースは、確認済みの専用スワップ パーティションのみに指定してください。このオプションは、ファイルを保持するパーティションに向けると破壊的になります。

PARTUUID、urandom、AES-XTS、およびswapオプションを使用するcryptswapエントリを示すcrypttabファイル
crypttabエントリは、cryptswapという名前のマッピングに対して、安定したパーティション識別子と新しいランダムキーを使用します。

次に、ファイルを開きます/etc/fstab。生のスワップパーティションを有効にする古い行(現在のスワップUUIDを参照する行を含む)をコメントアウトするか削除します。代わりに、次のエントリを追加します。

/dev/mapper/cryptswap none swap sw 0 0

両方のエントリをアクティブにしたままにしないでください。暗号化されたマッピングfstabと並行して、暗号化されていないパーティションも有効になってしまう可能性があります。このファイルは起動時に有効になるスワップ領域を記述し、Debian の systemd cryptsetup ジェネレーターは/etc/crypttab対応するユニットを読み込んで作成します。Bookworm systemd cryptsetup ジェネレーターのマニュアルとDebian の fstab マニュアルを参照してください。

fstabのエントリにより、/dev/mapper/cryptswapを介したスワップが有効になり、ターミナルにはそのマッピングがアクティブとして表示されます。
マッピングが利用可能になると、fstab は生のパーティションではなく、/dev/mapper/cryptswap を介してスワップを有効にします。

再起動して暗号化されたスワップを確認する

両方のファイルを保存して再起動すると、Debianが起動時にマッピングを作成できるようになります。

sudo reboot

再度ログイン後、アクティブなスワップパスとdm-cryptマッピングの両方を確認してください。

swapon --show
sudo cryptsetup status cryptswap

スワップ一覧には/dev/mapper/cryptswap、生のパーティションではなく、 という名前が表示されるはずです。cryptsetup のステータス出力には、アクティブなプレーンマッピングと想定される基となるパーティションが表示されるはずです。この 2 番目のチェックが重要です。 にスワップエントリが表示されているswapon --showだけでは、それが暗号化されていることは証明されません。

マッピングが見つからない場合は、のスペルを照合しPARTUUID、lsblkブートログをで確認してくださいsudo journalctl -b -u systemd-cryptsetup@cryptswap.service。古い raw-device エントリがでアクティブでなくなったことを確認してください。マッピングを設定した後は、raw パーティションで直接/etc/fstabを実行しないでください。mkswap

この変更が何を保護するのかを知る

起動のたびに新しいキーが生成されるため、そのセッション中にスワップに書き込まれた内容はブロックデバイス上で暗号化され、シャットダウン後には前のセッションのキーは保持されません。これは、デバイスの電源がオフになり、ストレージが検査される可能性がある場合に便利です。ただし、ディスクの残りの部分は暗号化されず、Debianの実行中にデータを保護することも、変換前にパーティションに残っていた可能性のある平文を自動的に消去することもありません。古いスワップの内容が機密情報である場合は、その消去をストレージ固有の個別のタスクとして扱ってください。ファイルシステムレベルの再フォーマットは、特にSSDでは、安全な消去を保証するものではありません。

Debian の Bookworm インストールガイドでは、ランダムキー暗号化はスワップに適していると説明されており、再起動後に休止状態イメージを復元できない点にも注意が必要です。Debian 12 インストールガイドの encrypted-volume セクションを参照してください。アクティブなデバイスについては、上記の 2 つの検証コマンドを使用してください。マッパーがアクティブであり、そのバッキングデバイスが選択したパーティションと一致している必要があります。

コメントを残す

Ubuntu Server 24.04 上で Pi-hole アップストリーム DNS を暗号化する

Ubuntu Server 24.04 上で Pi-hole アップストリーム DNS を暗号化する

Ubuntu 24.04 上で、ローカルホスト専用のリスナー、リゾルバの選択、および DNS 切り替え前のチェック機能を備えた dnscrypt-proxy を Pi-hole のローカル DoH ブリッジとして設定します。

Wayland上でUbuntu 24.04のタッチパッドジェスチャーを動作させる方法

Wayland上でUbuntu 24.04のタッチパッドジェスチャーを動作させる方法

アプリやハードウェアのトラブルシューティングを行う前に、Ubuntuのタッチパッド設定を確認し、Waylandが有効になっていることを確認し、GNOMEに組み込まれているスワイプ操作をテストしてください。

mdadmを使用してDebian 12のRAID 1ミラーを構築する

mdadmを使用してDebian 12のRAID 1ミラーを構築する

2台のディスクで構成されるDebian 12 RAID 1データアレイを作成および検証し、安全にフォーマットした後、再起動後にアセンブルおよびマウントされるように構成します。

Debian 12のスワップ領域を起動ごとに新しいキーで暗号化する

Debian 12のスワップ領域を起動ごとに新しいキーで暗号化する

既存の Debian 12 スワップパーティションにランダムキー暗号化を設定し、アクティブな dm-crypt マッピングを確認し、ハイバネーションのトレードオフを理解する。

Ubuntu 24.04でSSHユーザーを特定のディレクトリに制限する方法(SFTP Chrootガイド)

Ubuntu 24.04でSSHユーザーを特定のディレクトリに制限する方法(SFTP Chrootガイド)

Ubuntu 24.04 の SSH アカウントを、chroot、適切なパーミッション、マッチルール、および安全なテストを使用して、指定された SFTP フォルダーに制限し、シェルアクセスを許可しないようにします。

UbuntuのAPTロックを安全に解除してアップデートを完了する

UbuntuのAPTロックを安全に解除してアップデートを完了する

Ubuntuのdpkgフロントエンドロックを所有しているプロセスを特定し、パッケージの処理を完了させ、ロックファイルを削除せずに中断されたインストールを修復します。

UbuntuデスクトップでBtrfsの自動スナップショットを設定する方法

UbuntuデスクトップでBtrfsの自動スナップショットを設定する方法

Timeshiftを使用してUbuntu Desktop上でBtrfsシステムの定期的なスナップショットを設定し、Ubuntuのサブボリュームレイアウトを確認し、保持期間を選択し、スナップショットで保護できないものを理解する。

依存関係を壊さずにDebian 12をTestingに移行する方法

依存関係を壊さずにDebian 12をTestingに移行する方法

Debian 12 から Testing へのより安全な移行を計画しましょう。Stable を経由してアップグレードし、バックアップを取り、APT ソースをクリーンアップし、依存関係の変更をシミュレートし、何が変更されたかを確認します。

Ubuntuサーバーが緊急モードで起動した場合の対処法:ステップバイステップの復旧ガイド

Ubuntuサーバーが緊急モードで起動した場合の対処法:ステップバイステップの復旧ガイド

Ubuntu Serverの緊急モードを安全に診断します。ブートログを読み取り、ルートおよびfstabマウントを確認し、障害が発生したユニットを修復し、ファイルシステムエラーを処理し、正常な再起動を確認します。

Debian 12でWireGuardポイントツーサイトVPNを設定する方法

Debian 12でWireGuardポイントツーサイトVPNを設定する方法

リモートクライアント1台用に、Debian 12 WireGuard VPNサーバーをセットアップします。キー、IPv4フォワーディング、nftables NAT、ファイアウォールアクセス、接続チェックを設定します。