Linuxで「Cryptsetup」ツールを使用して暗号化されたファイルシステムとスワップスペースをセットアップする方法-パート3


LFCE Linux Foundation Certified Engineer の略)は、Linuxシステムにネットワークサービスをインストール、管理、トラブルシューティングするためのトレーニングを受け、専門知識を持ち、システムアーキテクチャの設計、実装、および継続的なメンテナンス。

Linux Foundation認定プログラム(LFCE)の紹介。

暗号化の背後にある考え方は、信頼できる人だけがあなたの機密データにアクセスできるようにし、あなたのマシン/ハードディスクの紛失や盗難の場合にデータが悪意のある人の手に渡らないように保護することです。

簡単に言うと、キーは情報へのアクセスを「ロック」するために使用されます。これにより、システムの実行中にキーが使用可能になり、承認されたユーザーがロックを解除できます。これは、ディスクの内容を調べようとすると(自分のシステムに接続するか、LiveCD/DVD/USBでマシンを起動することによって)、実際のファイルではなく、読み取り不可能なデータしか見つけられないことを意味します。

この記事では、標準のカーネルレベルの暗号化ツールである dm-crypt (デバイスマッパーと暗号化の略)を使用して暗号化ファイルシステムをセットアップする方法について説明します。 dm-crypt はブロックレベルのツールであるため、完全なデバイス、パーティション、またはループデバイスの暗号化にのみ使用できることに注意してください(通常のファイルまたはディレクトリでは機能しません)。

暗号化のためのドライブ/パーティション/ループデバイスの準備

選択したドライブ(/dev/sdb )に存在するすべてのデータをワイプするため、まず、そのパーティションに含まれる重要なファイルのバックアップを前にさらに進んでください。

/dev/sdb からすべてのデータをワイプします。ここでは dd コマンドを使用しますが、 shred などの他のツールを使用して使用することもできます。次に、パート4 – LFCSシリーズのLinuxでのパーティションとファイルシステムの作成の説明に従って、このデバイスにパーティション/dev/sdb1 を作成します。

# dd if=/dev/urandom of=/dev/sdb bs=4096 

先に進む前に、カーネルが暗号化サポートを使用してコンパイルされていることを確認する必要があります。

# grep -i config_dm_crypt /boot/config-$(uname -r)

上の画像で概説されているように、暗号化を設定するには、 dm-crypt カーネルモジュールをロードする必要があります。

Cryptsetup は、 dm-crypt を使用して暗号化されたファイルシステムを作成、構成、アクセス、および管理するためのフロントエンドインターフェイスです。

# aptitude update && aptitude install cryptsetup 		[On Ubuntu]
# yum update && yum install cryptsetup 				[On CentOS] 
# zypper refresh && zypper install cryptsetup 			[On openSUSE]

cryptsetup のデフォルトの動作モードは LUKS Linux Unified Key Setup )なので、これを使用します。 LUKSパーティションとパスフレーズを設定することから始めます。

# cryptsetup -y luksFormat /dev/sdb1

上記のコマンドは、デフォルトのパラメータを使用して cryptsetup を実行します。

# cryptsetup --version

暗号ハッシュ、またはキーパラメータを変更する場合は、 –暗号、<を使用できます。 b> –hash フラグと –key-size フラグ。それぞれ、/proc/crypto から取得した値を使用します。

次に、LUKSパーティションを開く必要があります(前に入力したパスフレーズの入力を求められます)。認証が成功すると、暗号化されたパーティションが/dev/mapper 内で指定された名前で使用できるようになります。

# cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

次に、パーティションを ext4 としてフォーマットします。

# mkfs.ext4 /dev/mapper/my_encrypted_partition

暗号化されたパーティションをマウントするためのマウントポイントを作成します。最後に、マウント操作が成功したかどうかを確認したい場合があります。

# mkdir /mnt/enc
# mount /dev/mapper/my_encrypted_partition /mnt/enc
# mount | grep partition

暗号化されたファイルシステムへの書き込みまたは読み取りが完了したら、マウントを解除するだけです。

# umount /mnt/enc

を使用してLUKSパーティションを閉じます。

# cryptesetup luksClose my_encrypted_partition

最後に、暗号化されたパーティションが安全かどうかを確認します。

1.LUKSパーティションを開きます

# cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

2.パスフレーズを入力します

3.パーティションをマウントします

# mount /dev/mapper/my_encrypted_partition /mnt/enc

4.マウントポイント内にダミーファイルを作成します。

# echo “This is Part 3 of a 12-article series about the LFCE certification” > /mnt/enc/testfile.txt

5.作成したファイルにアクセスできることを確認します。

# cat /mnt/enc/testfile.txt

6.ファイルシステムをアンマウントします。

# umount /mnt/enc

7.LUKSパーティションを閉じます。

# cryptsetup luksClose my_encrypted_partition

8.パーティションを通常のファイルシステムとしてマウントしてみます。エラーを示しているはずです。

# mount /dev/sdb1 /mnt/enc

セキュリティを強化するためにスワップスペースを暗号化する

暗号化されたパーティションを使用するために以前に入力したパスフレーズは、開いている間、 RAM メモリに保存されます。誰かがこの鍵を手に入れることができれば、彼はデータを解読することができます。これは、ラップトップの場合、休止状態の間、RAMの内容がスワップパーティションに保持されるため、特に簡単に実行できます。

キーのコピーを泥棒がアクセスできるままにしないようにするには、次の手順に従ってスワップパーティションを暗号化します。

1適切なサイズ(この場合は/dev/sdd1 )でスワップとして使用するパーティションを作成し、前に説明したように暗号化します。便宜上、「スワップ」という名前を付けてください。」

2.スワップとして設定し、アクティブ化します。

# mkswap /dev/mapper/swap
# swapon /dev/mapper/swap

3.次に、/etc/fstab の対応するエントリを変更します。

/dev/mapper/swap none        	swap	sw          	0   	0

4.最後に、/etc/crypttab を編集して再起動します。

swap               /dev/sdd1         /dev/urandom swap

システムの起動が完了すると、スワップスペースのステータスを確認できます。

# cryptsetup status swap

概要

この記事では、パーティションとスワップスペースを暗号化する方法について説明しました。この設定では、データはかなり安全になります。ご不明な点やご意見がございましたら、お気軽に実験して、お気軽にご連絡ください。以下のフォームを使用してください。ご連絡をお待ちしております。

全著作権所有。 © Linux-Console.net • 2019-2022