SUSE Enterprise ServerでLUKSを使用して暗号化ボリュームを設定する方法

SUSE Linux Enterprise Server で暗号化されたデータ ボリュームを設定するには、作業を 2 つのレイヤーに分けると簡単です。LUKS (Linux Unified Key Setup) は、ディスクやパーティションなどのブロック デバイスを保護します。そのデバイスのロックを解除すると、Linux は の下に通常のマップ デバイスを公開し/dev/mapper/、そこでファイルシステムを作成して他のストレージと同様にマウントできます。

/dev/sdbこのガイドでは、例として専用のセカンダリディスクを使用します。マウントされたボリュームは に表示され/data/secure、ロック解除されたマッピングは と呼ばれますsecuredata。これらの名前を、ご使用のサーバー上の値に置き換えてください。

バージョンに関する注記:以下のコマンドライン ワークフローは、 を含む現在の SUSE Linux Enterprise Server リリースに適していますcryptsetup。2026 年に公開された SUSE Linux Enterprise Server 16.0 のドキュメントには Cockpit での暗号化ストレージのサポートが含まれていますが、SLES 15 SP7 セキュリティおよび強化ガイドには YaST での LUKS ベースの暗号化パーティションに関するドキュメントがあります。ここでは、各ストレージ レイヤーが可視化され、トラブルシューティングが容易になるため、CLI ルートを使用しています。ベンダーのドキュメントについては、 SUSE Linux Enterprise Server 16.0 のドキュメントとSLES 15 SP7 暗号化ガイドを参照してください。

LUKSの機能と非機能

LUKSは、暗号化されたブロックデバイス用の標準的なLinuxディスクフォーマットです。暗号化メタデータをLUKSヘッダーに格納し、1つの暗号化ボリュームに複数のロック解除認証情報を持たせることができます。cryptsetup明示的に別のフォーマットを指定しない限り、通常はLUKS2が作成されます。

暗号化は保存されているデータを保護します。電源がオフになっているディスクが盗まれた場合、有効な鍵またはパスフレーズがなければ、暗号化されたペイロードを読み取ることはできません。しかし、ボリュームのロックが解除されてマウントされると、通常のLinuxパーミッションによってアクセスが制御されます。LUKSは、マウントされたファイルシステムへの正当なアクセス権を既に持っているプロセスからファイルを保護しません。

始める前に

破壊的なストレージコマンドを実行する前に、以下の項目を準備してください。

  • 専用の空のディスクまたはパーティション。このガイドでは を使用します/dev/sdb。
  • ルートアクセス、sudoまたはルートシェル。
  • ユーティリティcryptsetupを確認してくださいcryptsetup --version。インストールされていない場合は、通常のSUSEソフトウェア管理プロセスを通じてパッケージをインストールしてください。
  • 組織が承認した認証プロセスを通じて復元できる、強力なパスフレーズ。
  • 対象デバイス上の重要なデータの最新バックアップ。

重大な警告: cryptsetup luksFormat新しいLUKSヘッダーが書き込まれるため、対象デバイス上の既存のデータにアクセスできなくなります。また、SUSEは、実行中のシステム上で既存のパーティションを暗号化ストレージに変換すると、そのパーティション上のデータが破壊されると警告しています。対象デバイスを確実に特定するまで、処理を続行しないでください。

ステップ1:正しいディスクを特定する

まず、ブロックデバイスの一覧を表示します。

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINTS
lsblk -f

サイズ、デバイス名、既存のファイルシステム、マウントポイントを確認してください。この例では、は/dev/sdbマウントされたファイルシステムのない別の20GBディスクです。サーバーによっては、代わりになどのパーティション/dev/sdb1、などのNVMe名/dev/nvme1n1p1、またはなどの仮想ディスクを使用する場合があります/dev/vdb。

SUSE Linuxターミナルにlsblkの出力が表示されており、暗号化対象として別の/dev/sdbディスクが選択されている。

キャプション:LUKSフォーマットコマンドを実行する前に、対象デバイスの名前、サイズ、マウント状態を確認してください。

ディスクを文字だけで識別しないでください。ハードウェアや仮想マシンの構成変更後には、デバイス名が変わる可能性があります。破壊的なコマンドを実行する前に、lsblkストレージインベントリ、ハイパーバイザ設定、またはSANプレゼンテーション情報と比較してください。

ステップ2:LUKSを使用してデバイスを初期化する

