web-dev-qa-db-ja.com

SELinuxとAppArmorを同時に実行するのは悪い考えですか?

私の企業ポリシーでは、LinuxボックスはSELinuxで保護する必要があると述べています(したがって、セキュリティ監査人は各サーバーの「はい、非常に安全です!」チェックボックスをチェックできます)。 Ubuntuの素晴らしいデフォルトのAppArmorセキュリティを活用したいと思っていました。 ApparmorとSELinuxの両方を実行するのは賢明ではありませんか? (もしそうなら、この悪い考えはいくつかの防具やselinuxの調整で軽減できますか?)

25
belacqua

Linuxカーネルは Linux Security Module インターフェイスを提供します。このインターフェイスはSELinuxとAppArmorの両方の実装です。 (その他にはTOMOYO、Smackなどがあります。)現在、このインターフェースは、一度に1つのLSMのみを操作できるように設計されています。 2つを同時に実行する方法はないため、1つを選択する必要があります。複数のLSMを「スタック」する方法については時々議論されてきましたが、これはまだ行われていません。

24
Kees Cook

両方は使いません。

SELinuxとAppArmorはどちらも同じ基本的なことを行います。ファイルとフォルダーへのアクセスを、実際にアクセスが必要なアプリケーションのみに制限します。

しかし、どちらもこのアイデアを非常に異なる方法で実装しています。

  • SELinuxはファイルシステム内のすべてのファイルにラベルを添付し、アプリケーションのアクセスを特定のラベルに制限します。
    たとえば、ApacheはWebファイルとして明示的にラベル付けされたファイルとフォルダーのみを使用でき、他のアプリケーションは使用できません。
  • AppArmorは、ラベルを使用せずに同じことを実行します。ファイルパスのみを使用します。

(これは、SELinuxとAppArmorの動作の非常に基本的な説明です。)

両方を使用する場合、それらはおそらく互いに邪魔になり、両方を使用する必要性や利点はまったくありません。

16