2026年6月16日

2026年6月16日

サーバーのディスクを暗号化する方法(LUKS)

はじめに

サーバーのディスク暗号化は、データ漏洩や不正アクセスを防ぐ上で重要です。LUKS(Linux Unified Key Setup)を使用すると、物理的なアクセスが制限されない限り、デジタル的かつ物理的なセキュリティを強化できます。この記事では、基本から応用まで、サーバーのディスクをLUKSで暗号化する手順について詳しく解説します。

症状・背景

このテーマが必要になる主な場面は以下の通りです:

  • データ保護: 顧客情報や機密情報を含むサーバーが不正アクセスに遭った場合
  • コンプライアンス: 法令や業界規制によりデータ暗号化が求められるケース
  • 物理セキュリティ: サーバーの物理的な持ち出しを防止するため

手順・設定方法

ステップ1: ユニットキーとパーティション作成

# インストールが必要な場合は実行
sudo apt-get install cryptsetup

# ディスクまたはパーティションを指定(例:/dev/sdb)
sudo cryptsetup luksFormat /dev/sdb

# パスフレーズの入力が要求されます。適切なパスフレーズを選択し、入力してください。

ステップ2: ユニットキーのマウントと設定

# シャドウパスフレーズを作成(オプション)
sudo cryptsetup luksAddKey /dev/sdb

# パスフレーズを追加し、再度マウントを行います。

ステップ3: ユニットキーのマウント設定とファイルシステム作成

# ディスクのマウントポイントを作成します(例:/mnt/cryptodisk)
sudo mkdir /mnt/cryptodisk

# 暗号化されたパーティションをマウントします。
sudo cryptsetup open /dev/sdb cryptodisk

# 新しいファイルシステムを構築します(例:ext4)。
sudo mkfs.ext4 /dev/mapper/cryptodisk

ステップ4: マウント設定の永続化と実践的な使用

# 暗号化されたパーティションとマウントポイントをファイルシステムテーブルに追加します。
echo "/dev/mapper/cryptodisk /mnt/cryptodisk ext4 defaults 0 2" | sudo tee -a /etc/fstab > /dev/null

# サーバーの再起動後に自動でマウントされるように設定します。
sudo mount -a

注意事項

  • パスフレーズ管理: パスフレーズは安全な場所に保管し、失われるとデータが復元不可能になる可能性があります。
  • パフォーマンスへの影響: 暗号化/非暗号化処理により、I/O性能がわずかに低下する場合があります。
  • セキュリティ上の注意: パスフレーズは長さと複雑性を考慮し、定期的に更新することをお勧めします。
  • バックアップ: 暗号化前のデータバックアップを作成し、必要な場合は復元用に保全することが重要です。

まとめ

1. LUKSのインストール: 必要なパッケージをインストールします。

2. ユニットキーの設定: ディスクまたはパーティションを暗号化するためにパスフレーズを作成します。

3. マウントポイントとファイルシステム作成: パーティションをマウントポイントにマウントし、必要なファイルシステムを作成します。

4. 永続的なマウント設定: /etc/fstab に記述することで、再起動時に自動的に暗号化されたディスクがマウントされます。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