GNU/Linux >> Linux の 問題 >  >> Linux

root であっても Linux でファイルを読み取り専用にする

CDやDVDに入れてください。消去可能なものではなく、一度書き込み可能な種類。または、他の種類の読み取り専用デバイス。

わかりました、ソフトウェア ソリューションが必要だと思いますので、ここにいくつかのアイデアを示します。 root でも使用します。別の可能性は、機能を使用することです:設定 14 22 が必要です したがって、すべてのプロセスの機能境界セットをそれを含まないように調整できれば、誰もそれらのフラグを変更できません。ただし、30 からのサポートが必要です それがすべてのプロセスに適用されるようにします。 Systemd はそれを行うことができますが、サービスごとに個別に行う必要があると思います。

ただし、そうする場合は、通常のルートが raw デバイスからファイルシステムを変更できることを覚えておいてください (それが 43 そのため、カーネルの変更 (モジュールのロード) を防ぐだけでなく、それも防ぐ必要があります。モジュールのロードは 55 で防ぐことができます sysctl ですが、raw デバイスへのアクセスを防止することについてはよくわかりません。また、関連するすべての構成ファイルも不変にします。

とにかく、その後、システムの起動方法を変更しないようにする必要もあります。そうしないと、誰かが上記の制限を上書きできるカーネルでシステムを再起動する可能性があります.


これを行う方法はありません。 CD-ROM のような読み取り専用メディアでない限り、誰かがいつでもファイルを書き込み可能な状態に戻すことができます。 62 を効果的に防ぐことができます SELinux パーミッションを使用してそうするのを防ぎます (その方法がわからないか、例を提供します) が、パーミッションを持っているユーザーは依然として物事を元に戻すことができます.


あなたが望むのは強制アクセス制御です。 root であっても、カーネルが上書きすることを許可しないパーミッションのセットを指定できます。 SELinux はよく知られているシステムの 1 つです。Smack は別の例で、AppArmor は 3 番目のシステムです。 Linux では、従来の UNIX に似たセキュリティ モデルの外部でアクセスを制御するための汎用機能である Linux セキュリティ モジュールとして実装されます。もちろん、既存の汎用システムに加えて、特別な目的のために独自のシステムを作成することもできます。

もちろん、root には、機能全体をオンまたはオフにしたり、ファイルの MAC パーミッションを変更したりする機能があり、これらのシステムの一部では、これらの機能を非 root ユーザーに許可することさえできます。ただし、システムによっては、この機能を無効にすることもできます。 SELinux と Smack がこれを可能にしていることは知っています。すべての LSM がそうであるとは思えません。一度無効にすると、機能を回復する唯一の方法は、カーネルを再起動することです。ユーザー アクセスを有効にする前に、ブート プロセスでこの機能を無効にする必要があります。カーネルとブート プロセスが安全な場合、そのような構成は (少なくとも理論上は) ストレージ メディアを物理的に取り外して変更することによってのみ変更できます。

例として、SMACK を使用している場合、次のことができます:

chsmack -a _ <file>

これにより、読み取りまたは実行アクセスのみを許可し、書き込みは許可しない特別なラベル「_」を持つようにファイルが設定されます。現在、root でさえこのファイルを書き込むことはできません (前述のように、SMACK がアクティブ化され、セキュリティ オーバーライド機能が無効化されると)。

ただし、カーネルが安全であることも確認する必要があります。デフォルトでは、カーネルは root ユーザーを信頼するため、root はカーネルを簡単に破壊できます。 root が単にセキュリティ モジュールを削除できる場合、それはあまり役に立ちません。そのような方法のリストはここにありますが、そのようなリストがすべての状況に完全に対応できるわけではないことに注意してください.

最後に、状況によっては、ブート プロセスを保護する必要がある場合があります。唯一の物理アクセスを持つマシンの場合、これは必要ないかもしれませんが、最大のセキュリティのためには、暗号化されたファイルシステムと、UEFI セキュア ブートなどのカーネルを安全に起動する方法が本当に必要です.


Linux
  1. ニンテンドーWii用のLinuxカーネル?

  2. Linux のファイル権限 – 読み取り/書き込み/実行

  3. Linux で select が使用される理由

  1. Linux test -a コマンド テストとは何ですか?

  2. カーネル構成ファイルはどこに保存されますか?

  3. Linux + 特定のユーザーだけにファイルの読み取りを許可する方法

  1. Linux用の10個の便利なBashエイリアス

  2. Linuxのルートでもファイルとディレクトリを削除できないようにする方法

  3. Linuxでルートメール(メールボックス)ファイルを削除する方法