web-dev-qa-db-ja.com

ホームフォルダを完全に隠す-ecryptfsは正しい選択ですか?

私の Debian-Testing -システムでは、ホームフォルダを完全に隠したい。つまり、データを暗号化するだけでなく、暗号化されたデータから(またはほとんどの)情報を特定できないようにしたいということです。

たとえば、ファイル名も暗号化する必要があります。ただし、データ保護の専門家ではないため、プライバシーを保護するために、他のファイル/フォルダー属性も暗号化する必要があります。

私はこれを達成するために ecryptfs を検討しました(パッケージ ecryptfs-utils

しかし、これは私のニーズにとって正しい選択ですか?

また、Debianでの暗号化されたホームフォルダの実装に関するステップバイステップの説明へのリンクをいただければ幸いです。

[編集]新規インストールを行うため、以前に暗号化されていないホームフォルダを移行する必要はありません。

6
Marcel

Ecryptfsは、暗号化された各ファイルを1つのファイルに保存します(下のファイル、 ecryptfsの用語 )。ファイル名は暗号化されていますが、下位ファイルのディレクトリ構造はペイロードファイルのディレクトリ構造を反映しています。下位ファイルのメタデータ(特に変更時間)も、ペイロードファイルのメタデータを明らかにします。下のファイルのサイズは、ペイロードのサイズよりもわずかに大きくなります(Ecryptfsのメタデータのオーバーヘッドは固定されています)¹。

自分の作品を保存している場合、攻撃者はあなたが持っているデータの種類を大まかに知っているでしょう(「これがソースコードツリーであることはすでに知っています。これらがスプレッドシートであることを知っています。知りたいのは!」) 、それは問題ではありません。ただし、レイアウト(ディレクトリ構造、おおよそのサイズ、日付)によって識別される可能性のあるディレクトリツリーを保存している場合、Ecryptfsは適切なツールではありません。

ブロックデバイスレベルで暗号化を使用します。 Linuxはこれに dm-crypt を提供します。ディスク全体(ブートローダー用の小さな領域を除く)を暗号化するか、/homeまたはその他のパーティションを暗号化できます。ディスク全体を暗号化しない場合は、機密情報が他の場所、特にスワップスペースに保存される可能性があることに注意してください(暗号化されたデータがどこかにある場合は、スワップを暗号化する必要があります)。ディスク全体の暗号化を使用する場合、コンピューターは無人で起動できず、キーボードでパスフレーズを入力する必要があることに注意してください。

ブロックデバイス全体が暗号化されているため、ディスクを盗む攻撃者がファイルの内容とメタデータの場所を検出することはできません。暗号化された領域の先頭にあるヘッダーを除いて、コンテンツはランダムノイズと区別できません。攻撃者は、暗号化されたデータの複数のスナップショットを見て、さまざまなセクターが時間の経過とともにどのように進化するかを調査することで情報を引き出すことができますが、それでも興味深いものを見つけるのは困難であり、後でデータの変更を停止した場合は当てはまりません。攻撃者は暗号文を見ました(ディスク盗難の場合のように)。

多くのディストリビューションでは、インストール時にdmcryptボリュームを作成したり、ディスク全体を暗号化したりすることができます。 「デスクトップ」または「基本」イメージではなく、「詳細」または「サーバー」インストールイメージを選択する必要がある場合があります。

Dm-cryptボリュームを操作するツールは cryptsetup です。 dmcryptボリュームを作成するには、パーティション/dev/sdz9を作成してから、cryptsetup luksFormat /dev/sdz9を実行します。ボリュームを /etc/crypttab ;に追加する必要があります。 cryptsetup luksOpenを使用してその場でボリュームをアクティブにするか、cryptmount -aを設定した後に /etc/crypttab を使用します。 Dm-cryptは暗号層にすぎないため、暗号化されたボリューム上にファイルシステムを作成する必要があります。

buntuでインストールされたLUKSセットアップの実行にBacktrack 5 r2をインストールします dm-cryptを完全に手動でセットアップするためのチュートリアルがあります。

¹ 実験的に、デフォルト設定では、小さいファイルサイズはペイロードファイルサイズであり、4kBの倍数と8kBのオーバーヘッドに切り上げられます。

チュートリアルに関しては、検索エンジンは機能しているようです。 howtoforge.com のこれは合理的なヒントを与えるようです。

一般的に、あなたは最終的に何を達成しようとしているのか正確に再考したいかもしれません。 eCryptfsは(ある程度)機密性を保証しますが、いくつかの点に注意する必要があります。

  • ホームディレクトリの内容を他のユーザーから隠すには、chmod go=- $HOMEだけで十分です。本当に必要な場合は、chmod go-rw $HOMEだけを使用して、ディレクトリに入力できるようにすることができます。 AFAIU eCryptfsは、アクセス制御に関しては基盤となるファイルシステムに依存しているため、この点ではあまり効果がありません。

  • root(必ずしもrootだけではない)は通常、ほとんどのシステムでほとんどすべてを実行できるため、悪意のある管理者や攻撃者の成功からユーザーを保護する暗号化はありません。

盗難防止のために達成しようとしているのであれば、暗号化されたパーティション/ドライブ上の通常のファイルシステムがおそらくより良い解決策です-セットアップが簡単で、ファイルシステム全体のパスワードが1つだけで、完全に透過的です。いずれの場合も、スワップを暗号化する必要があります(クリアテキストのパスワード/証明書が最終的に使用される可能性があるため)。また、休止状態データを暗号化する必要があります(ディスクへのサスペンドを使用している場合)。これは、機密データが表示されるもう1つの場所です。ただし、これは少し注意が必要な場合があります。

4
peterph