暗号化コンテナを作成します。

sudo cryptsetup luksFormat /dev/sdb

luksFormatLUKSメタデータを初期化し、確認とパスフレーズの入力を求めます。現在のcryptsetupはデフォルトでLUKS2に設定されています。実行結果は後から確認できます。

sudo cryptsetup luksDump /dev/sdb
SUSE Linuxターミナルで/dev/sdbに対してcryptsetup luksFormatを実行し、確認とパスフレーズの入力を求めています。

キャプション:LUKSフォーマットの手順は破壊的な操作を伴うため、cryptsetupは暗号化コンテナを作成する前に明示的な確認を求めます。

古いチュートリアルで見たからといって、暗号、鍵サイズ、PBKDFのオプションを追加するのは避けてください。CryptsetupとSUSEは最新のデフォルト設定を提供しており、文書化された要件なしにこれらの設定を変更すると、互換性が低下したり、復旧が困難になったりする可能性があります。

ステップ3:暗号化されたデバイスを開く

LUKSコンテナはロック解除されるまで通常のファイルシステムでフォーマットできません。コンテナを開いて、次の名前のデバイスマッパーマッピングを作成しますsecuredata。

sudo cryptsetup open /dev/sdb securedata

パスフレーズを入力すると、復号化されたマッピングが次のように表示されます。

/dev/mapper/securedata

以下の方法で確認できます。

sudo cryptsetup status securedata
lsblk -f
SUSE Linuxターミナルでcryptsetupを使用してLUKSデバイスを開き、/dev/mapperの下にsecuredataを表示する

キャプション: LUKS コンテナのロックを解除すると、 という名前のマップされたブロック デバイスが作成されsecuredataます/dev/mapper。

ステップ4:ロック解除されたマッピング上にファイルシステムを作成する

LUKSレイヤーはブロックを暗号化するだけで、ディレクトリやファイル自体は提供しません。ファイルシステムは、暗号化された生ディスクではなく、マッピングされたデバイス上に作成してください。この例ではext4を使用します。

sudo mkfs.ext4 /dev/mapper/securedata

ストレージ規格でXFSまたは他のサポートされているファイルシステムが要求されている場合は、そちらを使用してください。重要なルールは、ファイルシステムはに属し/dev/mapper/securedata、は/dev/sdb暗号化されたLUKSコンテナのままであるということです。

SUSE Linuxターミナルで/dev/mapper/securedata上にext4ファイルシステムを作成中

キャプション:暗号化されたバックアップディスク上に直接作成するのではなく、ロック解除されたマッピング内に通常のLinuxファイルシステムを作成してください。

ステップ5:マウントポイントを作成し、ボリュームをテストする

ディレクトリを作成し、新しいファイルシステムをマウントします。

sudo mkdir -p /data/secure
sudo mount /dev/mapper/securedata /data/secure
df -h /data/secure

この時点でボリュームは使用可能です。環境に応じて適切な小さなテストファイルを作成し、読み込んでから削除してください。これにより、LUKSロック解除からファイルシステムを経てマウントされたディレクトリまでの完全なパスが検証されます。

SUSE Linuxターミナルで/dev/mapper/securedataを/data/secureにマウントし、dfで検証する

キャプション:テストマウントが成功すると、ブート時の動作を設定する前に、復号化されたマッピングとそのファイルシステムが使用可能であることが確認できます。

ステップ6:安定したUUIDを記録する

永続的な構成の場合、ディスクが常に と呼ばれることを想定するのではなく、安定した識別子を使用することをお勧めします/dev/sdb。LUKS UUID とファイルシステム UUID の両方を表示します。

sudo blkid /dev/sdb
sudo blkid /dev/mapper/securedata

生のデバイスは、などのタイプを報告する必要がありますcrypto_LUKS。マッピングされたデバイスは、ファイルシステムタイプとそのUUIDを報告する必要があります。この2つのUUIDを混同しないように注意してください。LUKS UUIDは暗号化されたコンテナを識別し、ファイルシステムUUIDはその内部のファイルシステムを識別します。

SUSE Linuxターミナルでblkidを使用してLUKS UUIDと暗号化マッピング内のファイルシステムのUUIDを表示する

キャプション:暗号化されたコンテナと、その内部にあるファイルシステムは、それぞれ異なる設定目的で使用される個別の識別子を持っています。

ステップ7:起動時のロック解除とマウントの設定

