web-dev-qa-db-ja.com

OpenBSDでフルディスク暗号化を設定するにはどうすればよいですか?

Linuxでのdm-cryptと同様に、OpenBSDでフルディスク暗号化を設定するための推奨される方法はありますか?

私はフルディスク暗号化を探しています。まるで誰かが私のノートブックを盗んだとしても、そこに保存されているデータにアクセスできる可能性があります。もう1つの理由は、私が常にノートブックの隣にいるわけではないため、誰かが私のネットブックの整合性を危険にさらす可能性があることです。これらは、フルディスク暗号化が私にとって重要であると私に思わせる2つの主要な問題です。

19
LanceBaynes

OpenBSDは OpenBSD 5. 以降のフルディスク暗号化のみをサポートしています。以前のバージョンでは、クリアテキストブートパーティションが必要です。暗号化されたパーティションへの直接インストールをサポートするようにインストーラーがいつ変更されたかはわかりません(当然、ブートローダーはまだ暗号化されていません。何かが次のビットを復号化する必要があるためです)。

とにかく、システムパーティションの暗号化はほとんど役に立ちません¹。したがって、システムを通常どおりインストールしてから、暗号化されたファイルシステムイメージを作成し、そこに機密データ(/home/varの一部、おそらく/etcにいくつかのファイル)を置くことをお勧めします。

とにかくシステムパーティションを暗号化したい場合(機密ソフトウェアなどの特別な使用例があるため)、元々暗号化されたシステムをインストールしなかった場合は、次の方法で実行できます。

OpenBSDインストールを起動し、暗号化されたファイルシステムイメージを含むファイルを作成します。後で変更するのは難しいので、適切なサイズを選択してください(追加の画像を作成できますが、画像ごとにパスフレーズを個別に入力する必要があります)。 vnconfig のマニュアルページに例があります(ただし、いくつかの手順が不足しています)。一言で言えば:

dd if=/dev/urandom of=/ENCRYPTED.img bs=1m count=4096
vnconfig -k svnd0 /ENCRYPTED.img  # type your passphrase
{ echo a a; echo w; echo q; } | disklabel -E /svnd0  # create a single slice
newfs /dev/svnd0a
mount /dev/svnd0a /mnt
mv /home/* /mnt
umount /mnt
umount /dev/svnd0c

対応するエントリを /etc/fstab に追加します。

 /ENCRYPTED.img  /dev/svnd0c  vnd rw,noauto,-k
 /dev/svnd0a     /home        ffs rw,noauto

ブート時に暗号化されたボリュームとその中のファイルシステムをマウントするコマンドを /etc/rc.local に追加します。

echo "Mounting encrypted volumes:"
mount /dev/svnd0c
fsck -p /dev/svnd0a
mount /home

これらのコマンド(mount /dev/svnd0c && mount /home)を実行して、すべてが正しく機能していることを確認します。

rc.localはブートプロセスの後半で実行されるため、sshやsendmailなどの標準サービスで使用されるファイルを暗号化されたボリュームに置くことはできません。そうしたい場合は、これらのコマンドを/etc/rcの直後のmount -aに入れてください。次に、機密とみなすファイルシステムの部分を移動し、/homeボリュームに移動します。

mkdir /home/etc /home/var
mv /etc/ssh /home/etc
ln -s ../home/etc/ssh /home/etc
mv /var/mail /var/spool /home/var
ln -s ../home/var/mail ../home/var/spool /var

スワップも暗号化する必要がありますが、最近ではOpenBSDが自動的に暗号化します。

暗号化されたファイルシステムを取得する新しい方法は ソフトウェアraidドライバーを介してsoftraid です。 softraid および bioctl のマニュアルページまたは Lykle de VriesのOpenBSD暗号化NAS = HOWTO 詳細情報最近のバージョンのOpenBSDは、softraidボリュームからのブートと、インストール中にシェルにドロップしてボリュームを作成することによる installing からsoftraidボリュームへのブートをサポートしています。

¹ 私の知る限り、OpenBSDの ボリューム暗号化integrity ではなく(Blowfishを使用して)機密性のために保護されています。 OSの整合性を保護することは重要ですが、機密性は必要ありません。 OSの整合性を保護する方法もいくつかありますが、この回答の範囲を超えています。

Softraid とCRYPTO規律は、OBSD設計者がフルディスク暗号化をサポートすることを目的としていました。 SVNDには別の方法もありましたが、現在は非推奨です。

3
user26533

http://geekyschmidt.com/2011/01/19/configuring-openbsd-softraid-fo-encryption は、基本的にソフトレイドフルディスク暗号化のグラフィカルなハウツーです。もちろん、ガイドを盲目的にフォローして、すべてのbioctl設定が正しいことを確認してください。

0
user18082