はじめに
この実験では、Linux システムでディスク暗号化が有効になっているかどうかを確認する方法を学びます。ディスクの暗号化状態を把握することは、システム管理とセキュリティにおける基本的なスキルです。
これを達成するための 3 つの主要な方法を探ります。具体的には、暗号化されたデバイスを識別するための lsblk -f コマンドの使用、構成された暗号化ボリュームを検証するための /etc/crypttab ファイルの調査、およびアクティブな暗号化デバイスに関する詳細情報を取得するための cryptsetup status コマンドの利用です。この実験の終了時には、Linux マシン上のディスクの暗号化状態を自信を持って判断できるようになります。
lsblk -f で暗号化されたデバイスを確認する
このステップでは、Linux システム上の暗号化されたデバイスの調査を開始します。暗号化されたパーティションを識別する方法を理解することは、システム管理とセキュリティにとって重要です。
-f オプション付きの lsblk コマンドを使用します。lsblk コマンドは、ブロックデバイス(ハードドライブやパーティションなど)を一覧表示します。-f オプションは、ファイルシステムに関する情報、そして重要なことに、暗号化に関する情報を追加します。
ターミナルが開いていない場合は、開きます。デスクトップの左側にある Xfce Terminal アイコンを見つけることができます。
以下のコマンドを入力し、Enter キーを押します。
lsblk -f
次のような出力が表示されます。
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0 squashfs 4.0 0 100% /snap/bare/5
loop1 squashfs 4.0 0 100% /snap/core20/2182
loop2 squashfs 4.0 0 100% /snap/core22/1122
loop3 squashfs 4.0 0 100% /snap/firefox/437
loop4 squashfs 4.0 0 100% /snap/gnome-3-38-2004/140
loop5 squashfs 4.0 0 100% /snap/gtk-common-themes/1535
loop6 squashfs 4.0 0 100% /snap/htop/3620
loop7 squashfs 4.0 0 100% /snap/snapd/20671
loop8 squashfs 4.0 0 100% /snap/snapd-desktop-integration/83
sda
├─sda1 vfat FAT32 <UUID> 505.4M 0% /boot/efi
├─sda2 ext4 1.0 <UUID> 1.4G 68% /boot
└─sda3 crypto_LUKS 2 <UUID>
└─sda3_crypt
ext4 1.0 <UUID> 16.4G 11% /
FSTYPE 列を探します。パーティションに crypto_LUKS と表示されている場合(上記の例では sda3)、このパーティションが LUKS(Linux Unified Key Setup)を使用して暗号化されていることを示します。
crypto_LUKS エントリの下の行(例:└─sda3_crypt)は、パーティションがロック解除されたときに作成される復号化されたデバイス名を示しています。この復号化されたデバイスは、通常、ext4 などの標準的なファイルシステムでフォーマットされ、マウントされます(例:/)。
crypto_LUKS が設定されたパーティションを識別することは、Linux システムの暗号化設定を理解する最初のステップです。
Continue をクリックして次のステップに進みます。
cat /etc/crypttab で crypttab を確認する
このステップでは、/etc/crypttab ファイルを調べます。このファイルは、システム起動時に設定される暗号化されたブロックデバイスをシステムが構成するために使用されます。このファイルには、暗号化されたパーティションに関する情報と、それらをロック解除する方法が含まれています。
cat コマンドを使用して、/etc/crypttab ファイルの内容を表示します。cat コマンドは、ファイルの内容を連結して表示するためのシンプルなユーティリティです。
ターミナルに以下のコマンドを入力し、Enter キーを押します。
cat /etc/crypttab
次のような出力が表示されます。
sda3_crypt UUID=<UUID> none luks,discard
/etc/crypttab の典型的な行の形式を分解してみましょう。
- ターゲット名:これは、作成される復号化されたデバイスの名前です(例:
sda3_crypt)。これは、前のステップでlsblk -fの出力にあるcrypto_LUKSエントリの下に表示された名前と一致する必要があります。 - ソースデバイス:これは、暗号化されたパーティションを指定します。信頼性のために、多くの場合 UUID (
UUID=<UUID>) で識別されますが、/dev/sda3のようなデバイスパスにすることもできます。 - キーファイルまたはパスワード:これは、デバイスをロック解除する方法を示します。
noneは、システムが起動時にパスワードを要求することを意味します。その他のオプションには、キーファイルのパスを指定することが含まれます。 - オプション:このフィールドには、カンマ区切りのオプションが含まれています。例えば、
luks(LUKS デバイスであることを指定)やdiscard(SSD の TRIM サポートを有効にする)などです。
/etc/crypttab を調べることで、起動時にどのパーティションが暗号化用に構成されているか、およびそれらをロック解除する方法を確認するのに役立ちます。
Continue をクリックして次のステップに進みます。
cryptsetup status で暗号化を確認する
この最後のステップでは、cryptsetup コマンドを使用して、アクティブな暗号化デバイスに関する詳細なステータス情報を取得します。cryptsetup ユーティリティは、LUKS を使用して暗号化されたディスクデバイスを設定および管理するためのコマンドラインツールです。
status オプションの後に復号化されたデバイスの名前を指定します。ステップ 1 の lsblk -f の出力から、復号化されたデバイス名は sda3_crypt であることがわかりました。
ターミナルに以下のコマンドを入力し、Enter キーを押します。
sudo cryptsetup status sda3_crypt
暗号化デバイスに関する詳細な出力が表示され、次のような内容になります。
/dev/mapper/sda3_crypt is active.
type: LUKS2
cipher: aes-xts-plain64
keysize: 512 bits
key location: keyring
device: /dev/sda3
sector size: 512
offset: 16384 sectors
size: <size in sectors> sectors
mode: read/write
flags: discards
出力からいくつかの重要な情報を見てみましょう。
type: LUKS2:暗号化タイプが LUKS バージョン 2 であることを確認します。cipher: aes-xts-plain64:使用されている暗号化アルゴリズムとモード(XTS モードの AES)を示します。keysize: 512 bits:暗号化キーのサイズを示します。device: /dev/sda3:基になる暗号化パーティションを指定します。flags: discards:discardsオプション(TRIM サポート)が有効になっていることを確認します。これは/etc/crypttabで見た内容と一致します。
cryptsetup status コマンドは、アクティブな LUKS デバイスの暗号化パラメータの包括的な情報を提供します。これは、暗号化設定を検証するのに非常に役立ちます。
これで、lsblk、cat、および cryptsetup を使用して、Linux システム上の暗号化パーティションを識別および調査することに成功しました。
Continue をクリックして、実験を完了します。
まとめ
この実験では、Linux でディスク暗号化が有効になっているかどうかを確認する方法を学びました。まず、lsblk -f コマンドを使用してブロックデバイスを一覧表示し、crypto_LUKS という FSTYPE を持つパーティションを識別しました。これは LUKS 暗号化が適用されていることを示します。このコマンドにより、システムのブロックデバイスとその暗号化状態の概要をすぐに把握できます。
次に、通常は /etc/crypttab ファイルを確認して、起動時にどのデバイスが暗号化用に構成されているかを確認し、cryptsetup status を使用して特定のデバイスの暗号化詳細を調査します。これらの手順と lsblk -f を組み合わせることで、Linux システムでディスク暗号化が実装されているかどうか、およびその実装方法を包括的に判断することができます。