systemdベースのLinuxシステムでは、/etc/crypttab起動時に開くべき暗号化されたブロックデバイスを記述します。基本的なパスフレーズ入力式のエントリには、マッピング名、暗号化デバイス、キーファイル、オプションの4つのフィールドがあります。

前の手順で取得したLUKS UUIDを使用したエントリの例は次のとおりです。

securedata UUID=<LUKS-UUID> none luks

次に、マウントしたファイルシステムをに追加します/etc/fstab。マッピングされたデバイスまたはそのファイルシステムのUUIDを参照できます。SUSEのSLES 15 SP7ガイダンスでは、YaSTはsystemdジェネレーターと安定して動作するため、新しく構成されたLUKSマウントポイントにマッパーデバイス名を一般的に使用すると指摘しています。簡単なエントリは次のとおりです。

/dev/mapper/securedata /data/secure ext4 defaults 0 2
SUSE Linuxの設定例。/etc/crypttabにLUKSエントリ、/etc/fstabにそれに対応するマウントエントリが記述されている。

キャプション:このcrypttabエントリは暗号化されたコンテナを開き、このfstabエントリはマッパーデバイスを介して公開されたファイルシステムをマウントします。

再起動する前に、単純なミスがないか確認してください。以下のコマンドを実行できます。

sudo systemctl daemon-reload
sudo mount -a

mount -aこれは多くのfstab問題を検出するのに役立ちますが、実際の起動時のロック解除シーケンスのテストに取って代わるものではありません。

ステップ8:再起動して実際のブートパスを確認する

通常のセカンダリデータボリュームの場合、編集/etc/crypttabと編集/etc/fstabは通常、重要な永続構成となります。サーバーを再起動し、期待どおりのパスフレーズプロンプトが表示され、LUKSマッピングが開き、ファイルシステムがマウントされることを確認してください。

sudo reboot

lsblk -f
sudo cryptsetup status securedata
findmnt /data/secure

暗号化されたデバイスが initramfs の初期段階で必要となる場合(例えば、通常のルートファイルシステムが完全に利用可能になる前に必要なストレージが含まれている場合など)、設計によっては initramfs を再生成する必要があるかもしれませんdracut。すべてのデータボリュームの設定に initramfs の再構築を機械的に追加しないでください。必要かどうかは、ブート中にデバイスが利用可能になるタイミングによって異なります。

SUSE Linuxターミナルに、dracutがinitramfsを再構築してから再起動する様子が表示されています。これは、暗号化されたデバイスが起動初期段階で利用可能である必要がある場合に重要な動作です。

キャプション: initramfs の再構築は、dracut早期起動暗号化ストレージに関係します。通常のセカンダリ データ ボリュームでは、crypttab、fstab、および再起動テストのみが必要になる場合があります。

LUKSヘッダーをバックアップする

LUKSヘッダーには、重要なメタデータとキースロット情報が含まれています。ボリュームが正常に動作していることを確認したら、オフラインヘッダーのバックアップを作成することを検討してください。

sudo cryptsetup luksHeaderBackup /dev/sdb   --header-backup-file /root/securedata-luks-header.img

次に、バックアップを暗号化されたディスクとは別の保護された場所に移動します。バックアップは機密情報として扱ってください。ヘッダーのバックアップと、バックアップ作成時に有効だったパスフレーズがあれば、データ領域を復号化できる可能性があります。cryptsetup プロジェクトの公式 FAQでは、この動作について説明しています。

初心者が陥りがちなよくある間違い

間違いなぜそれが重要なのかより安全なアプローチ
luksFormat間違ったディスクで実行されています既存のデータにアクセスできなくなる。まず、デバイス名、サイズ、マウントポイント、およびストレージ容量を確認してください。
/dev/sdbLUKS作成後にext4でフォーマットするこれは、LUKSレイヤー内にファイルシステムを作成するのではなく、LUKSレイヤーを上書きするものです。実行しmkfsます/dev/mapper/securedata。
パスフレーズを忘れたLUKSは、登録済みのキーがなければデータを簡単に復元できないように設計されています。組織が承認した機密情報復旧手順を使用し、テスト済みの復旧資料を保管してください。
暗号化がLinuxのパーミッションに取って代わると仮定するマウントされたデータは、十分なOS権限を持つプロセスからのみ利用可能です。所有権、アクセス権限、SELinux/AppArmorポリシー、およびアプリケーション制御を適切に維持してください。
ブート構成で不安定なデバイス名を使用するディスクの文字は変更される可能性があります。適切な場合は、UUIDまたは安定したマッパー名を使用してください。
再起動テストをスキップする起動時の設定が間違っていても、手動マウントは機能する可能性がある。メンテナンス時間中に、実際の再起動シーケンスをテストしてください。

