ウェブサイト検索

LUKS: Linux での NTFS サポートによる Linux ハードディスク データ暗号化


LUKS の頭字語は Linux Unified Key Setup の略で、Linux カーネルで広く使用されているディスク暗号化の方法であり、cryptsetup パッケージで実装されます。

cryptsetup コマンド ラインは、ボリューム ディスク、パーティション、ディスク全体 (USB スティックも含む) がマウントされるたびに提供される、提供されたパスフレーズから派生した対称暗号化キーを使用して、オンフライでボリューム ディスクを暗号化します。ファイルシステム階層に準拠し、aes-cbc-essiv:sha256 暗号を使用します。

LUKS は Linux システム上のブロック デバイス全体 (ハードディスク、USB スティック、フラッシュ ディスク、パーティション、ボリューム グループなど) を暗号化できるため、リムーバブル ストレージ メディア、ラップトップのハードディスク、または Linux スワップ ファイルの保護には主に推奨されますが、ファイルの保護には推奨されません。レベル暗号化。

NTFS (New Technology File System) は、Microsoft が開発した独自のファイル システムです。

Ubuntu 14.04 は、LUKS 暗号化を完全にサポートし、ntfs-3g パッケージを使用して Windows の NTFS ネイティブ サポートも提供します。

このチュートリアルでの私の主張を証明するために、Ubuntu 14.04 ボックスに新しいハードディスク (4 番目) を追加しました (新しく追加された HDD へのシステム参照は /dev/sdd です) ) 2 つのパーティションに分割されます。

  1. LUKS 暗号化に使用される 1 つのパーティション (/dev/sdd1 -primary)。
  2. 2 番目のパーティション (/dev/sdd5 – 拡張) は、Linux ベースのシステムと Windows ベースのシステムの両方でデータにアクセスできるように NTFS でフォーマットされています。

また、パーティションは再起動後に Ubuntu 14.04 に自動的にマウントされます。

ステップ 1: ディスク パーティションを作成する

1. ハードディスクをマシンに物理的に追加した後、ls コマンドを使用してすべての /dev/devices を一覧表示します (4 番目のディスクは /dev/sdd< です))。

ls /dev/sd*

2. 次に、fdisk コマンドを使用して、新しく追加した HDD を確認します。

sudo fdisk –l /dev/sdd

ファイルシステムがまだ書き込まれていないため、ディスクには有効なパーティション テーブルがまだ含まれていません。

3. 次の手順では、cfdisk ディスク ユーティリティを使用して、ハードディスクを 2 つのパーティションにスライスします。

sudo cfdisk /dev/sdd

4. 次の画面では、cfdisk 対話モードが開きます。ハードディスクの空き領域を選択し、左/右キー矢印を使用して新規オプションに移動します。

5. パーティション タイプを [プライマリ] として選択し、Enter キーを押します。

6. 希望するパーティション サイズを MB 単位で書き留めます。

7. このパーティションをハードディスクの空き領域の先頭に作成します。

8. 次に、パーティションの [タイプ] オプションに移動し、Enter を押します。

9. 次のプロンプトには、すべてのタイプのファイルシステムとその番号コード (16 進数) のリストが表示されます。このパーティションは暗号化された Linux LUKS になるため、83 コードを選択し、もう一度 Enter キーを押してパーティションを作成します。

10. 最初のパーティションが作成され、cfdisk ユーティリティのプロンプトが最初に戻ります。 NTFS として使用する 2 番目のパーティションを作成するには、残りの 空き領域 を選択し、新規 オプションに移動してEnter キーを押します。 。

11. 今回のパーティションは拡張論理 パーティションになります。したがって、論理 オプションに移動し、再度Enter キーを押します。

12. パーティション サイズを再度入力します。残りの空き領域を新しいパーティションとして使用するには、サイズのデフォルト値をそのままにしてEnter を押します。

13. 再度、パーティション タイプ コードを選択します。 NTFS ファイルシステムの場合は、86 ボリューム コードを選択します。

14. パーティションを確認して確認したら、[書き込み] を選択し、次の対話型プロンプトの質問に はい と答え、終了して終了します。< b>cfdisk ユーティリティ。

おめでとう !パーティションが正常に作成され、フォーマットして使用できるようになりました。

15. ディスクの パーティション テーブル を再度確認するには、fdisk コマンドを再度発行します。これにより、詳細なパーティション テーブル情報が表示されます。

sudo fdisk –l /dev/sdd

ステップ 2: パーティション ファイルシステムの作成

NTFSファイルシステム

16. 2 番目のパーティションに NTFS ファイルシステムを作成するには、mkfs コマンドを実行します。

sudo mkfs.ntfs /dev/sdd5

17. パーティションを使用可能にするには、そのパーティションをファイルシステム上のマウント ポイントにマウントする必要があります。 mount コマンドを使用して、4 番目のハードディスクの 2 番目のパーティションを /opt マウント ポイントにマウントします。

