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 つのパーティションに分割されます。
- LUKS 暗号化に使用される 1 つのパーティション (/dev/sdd1 -primary)。
- 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
- ターゲット名: デバイスを説明する名前 (EXT4 LUKS の上記のポイント 22 を参照)。
- ソース ドライブ: LUKS 用にフォーマットされたハードディスク パーティション (EXT4 LUKS の上記のポイント 21 を参照)。
- キー ファイル: なしを選択します
- オプション: ルクを指定します
最終行は以下のようになります。
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 スティック、フラッシュ メモリ、外付けハードディスクなどのあらゆる種類のリムーバブル メディアに同じ設定を適用して、盗聴や盗難の場合に重要な機密データを保護できます。