web-dev-qa-db-ja.com

アプリケーションごとに権限を設定することは可能ですか?

私はアプリケーションごとに権限を設定したいと思っていました。

  • ソケットの作成
  • サブプロセスの作成
  • アプリケーションがサブプロセスを作成する場合、子プロセスは同じ権限を継承する必要があります
  • IPC
  • 共有メモリ
  • システムミューテックス
  • 読み取り/書き込みを特定のフォルダーとファイルに制限する

私はWindowsまたはLinuxを使用していますが、どちらも問題ありません。

組み込みの機能やサードパーティのツールはありますか?

2
Edney

Linux固有の答えを与えると、私は SELinux(ディストリビューションのようにRed Hatで利用可能)または AppArmor(ディストリビューションのようなSUSEおよびubuntuで利用可能)はまさにあなたが探しているものです。

ウィキペディアの AppArmorページを引用するには

AppArmor(「アプリケーションアーマー」)は、システム管理者がプログラムごとのプロファイルでプログラムの機能を制限できるようにするLinuxカーネルセキュリティモジュールです。プロファイルは、ネットワークアクセス、rawソケットアクセス、一致するパスでファイルの読み取り、書き込み、または実行を行う権限などの機能を許可できます。

Linuxのほとんどすべてのもの(ソケット、共有メモリなど)にファイルパスがあると考えると、SELinux/AppArmorはほとんどのシステムリソースに適用されます。

1
Mike Ounsworth

私が間違っている場合は誰かが私を修正しますが、すべてのアプリケーションはユーザー権限を持つユーザーとして実行されるため、この正確なサンドボックスモデルはLinuxでは使用できません。うまくいけば、アプリケーションごとのセキュリティがその中心にあるため、WASM標準が業界で受け入れられるようになると、将来のことになるでしょう。上記の特権を持つユーザーとしてそのアプリケーションのみを実行するコンテナー内でアプリケーションを実行すると、おそらく適切な近似を実現できます。

0
postoronnim