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


8

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

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

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

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

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

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


4
あなたが求めていることはできません。マシンへのrootアクセス権がある場合は、ディスク上で直接ブロックレベルの操作を実行できます。したがって、どのファイルシステムが最上位にあるかは関係ありません。ルートから何かを保護することはできません。スローダウンするか、安全に見えないようにすることしかできません。
2013年

SECの解釈読んだ後sec.gov/rules/interp/34-47806.htmを私は@Reganに同意するつもりです。ただし、この全体が少しばかげています。たとえば、CDをどのように消去しますか?もちろん火あり。
Mark Wagner

要件が「少しばかげている」ことに同意します。彼らは、真実を隠す試みがあったために、IT担当者が下手な幹部が求めていることを実行することに同意しないであろうことを明らかにしようとしています。ルートとして大きなディレクトリで削除を打つことは、誰かにとって明らかに簡単過ぎました。物理的破壊は、SECのルールで物事を隠す唯一の方法になります。
phil_ayres 2013年

chattr + i filename、ファイルを作成するたびにこのコマンドを実行する必要があります
c4f4t0r 2014年

@ c4f4t0rは停止しません:chattr -i filenameその後rm
phil_ayres 2014年

回答:


2

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

http://www.openafs.org/

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

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


OpenAFSは実際にrootが読み取り専用ボリュームに書き込むのを防ぎますか?ドキュメントで明確な定義を見つけることができませんでした。
phil_ayres 2013年

それは確かにクライアントのrootがroボリュームに書き込むことを防ぎます。一般に、ルートはOpenAFSの特別な権限を意味しません。
Fred the Magic Wonder Dog

1

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

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

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

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

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


私のソリューションとロジックの違いはありません。サーバー管理者(この場合はAmazon)は、一部またはすべてのファイルを引き続き消去または改ざんできます。ここでの唯一の違いはファイルストレージプロバイダーです...?
nrc

ストレージプロバイダーが本当の違いであるというあなたの仮定では、それはまさに正しいです。社内のサーバー管理者がいるため、規制当局は、同じ組織内の上級管理者がレコードを削除または変更するために操作できると考えています。もちろん、Amazonの誰かにすべてを破棄するよう依頼することもできますが、想定されるのは紙の証跡があり、予期しないリクエストが拒否される可能性が高いということです。正式なエスクローほどよくありませんが、責任を分離することで、必要な保護の多くが提供されます。
phil_ayres 2016年

1
ストレージの支払いをやめることで、ファイルを削除できます。
Tomas Zubiri

0

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

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

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

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

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

リンク: CurlFtpFSProFTPD


私はあなたが言っていることを理解し、それは確かにオプションのようです。しかし、ファイルサーバーの管理者であれば、何でも削除できます。目的は、管理者(少なくとも物理ドライブにアクセスできない管理者)でもファイルを削除できないようにすることです。
phil_ayres 2014年

FTPサーバーは安価なWORMデバイスとして機能します。しかし、はい、リモートFTPサーバーの管理者はファイルにアクセスしてそれらを変更できます。解決策は、ファイルの作成時に非対称キーシステムを使用してファイルに署名し、システム管理者がファイルを乱用できないようにすることです。管理者は引き続きファイルを消去できますが、気付かれずにファイルを変更することはできません。
nrc 2014年

SEC regによれば、残念なことに、改ざんの有無を示すためにファイルに署名するだけでは不十分です。したがって、ファイルを完全に不変にすることに関する質問。
phil_ayres 2014年

0

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

Plan9またはその派生物は、必要な機能のすべてを暗示する場合があります。Plan9Ventiを参照

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.