ファイルシステムの一部または全体を暗号化(#4)して、ヘッドレスモード(#3)でサービス(#2)として実行されている仮想マシン(#1)内で実行されているWebサーバー(LAMP)が必要です。
仮想マシンはユーザーの介入なしに起動され、ホストマシンのユーザーにWebアプリケーションへのアクセスを提供します。ポイント#1、#2、#3がチェックされ、Sun VirtualBoxで正常に機能していることが証明されたので、私の質問は#4です。
すべてのファイルシステムを暗号化しても(ブラウザを使用して)Webサーバーにアクセスできますか、それともGRUBパスワードを要求されますか?)
すべてのファイルシステムを暗号化するオプションがない場合、/home
と/var/www
のみを暗号化できますか? Apache/PHPは、パスワードを要求したり、これらのパーティションを手動でマウントしたりせずに、/home
または/var/www
のファイルを使用できますか?
フルディスク暗号化が必要な場合は、ブートフェーズ中にパスワードを入力する必要がありますが、これはおそらく必要なものではありません。 luksを使用して暗号化されたパーティションを作成し、そのパーティションにすべての適切なデータを配置することをお勧めします。マシンが起動したら、ボックスにSSHで接続して、パーティションのロックを解除できます。
暗号化の方法については、非常に簡単です。
Luksでパーティションをフォーマットします。
cryptsetup -c twofish -y luksFormat /dev/sda4
Luksでパーティションのロックを解除します。
cryptsetup luksOpen /dev/sda4 encwww
暗号化されたパーティションを任意のfsでフォーマットします。
mkfs.ext3 /dev/mapper/encwww
これで完了です。/dev/mapper/encwww
をマウントできます。
再起動後にパーティションのロックを再度解除するには、次の手順を実行する必要があります。
cryptsetup luksOpen /dev/sda4 encwww
次に、パーティションをマウントします。
cryptsetupとdm-cryptはstandard-linux-distributionsでは利用できず、非常にエキゾチックなソリューションです。通常の方法で試してみてください。
modprobe loop
modprobe cryptoloop
modprobe aes
dd if=/dev/urandom of=/yourContainerFile bs=`expr 1024 \* 1024 \* 1024` count=yourSizeInGigaBytes
losetup -e aes-256 /dev/loop0 /yourContainerFile
mkfs.ext3 /dev/loop0
これで、/ dev/loop0を好きな場所にマウントする準備が整いました。強力な暗号化が正しく行われ、 @bootに接続する必要があるUSBスティックから暗号化キーを読み取れるようにfstabを構成することもできます...はるかに柔軟で安全です->「twofish」を使用するガイドには絶対に従わないでくださいまたは暗号化に似たもの...このアルゴリズムはまだ完全には分析されておらず、安全かどうかは誰にもわかりません。
ああ、:秘密機関の範囲と力を超えたセキュリティが必要な場合:使用
/dev/random
代わりに。 Linuxのエントロピー収集デーモンは、統計的に「適切な」値を提供しますが、非常に低速です。
そして、あなたが本当に妄想的であるならば、宇宙背景放射を受信して測定することができるデバイスを自分で購入し、それをあなたのコンピュータに接続して、それをwrite to/dev/random :-D