国境のないパラノイア、またはファイルからLVMを暗号化

データの暗号化に関するBSDブログから今日のトピックを読んだ後、いくつかのファイルからLVMボリュームを作成して暗号化することに気づきました。

猫の尻尾を引っ張るつもりはありませんが、すぐにそれをどのようにしたかを示します。







この場合、1つのパーティション(/ tmp)にある同じハードドライブ上のファイルは暗号化されますが、コンテナーファイルをどこにでも配置することを禁止するものはありません。 さあ始めましょう!



コンテナーとなるサイズがそれぞれ50 MBの5つのファイルを作成します。



/tmp # for i in `seq 1 5`; do dd if=/dev/zero of=safe.$i bs=1M count=50; done

50+0 records in

50+0 records out

52428800 bytes (52 MB) copied, 0.235608 s, 223 MB/s









チェック:

/tmp # ls

-rw-r--r-- 1 root root 50M 2009-11-28 03:02 safe.1

-rw-r--r-- 1 root root 50M 2009-11-28 03:02 safe.2

-rw-r--r-- 1 root root 50M 2009-11-28 03:02 safe.3

-rw-r--r-- 1 root root 50M 2009-11-28 03:02 safe.4

-rw-r--r-- 1 root root 50M 2009-11-28 03:02 safe.5









losetupを使用して、金庫をデバイスに変えます。

/tmp # for i in `seq 1 5`; do losetup /dev/loop$i /tmp/safe.$i; done







大量のデータを保存するためにサイズがそれぞれ50 MBの5つのデバイスがあり、それらを1つの論理ボリュームに結合します



pvcreateユーティリティが利用できない場合は、インストールします

apt-get install lvm2



(ubuntu用)



/tmp # pvcreate /dev/loop{1,2,3,4,5}

Physical volume "/dev/loop1" successfully created

/tmp # vgcreate vg0 /dev/loop{1,2,3,4,5}

Volume group "vg0" successfully created

/tmp # vgscan

Reading all physical volumes. This may take a while...

Found volume group "vg0" using metadata type lvm2

/tmp # lvcreate --size 200M --name lvopt vg0

Logical volume "lvopt" created









これで、 / dev / vg0 / lvoptに 200 MBのLVがあります

たとえば、 twofishを使用して暗号化します

/tmp # cryptsetup -y create datasafe /dev/vg0/lvopt

Enter passphrase:

Verify passphrase:









これで、何が起こったのかを確認できます。 まず、ext4で新しいデバイスをフォーマットします。

mkfs.ext4dev /dev/mapper/datasafe

mke2fs 1.41.9 (22-Aug-2009)



:

mount -t ext4 /dev/mapper/datasafe /mdia/safe/














金庫にデータを入れて、それが機能することを確認します。 / dev / zeroからデータを取得します

cat /dev/zero >> /media/safe/test

cat: write error: No space left on device









現在、LVにはテストファイルがあり、使用可能なスペースを大量に占有しています。以下を確認してください。

df -h

Filesystem Size Used Avail Use% Mounted on

[....]

/dev/mapper/datasafe 194M 193M 0 100% /media/safe









次に、LVをアンマウントします。

umount /media/safe/

cryptsetup remove datasafe









そして、今デバイスの内容を読んでみてください:



less -f /dev/vg0/lvopt







デバイスが暗号化されていることを確認します!



コンテナファイルのサイズはさまざまで、ハードドライブに配置できるため、検出が困難になるだけでなく、1つのデバイスにまとめることもできます。



All Articles