sudo mount /dev/sdd5 /opt

18. 次に、cat コマンドを使用して、パーティションが使用可能かどうか、および /etc/mtab ファイルにリストされているかどうかを確認します。

cat /etc/mtab

19. パーティションをアンマウントするには、次のコマンドを使用します。

sudo umount /opt
EXT4 ルクス

20. cryptsetup パッケージがシステムにインストールされていることを確認します。

sudo apt-get install cryptsetup		[On Debian Based Systems]

yum install cryptsetup				[On RedHat Based Systems]

21. 次のコマンドを実行して、4 番目のハードディスクの最初のパーティションを ext4 ファイル システムでフォーマットします。

sudo luksformat  -t ext4  /dev/sdd1

よろしいですか?」という質問に大文字の YES で答え、希望のパスフレーズを 3 回入力します。

: パーティションのサイズHDDの速度によっては、ファイルシステムの作成に時間がかかる場合があります。

22. パーティション デバイスのステータスを確認することもできます。

sudo cryptsetup luksDump  /dev/sdd1

23. LUKS は、最大 8 個のパスワードの追加をサポートします。 パスワードを追加するには、次のコマンドを使用します。

sudo cryptsetup luksAddKey /dev/sdd1

パスワードを削除するには、を使用します。

sudo cryptsetup luksRemoveKey /dev/sdd1

24. この暗号化 パーティションをアクティブにするには、 /dev/mapper ディレクトリへの名前エントリ(初期化)が必要です。 cryptsetup パッケージ。

この設定には、次のコマンド ライン構文が必要です。

sudo cryptsetup luksOpen  /dev/LUKS_partiton  device_name

device_name」には、好きなわかりやすい名前を付けることができます。 (私はこれに crypted_volume という名前を付けました)。実際のコマンドは以下のようになります。

sudo cryptsetup luksOpen  /dev/sdd1 crypted_volume

25. 次に、デバイスが /dev/mapper、ディレクトリ、シンボリック リンク、デバイスのステータスにリストされているかどうかを確認します。

ls /dev/mapper
ls –all /dev/mapper/encrypt_volume

sudo cryptsetup –v status encrypt_volume

26. 次に、パーティション デバイスを広く利用できるようにするため、mount コマンドを使用してマウント ポイントの下でシステムにマウントします。

sudo mount  /dev/mapper/crypted_volume  /mnt

ご覧のとおり、パーティションはマウントされており、データを書き込むためにアクセスできます。

27. これを利用できないようにするには、システムからアンマウントしてデバイスを閉じます。

sudo umount  /mnt
sudo cryptsetup luksClose crypted_volume

ステップ 3: パーティションを自動的にマウントする

固定ハードディスクを使用し、再起動後に両方のパーティションを自動的にシステム マウントする必要がある場合は、次の 2 つの手順に従う必要があります。

28. まず、/etc/crypttab ファイルを編集し、次のデータを追加します。

sudo nano /etc/crypttab
  1. ターゲット名: デバイスを説明する名前 (EXT4 LUKS の上記のポイント 22 を参照)。
  2. ソース ドライブ: LUKS 用にフォーマットされたハードディスク パーティション (EXT4 LUKS の上記のポイント 21 を参照)。
  3. キー ファイル: なしを選択します
  4. オプション: ルクを指定します

最終行は以下のようになります。

encrypt_volume               /dev/sdd1          none       luks

29. 次に、/etc/fstab を編集し、デバイス名、マウント ポイント、ファイルシステム タイプ、その他のオプションを指定します。

sudo nano /etc/fstab

最後の行では、次の構文を使用します。

/dev/mapper/device_name (or UUID)	/mount_point     filesystem_type     options    dump   pass

そして、具体的なコンテンツを追加します。

/dev/mapper/encrypt_volume      /mnt    ext4    defaults,errors=remount-ro     0     0

30. デバイスの UUID を取得するには、次のコマンドを使用します。

sudo blkid

31. 前に作成した NTFS パーティション タイプも追加するには、fstab の新しい行で上記と同じ構文を使用します ( ここでは Linux ファイル追加リダイレクト使用されている )。

sudo su -
echo "/dev/sdd5	/opt	ntfs		defaults		0              0"  >> /etc/fstab

32. 変更を確認するには、マシンを再起動し、「ネットワーク デバイスの構成を開始しています」というブート メッセージの後で Enter を押し、次のように入力します。デバイスのパスフレーズ

ご覧のとおり、 両方のディスク パーティションが Ubuntu ファイルシステム階層に自動的にマウントされました。アドバイスとして、暗号化されたボリュームのパスワードを提供するための再起動シーケンスにアクセスできない場合は、物理的にリモート サーバー上の fstab ファイルから自動的に暗号化されたボリュームを使用しないでください。

USB スティック、フラッシュ メモリ、外付けハードディスクなどのあらゆる種類のリムーバブル メディアに同じ設定を適用して、盗聴や盗難の場合に重要な機密データを保護できます。