読み取り専用ファイルシステムからファイルをリダイレクトできますか?

読み取り専用ファイルシステムからファイルをリダイレクトできますか?

本質的に読み取り専用であり(SquashFSなど)、スワップが無効なファイルシステムを使用してLinuxイメージを作成するとします。読み取り専用とは、基本ファイルシステムとそのすべての内容が読み取り専用で読み取り専用としてマウントされており、ディレクトリのみが書き込み可能であることを意味します(たとえば、書き込み/tmp可能な別のストレージ/パーティションにリダイレクト)。

今私の質問は、誰かがそのシステムへのフルルートアクセス権を持っている場合は、ファイルの読み取り専用部分へのアクセスをだますことができるということです。たとえば、ファイルa.soが読み取り専用セクションにある場合、ファイルへのすべてのアクセスを別のファイルにリダイレクトできますか?彼はシステムの書き込み可能な部分にあるすべてのファイルをコピーしたり、root権限で実行したりできます。

ありがとう

ベストアンサー1

基本ファイルシステムが読み取り専用でマウントされ、特定のディレクトリ(書き込み可能)のみがマウントされるシナリオを考慮すると、/tmp短い答えは「はい」です。ルートアクセス権を持つ人は、潜在的にシステムの読み取り専用部分にあるファイルへのアクセスをリダイレクトできます。書き込み可能部分の他のファイルを指示します。それだけです:

シンボリックリンクまたはハードリンク:rootユーザーはシンボリックリンクを作成して、ソースファイルから書き込み可能領域の新しいファイルにアクセスをリダイレクトできます。読み取り専用ファイルシステム自体ではシンボリックリンクを作成することはできませんが、ユーザーは書き込み可能領域にシンボリックリンクを配置し、代わりにシンボリックリンクを使用するようにLD_LIBRARY_PATH環境(ライブラリなど)またはアプリケーション構成を調整できます。元のファイルの。

LD_PRELOADヒント:あなたの例のような共有ライブラリの場合、rootユーザーは動的リンカーの機能をa.so利用できます。LD_PRELOADこの機能を使用すると、他のライブラリの前にロードするカスタム共有ライブラリを指定できます。ユーザーはa.so書き込み可能領域にコピーして必要に応じて変更し、LD_PRELOADを使用して元の代わりに変更されたバージョンをロードしてアクセスを効果的にリダイレクトできます。

環境操作:ファイル操作に加えて、rootユーザーは環境変数を変更したり、chroot環境を使用してアプリケーションの実行方法を変更したり、書き込み可能領域に格納されている他のファイルまたは構成を使用したりするようにリダイレクトできます。

Mount --bindオプション:このmount --bindオプションは、ファイルシステムのある部分から別の部分にディレクトリまたはファイルをマウントするために使用できます。 rootユーザーはそれを使用して、書き込み可能なディレクトリまたはファイルを読み取り専用部分のどこかに上書きし、書き込み可能なバージョンにアクセスを効果的にリダイレクトできます。

この方法では、システムの読み取り専用部分から書き込み可能部分にアクセスをリダイレクトできますが、実行するにはルートアクセスが必要であることに注意してください。これは、システムへのルートアクセスを保護することの重要性を強調します。ユーザーに無制限のルートアクセス権がある場合、ファイルのリダイレクトだけでなく、さまざまな方法でシステムの整合性が損なわれる可能性があります。信頼できるユーザーにのみrootアクセス権を付与し、SELinuxやAppArmorなどの追加のセキュリティ対策を使用すると、これらのリスクを軽減するのに役立ちます。

おすすめ記事