YaSTとCockpitは有効な代替手段です

グラフィカルなワークフローを好む場合は、SUSE がサポートする管理インターフェイスを提供しています。SLES 15 SP7 セキュリティおよび強化ガイドでは、YaST の Expert Partitioner における暗号化パーティションについて説明しています。SUSE Linux Enterprise Server 16.0 のドキュメントでは、パスフレーズや暗号化オプションなど、Cockpit での暗号化パーティションの設定についても説明しています。運用標準でこれらのツールが推奨される場合は、SLES 15 SP7 Expert Partitioner のドキュメントまたはSLES 16.0 Cockpit 管理ガイドを参照してください。

最終確認

正常にセットアップされたシステムは、複数のコマンドを実行しても問題なく動作するはずです。再起動、指定された方法でのボリュームのロック解除、securedataマッピングの有効性の確認、/data/secureマウントの確認、そして期待されるファイルの読み取りが可能であるべきです。また、パスフレーズの回復プロセスとLUKSヘッダーのバックアップがどこに保存されているかも把握しておく必要があります。

覚えておくと便利な概念モデルは次のとおりです。物理ディスクにはLUKSコンテナが格納されており、それをアンロックするとマッパーデバイスが作成されます。マッパーデバイスにはファイルシステムが格納され、そのファイルシステムはディレクトリにマウントされます。これらの階層構造が明確になれば、ほとんどのLUKSのトラブルシューティングははるかに簡単になります。

コメントを残す

失われたパーティションとハードディスクデータを安全に復元する方法

失われたパーティションとハードディスクデータを安全に復元する方法

TestDiskとPhotoRecを使って、失われたパーティションやファイルを復元する方法を学びましょう。ソースドライブを保護し、安全にスキャンを行い、復元したデータを別のディスクに保存します。

LinuxデスクトップでQRコードをスキャンする方法

LinuxデスクトップでQRコードをスキャンする方法

CoBangを使えば、Webカメラまたは画像ファイルでLinux上でQRコードをスキャンできます。インストールオプション、セットアップ手順、Flatpakカメラへのアクセスに関する修正方法については、こちらをご覧ください。

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使用してLinux上でウェブカメラの設定を変更しましょう。露出、色、フリッカー低減などのサポートされているコントロールを調整し、互換性のあるビデオモードを確認できます。

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールするには、JetBrains Toolboxを使用するか、スタンドアロンのtar.gzアーカイブを使用するか、SnapおよびArch AURオプションを選択してください。Javaは既にバンドルされています。

LinuxにCisco Packet Tracerをインストールする方法

LinuxにCisco Packet Tracerをインストールする方法

Cisco Packet Tracer 9.0.1 を Ubuntu 64 ビット版にダウンロードし、APT を使用して DEB パッケージをインストールし、ターミナルでライセンスに同意してサインインすると、ラボを開始できます。

LinuxでCD-ROMをISOイメージとしてバックアップする方法

LinuxでCD-ROMをISOイメージとしてバックアップする方法

Linux上でGNOME Disksまたはddコマンドを使用してCD-ROM ISOイメージを作成します。光学ドライブを識別し、コピーを監視し、イメージを検証し、破損したディスクやオーディオディスクに別のツールが必要な場合を把握できます。

XFCE 4でデュアルパネルを設定する方法

XFCE 4でデュアルパネルを設定する方法

各ディスプレイごとに個別のXFCE 4パネルを作成し、2番目のパネルを右側の出力に割り当て、位置とサイズを調整し、必要なランチャーとステータス項目を追加します。

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って写真の背景を削除する方法:被写体をトレースし、選択した背景を削除し、透明度を保持して、再利用可能なPNG形式でエクスポートします。

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearは公式サイトから無料でダウンロードできます。Windows、macOS、Linuxの各パッケージを比較し、データファイルをインストールして、最初のフライトを開始しましょう。

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSamplerはMP3クリップをキーボードのキーにマッピングし、音声をループ再生できます。この旧型フリーウェアの機能、旧機能が失われた箇所、ダウンロード前に確認すべき点について解説します。