web-dev-qa-db-ja.com

スナップショット可能な暗号化されたフォルダー

現在の状態のスナップショットを定期的に取得できる暗号化されたデータフォルダーを作成しようとしています。スナップショットは暗号化されたものである必要があり、暗号化されたフォルダーを「アンマウント」せずにスナップショットを取得できるはずです。これは可能ですか?

EncFS、eCryptfs、gocryptfsでフォルダーを暗号化できるようですが、フォルダーのマウント中に暗号化されたファイルのスナップショットを撮ることができるかどうかはわかりませんでした。 btrfsでフルディスク暗号化を使用することはオプションではありません(可能な場合でも)。

2
Jussi Hietanen

それは確かに可能性あり、何らかの形でです。

これは、イメージファイル、2層のファイルシステム(ZFS)、および1層のdm-cryptを使用して行います。セットアップは簡単に説明できます。スナップショット対応およびtransaction-resistentファイルシステムをイメージファイルに配置し、そのファイルシステムに新しいイメージファイルを配置します。 cryptsetupを使用して、そのファイルの暗号化されたブロックデバイスを作成します。そのブロックデバイスに新しいファイルシステムを作成し、便利な場所にマウントします。

これで、暗号化されていないファイルシステムをスナップショットにすることができ、暗号化されたファイルシステムを含むイメージファイルをこのスナップショットから保存できます。

スナップショットが不便な時間に発生した場合に備えて、ファイルシステムはトランザクションに耐性がある必要があります。未完了のトランザクションは無視され、ファイルの一貫したバージョンが生成されます。ただし、複数のファイルが更新された場合(説明する資格はありません)、注文にはまだ技術的な問題があるため、データベースが結果に混乱する可能性があります。この場合、nilfs2には厳密な同期を使用する構成オプションがあると思いますが、それが重要な場合です。

実際には、これを設定および破棄するための複雑で失敗しやすい手順が多数あるため、すでに行われた/取り消された内容を適切にテストした、複雑で失敗に強いスクリプトをお勧めします。管理が簡単で、このタスクが単純化されるため、zfsを使用します。

1