Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.9. 暗号化

4.9.1. LUKS ディスク暗号化の使用

Linux Unified Key Setup-on-disk-format(または LUKS)では、Linux コンピューターのパーティションを暗号化できます。これは、モバイルコンピューターやリムーバブルメディアの場合に特に重要です。LUKS を使用すれば、複数のユーザー鍵が、パーティションのバルク暗号化に使用されるマスター鍵を複号できるようになります。

LUKS の概要

LUKS の機能
  • LUKS は、ブロックデバイス全体を暗号化するため、リムーバブルストレージメディアやノート PC のディスクドライブなどのモバイルデバイスのコンテンツを保護するのに適しています。
  • 暗号化されたブロックデバイスの基本的な内容は任意です。これにより、swap デバイスの暗号化に役立ちます。また、とりわけデータストレージ用にフォーマットしたブロックデバイスを使用する特定のデータベースに関しても有用です。
  • LUKS は、既存のデバイスマッパーのカーネルサブシステムを使用します。
  • LUKS は、パラフレーズの強化を提供し、辞書攻撃から保護します。
  • LUKS デバイスには複数のキースロットが含まれ、ユーザーはこれを使用してバックアップキーやパスフレーズを追加できます。
LUKS が行わ ない こと:
  • LUKS は、多くの(8)ユーザーが、同じデバイスに異なるアクセスキーを必要とするシナリオには適していません。
  • LUKS は、ファイルレベルの暗号化を必要とするアプリケーションには適していません。
重要
LUKS などのディスク暗号化ソリューションは、システムの停止時にしかデータを保護しません。システムの電源がオンになり、LUKS がディスクを復号すると、そのディスクのファイルは、通常、そのファイルにアクセスできるすべてのユーザーが使用できます。

4.9.1.1. Red Hat Enterprise Linux における LUKS 実装

Red Hat Enterprise Linux 7 は、LUKS を使用してファイルシステムの暗号化を行います。デフォルトではインストール時に、ファイルシステムを暗号化するオプションが指定されていません。ハードドライブを暗号化するオプションを選択すると、コンピューターを起動するたびにパスフレーズの入力が求められます。このパスフレーズは、パーティションの復号化に使用されるバルク暗号化鍵の「ロックを解除」します。デフォルトのパーティションテーブルの変更を選択すると、暗号化するパーティションを選択できます。この設定は、パーティションテーブル設定で行われます。
LUKS に使用されるデフォルトの暗号は、aes-cbc-essiv:sha256(ESSIV - Encrypted Salt-Sector Initialization Vector)です。cryptsetup --helpインストールプログラム Anaconda は、デフォルトの XTS モード(aes-xts-plain64)により使用されることに注意してください。LUKS のデフォルトの鍵サイズは 256 ビットです。Anaconda (XTS モード)を使用する LUKS のデフォルトの鍵サイズは 512 ビットです。利用可能な暗号は以下のとおりです。

4.9.1.2. 手動によるディレクトリーの暗号化

警告
この手順では、暗号化しているパーティションのデータをすべて削除します。WILL ご自分の情報をすべて失います。この手順を開始する前に、データを外部ソースにバックアップしてください。
  1. シェルプロンプトで root として以下を入力し、runlevel 1 を入力します。
    telinit 1
  2. 既存の /home をアンマウントします。
    umount /home
  3. 前の手順でコマンドが失敗した場合は、fuser を使用してプロセスを隠し /home を見つけ、これを強制終了します。
    fuser -mvk /home
  4. /home がマウントされていないことを確認します。
    grep home /proc/mounts
  5. ランダムデータでパーティションを入力します。
    shred -v --iterations=1 /dev/VG00/LV_home
    このコマンドは、デバイスの連続書き込み速度に進み、完了するのに時間がかかる場合があります。暗号化されていないデータが、使用中のデバイスに残らないようにするための重要な手順であり、ランダムなデータだけでなく暗号化されたデータを含むデバイスの部分を難読化することが重要になります。
  6. パーティションを初期化します。
    cryptsetup --verbose --verify-passphrase luksFormat /dev/VG00/LV_home
  7. 新規暗号化されたデバイスを開きます。
    cryptsetup luksOpen /dev/VG00/LV_home home
  8. デバイスが存在することを確認します。
    ls -l /dev/mapper | grep home
  9. ファイルシステムを作成します。
    mkfs.ext3 /dev/mapper/home
  10. ファイルシステムをマウントします。
    mount /dev/mapper/home /home
  11. ファイルシステムが表示されることを確認します。
    df -h | grep home
  12. 以下を /etc/crypttab ファイルに追加します。
    home /dev/VG00/LV_home none
  13. /etc/fstab ファイルを編集し、/home の古いエントリーを削除し、以下の行を追加します。
    /dev/mapper/home /home ext3 defaults 1 2
  14. デフォルトの SELinux セキュリティーコンテキストを復元します。
    /sbin/restorecon -v -R /home
  15. マシンを再起動します。
    shutdown -r now
  16. /etc/crypttab のエントリーにより、コンピューターが起動時に luks パスフレーズを要求します。
  17. root としてログインし、バックアップを復元します。
これで、コンピューターがオフの状態時に安全に保存できるように、すべてのデータに暗号化したパーティションが作成されます。

4.9.1.3. 既存のデバイスに新しいパスフレーズを追加します

以下のコマンドを使用して、既存のデバイスに新しいパスフレーズを追加します。
cryptsetup luksAddKey device
認証の既存の passprases のいずれかにプロンプトが表示されたら、新しいパスフレーズを入力するように求められます。

4.9.1.4. 既存のデバイスからパスフレーズの削除

既存のデバイスからパスフレーズを削除するには、以下のコマンドを使用します。
cryptsetup luksRemoveKey device
削除するパスフレーズの入力が求められ、認証用の残りのパスフレーズのいずれか 1 つに対して要求されます。

4.9.1.5. Anaconda での暗号化ブロックデバイスの作成

システムのインストール時に、暗号化されたデバイスを作成できます。これにより、暗号化されたパーティションでシステムを簡単に設定することができます。
ブロックデバイスの暗号化を有効にするには、個々のパーティション、ソフトウェア RAID アレイ、または論理ボリュームを作成する際に、自動パーティション設定または暗号 チェックボックスを 選択 します。パーティション設定が完了したら、暗号化パスフレーズの入力が求められます。このパスフレーズは、暗号化されたデバイスへのアクセスに必要です。既存の LUKS デバイスがあり、そのデバイスに対して先に正しいパスフレーズを提供している場合は、パスフレーズエントリーダイアログにチェックボックスにチェックマークを入れます。このチェックボックスを確認すると、既存の暗号化されたブロックデバイスごとに、新しいパスフレーズを利用可能なスロットに追加されるように指定します。
注記
自動パーティション設定 画面で システムの暗号化 チェックボックスを確認してから Create custom layout を選択すると、ブロックデバイスが自動的に暗号化されません。
注記
kickstart を使用して、新しいブロックデバイスごとに別のパスフレーズを設定できます。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。