web-dev-qa-db-ja.com

リモート接続のディスク暗号化を処理するにはどうすればよいですか?

私のワークステーションには、フルディスク暗号化を備えたubuntu 14.04インストールがあります。私は今何日も頻繁に旅行する必要があり、ChromebookからこのマシンにSSHで接続してリモートで作業することを計画しています。

このマシンが決してシャットダウンされないという保証はありません(クリーニングスタッフがシャットダウンする場合があります)。システムを再起動すると、起動中に毎回暗号化パスワードを要求されます。これはリモートでは実行できないと思います(ネットワーク、特にsshdは暗号化されたディスク/起動を読み取った後にのみ起動するため)。この状況にどのように対処できますか?暗号化されたHDDを続行できますか?または、そうでない場合、どうすればHDD暗号化を削除できますか(可能であれば、私はこれを疑います)

4
0xc0de

Dropbear sshを使用してマシンにsshし、LUKSボリュームのロックを解除できます。ここには tutorial があり、設定に役立ちます。

2
Lucas Kauffman

最も簡単な解決策は、暗号化されていないか、システムに必要なデータが含まれているUSBスティックなどのハードウェアキーを使用して、パスコードなしで(最低限)起動できるようにサーバーをインストールすることです。自動的に起動します。このようにして、サーバーの電源を切り、USBキーを使って離れることによって、サーバーを「ロック」できます。 IIRC、TrueCrypt(したがっておそらく VeraCrypt 、TrueCryptのアクティブなフォーク)は、USBスティック上の任意のファイルをパスコードとして使用することをサポートしています。

それは単に基本レベルです。システムが稼働中(およびオンライン)になったら、SSHで接続し、サーバーの暗号化ストレージを手動でロック解除できます。

この種のセットアップを行うには、データをバックアップし、ディスクをパーティション分割してファイルシステムを再初期化してから、新しいファイルシステムの上にデータを復元する必要があります。次に、暗号化された(または、ハードウェアキーを使用している場合は、二重暗号化された)領域を作成し、使用するように構成済みのさまざまな場所からそれらの領域へのシンボリックリンクを作成する必要があります。

ホームディレクトリを暗号化している場合、各ユーザーの~/.ssh/authorized_keysファイルに保存されているSSH公開鍵は、ログインしていないユーザーを認証するために使用できないことに注意してください。これを修正するには、 ecryptfs-mount-home を使用していると仮定して、ユーザーがecryptfs-umount-privateを実行してから、暗号化されていない~/.ssh/authorzied_keysファイルにpubkeyをインストールします(~/.sshの作成が必要になる場合があります。chmod 700 ~/.sshを忘れないでください。そうしないと機能しません!)。

または、次のようなものを/etc/ssh/sshd_configファイルに追加することもできます。

AuthorizedKeysFile .ssh/authorized_keys /var/ssh/%u/authorized_keys

ユーザーはそれを行うことができないため、これには適切な/var/ssh/<user>ディレクトリを作成(およびchownおよびchmod)する必要があります。これで、ユーザーは2つのauthorized_keysファイルを持つことができます(または、ユーザーはln -s /var/ssh/$USER/authorized_keys ~/.ssh/authorized_keysを実行してそれらをリンクできます)。

ログインしている場合、データは脆弱です。攻撃者がシステムの電源をオフにし、ブートディスクを使用してシステムを再起動すると、ルートアクセスを取得できます。次に、リモートでログインしてロックを解除し、攻撃者がそれらにアクセスできるようにします。ホームディレクトリを暗号化することは素晴らしいアイデアですが、納税申告書やその他の機密文書などについては、コンテンツが必要な場合にのみマウントされる特別な専用スペースを使用するほうがよいでしょう。これらは相互に排他的ではありません。両方を行うことをお勧めします。

1
Adam Katz