web-dev-qa-db-ja.com

Linuxファイルシステムを使用して、1回書き込み、多数読み取り(WORM)

Linuxファイルシステムにファイルを書き込む必要があるのですが、後で上書き、追加、更新、または削除することはできません。 Sudo-er、root、その他の人によるものではありません。記録管理に関する金融サービス規制FINRA 17A-4の要件を満たそうとしています。FINRA17A-4は、基本的に電子文書をWORM(1回書き込み、多数読み取り)デバイスに書き込むことを要求しています。 DVDや高価なEMC Centeraデバイスを使用する必要はありません。

Linuxファイルシステムはありますか、またはSELinuxは、書き込み後すぐに(または少なくともすぐに)ファイルを完全に不変にする必要があるという要件をサポートできますか?または、誰かがLinuxのアクセス許可などを使用して既存のファイルシステムにこれを強制できる方法を知っていますか?

読み取り専用権限と不変属性を設定できることを理解しています。しかしもちろん、私はrootユーザーがそれらの設定を解除できることを期待しています。

アンマウントしてから読み取り専用で再マウントした小さなボリュームにデータを保存することを検討しましたが、rootはまだアンマウントして書き込み可能として再マウントできると思います。

私はスマートなアイデアを探しています。最悪のシナリオでは、これを実現するために既存のファイルシステムを「拡張」するために少しコーディングをしたいと思っています。出発点として適切なファイルシステムがあると仮定します。そして、このタイプのネットワークストレージデバイスとして機能するように注意深く構成されたLinuxサーバーを配置し、他には何もしません。

結局のところ、ファイルの暗号化も役に立ちます。

8
phil_ayres

カスタムファイルシステム/カーネルコードを書かずにこれを行う方法はないようです。

実行可能なソリューションは、WORMアーカイブストレージオプションでAmazon Glacierを使用することです。次のAWS公式ブログによると https://aws.Amazon.com/blogs/aws/glacier-vault-lock/

[...]この重要なレコード保持の使用例をサポートするように設計されたさまざまなコンプライアンス制御でボールトをロックできるようにする新しいGlacier機能。これで、ボールトにボールトロックポリシーを作成してロックできます。ロックされると、ポリシーは上書きまたは削除できません。 Glacierはポリシーを適用し、そこに指定された制御(事前定義された保持期間を含む)に従ってレコードを保護します。

ロックした後、Vault Lockポリシーを変更することはできません。ただし、別のボールトアクセスポリシーを使用して、コンプライアンスに関連しないアクセス制御を変更および構成することもできます。たとえば、ビジネスパートナーまたは指定されたサードパーティに読み取りアクセス権を付与できます(規制で必要となる場合があります)。

私にとって、これは、NetAppまたはEMCハードウェアの費用をかけずに必要なものを正確に提供すると同時に、記録保持要件を満たしているように見えます。

1
phil_ayres

OpenAFSと読み取り専用ボリュームでこれを行うことができます。ただし、機能させるためにインストールするインフラストラクチャはたくさんあり、要件を満たさない可能性があります。

http://www.openafs.org/

基本的に、書き込み可能なボリュームと、ボリュームの1つ以上の読み取り専用コピーがあります。書き込み可能ボリュームを解放するまで、読み取り専用コピーはクライアントから変更できません。ボリュームを解放するには、管理者権限が必要です。

どのようなソリューションでも、専用ハードウェアまたは専用ハードウェアのセマンティクスを複製するネットワークファイルシステムが必要になるようです。

ユーザーがファイルを上書きできないシステムからファイルにアクセスする必要があるだけの場合は、書き込み権限のないリモートボリュームをマウントできます。これを行う最も簡単な方法は、読み取り専用のsamba/cifs共有をマウントすることです。

それ以外の場合、ユーザーが新しいファイル(上書きまたは変更できないファイル)を書き込めるようにする方法が必要な場合の解決策は、Fuse curlftpfsを使用してFTPパスをマウントすることです。

次のディレクティブを使用して、proftpdディレクトリを設定できます。

AllowOverwrite off
<Limit WRITE>
  DenyAll
</Limit>
<Limit STOR>
  AllowAll
</Limit>

この方法で、マウントされたディレクトリに新しいファイルを保存できますが、変更したり削除したりすることはできません。

リンク: CurlFtpFSProFTPD

0
nrc

これは「Infalible backup」問題のバリエーションであり、これを実装する唯一の方法は、チェックサムを使用および共有する複数のリモートワームファイルシステムを使用することです。物理的または管理アクセスを共有していません。これにより、すべてが1回の書き込みで複製され、整合性が保証され、単一のブロックが消去、変更、または破壊された場合、回復可能になります。

Plan9またはその派生物は、必要な機能のすべてを暗示する場合があります。 Plan9 および Venti を参照してください

0
Daniel Matthews