ecryptfs で空でないフォルダを暗号化する

ecryptfs で空でないフォルダを暗号化する

大きなファイルが多数含まれるフォルダーがいくつかあり、それらを ecryptfs を使用して暗号化したいと考えています。

すでにファイル(およびファイルを含むサブフォルダ)が入っているフォルダをマウントできるのか、それとも新しい空のディレクトリを作成し、それをマウントしてからファイルをコピーする必要があるのか​​、疑問に思っています。これまではうまくいっていましたが、コピーしなければならないデータの量が多いため、これは避けたいと思っています。

編集:追加情報、私はUbuntu 20.04.5を使用していますが、ネットワークドライブ上の同様のフォルダーも暗号化したいと考えていますが、これによって解決策が変わるかどうかはわかりません。

答え1

eCryptfs (および基本的に LUKS などのディスク上の暗号化) は、ファイルを暗号化し、暗号化されたデータをディスクに書き込むことによってのみ機能します。すべてのデータをディスクに書き込むことを避けるためのショートカットはありません。

ファイルの即時の「暗号化されたビュー」を探しているだけの場合 (おそらくリモートでのみ保存するため)、EncFS の--reverseオプションを使用してそれを実行できます。

既存のユーザーのホームを ecryptfs 暗号化ホーム設定に移行する自動化ツールが必要な場合は、ツールecryptfs-migrate-home (ecryptfs-utilsパッケージ内) がありますが、これは暗号化されたディレクトリを自動的に作成し、古いホームをそこにコピーして、新しいホームとして設定するだけです。いくつかの警告があります。

警告: 暗号化されていないデータの完全なバックアップ コピーを別のシステムまたは外部メディアに作成してください。このスクリプトは危険であり、エラーが発生した場合、データが失われたり、ユーザーがシステムからロックアウトされたりする可能性があります。

このプログラムでは、移行するホーム ディレクトリの現在のサイズの 2.5 倍の空きディスク領域が必要です。 成功したら、クリアテキスト ディレクトリを削除することで、この領域の大部分を回復できます。

暗号化されたディレクトリに手動でコピーすることですでに問題なく実行されているようですが、一度にいくつかのファイルをコピー、検証、削除する自動化を少し行えば速度が上がるかもしれませんが、それは別の話題です。


ファイルの即時の「暗号化されたビュー」を探しているだけの場合 (おそらくリモートでのみ保存するため)、EncFS の--reverseオプションを使用してそれを行うことができますが、元のファイルはディスク上で暗号化されていないままになります。

通常、EncFS はオンデマンドでデータのプレーンテキスト ビューを提供します。つまり、暗号化されたデータを保存し、プレーンテキスト データを表示します。--reverse を使用すると、ソース プレーンテキスト データを取得し、オンデマンドで暗号化されたデータを生成します。これは、ローカル ファイルを暗号化せずに保持したくない場合に、リモート暗号化バックアップを作成するときに役立ちます。

たとえば、次の例では、/tmp/crypt-view に暗号化されたビューが作成されます。

encfs --reverse /home/me /tmp/crypt-view

次に、暗号化されたデータのコピーを取得するために、/tmp/crypt-view ディレクトリをコピーします。また、ファイルシステム情報を含むファイル /home/me/.encfs6.xml のコピーも保持する必要があります。これら 2 つを一緒に使用して、暗号化されていないデータを再現できます。

ENCFS6_CONFIG=/home/me/.encfs6.xml encfs /tmp/crypt-view /tmp/plain-view

/tmp/plain-viewには/home/meと同じデータが含まれています

--reverse モードは制限された構成オプションでのみ機能するため、使用すると多くの設定が無効になる可能性があることに注意してください。現時点で互換性のないオプション: ファイル名初期化ベクトル チェーンと外部 IV チェーン。

関連情報