CentOS 6 の通常のファイルに存在する暗号化されたファイルシステム (ランダム キーを使用) を自動マウントします。*

CentOS 6 の通常のファイルに存在する暗号化されたファイルシステム (ランダム キーを使用) を自動マウントします。*

タスク: CentOS 6.x システムで、ワンタイム (ランダム) キーを使用して、通常のファイル内に存在する自動的に暗号化されたファイルシステムをセットアップしてマウントします。

CentOS 6.* の /etc/crypttab では、プレーン ファイルをブロック デバイスとして使用して自動的にマウントおよびマップすることはできません。

つまり、/etc/crypttabの行は次のようになります

cfs   /var/file-with-encrypted-filesystem    some-password-source

CentOS では無視されます。

CentOS でタスクを実行するには、次のコマンド シーケンスを使用できます。

losetup /dev/loop0 /var/tmpfile
dd if=/dev/urandom of=/dev/shm/tmppass bs=512 count=1
cryptsetup luksFormat /dev/loop0 --use-urandom --batch-mode --key-file /dev/shm/tmppass
cryptsetup luksOpen /dev/loop0 ctmp --batch-mode --key-file /dev/shm/tmppass
mkfs.ext2 /dev/mapper/ctmp
mount -t ext2 /dev/mapper/ctmp /mountpoint
shred -n 1 /dev/shm/tmppass
rm -f /dev/shm/tmppass

ファイルシステムを保持するファイルは /var/tmpfile であると仮定します

Debian のような方法 (/etc/crypttab および /etec/fstab 内の関連エントリを指定する) で同じことを実現する、より簡単な方法はありますか?

答え1

次の /etc/crypttab エントリは、Ubuntu でこれを行う方法です。

# <target name>  <source device>                      <key file>    <options>
cfs              /var/file-with-encrypted-filesystem  /dev/urandom  tmp=ext4

暗号化されたスワップの処理方法と非常に似ています。以下の crypttab のマニュアル ページの例を参照してください。

# Encrypted swap device
cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap

CentOS の crypttab のマニュアルページには、これを行うためのガイダンスが記載されていますか? 現在、CentOS マシンはありませんが、RHEL 6 マシンでは同じオプションがサポートされています。


わかりました。興味がありました。これでうまくいきますし、少し良くなりました。 のような場所に置いてください/etc/rc.local。RH 6 でテスト済み:

LODEV=$(losetup -f)
losetup $LODEV /path/to/existing/cryptfile
cryptsetup create cfs $LODEV --key-file /dev/urandom
mkfs.ext2 /dev/mapper/cfs 
mount /dev/mapper/cfs /wherever

関連情報