web-dev-qa-db-ja.com

apparmorはデフォルトで拒否されますか?

Apparmorはデフォルトで拒否されますか?たとえば、ポリシーが関連付けられていないパッケージをインストールするenforcingモードのSELinuxでのケースを考えてみます。 SELinuxのデフォルトの動作は、アプリケーションが行うすべてのシステムコールを拒否することです。 apparmorは同じように機能しますか、それとも最初にポリシーを明示的に作成してインストールする必要がありますか?.

FAQ( https://gitlab.com/apparmor/apparmor/wikis/FAQ )は、システムが完全なシステムポリシーで展開されている場合、apparmorはデフォルトで拒否されると述べています。完全なシステムポリシーを構成するものは何ですか?それは、すべてのプロセスに対応するポリシーがあることを意味しますか?

制限されていないすべてのプロセスにデフォルトの拒否を通知する方法はありますか?

1
sashang

デプロイ方法によって異なります。通常、アプリケーションからの特定の呼び出しをホワイトリストに登録する必要がありますが、システムレベルでは、システムのサブセットのみが制限されるポリシーを適用できます。

WikiのFAQで完全に述べられているように:

AppArmorポリシーはデフォルトの拒否(ホワイトリスト)です

はい、およびいいえ。 AppArmorプロファイルはデフォルトの拒否に基づいています。つまり、許可されるルールリストとそれ以外のすべてが拒否されます。 AppArmorポリシーでは、アクションを拒否するルールを指定できますが、これらは既知の不正な動作を文書化したり、それを許可するルールがプロファイルに追加されていても許可されないアクションを指定したりするための便利な機能です。

AppArmorは、システムレベルで、デプロイ方法に応じて、デフォルトの拒否またはデフォルトの許可のいずれかと見なすことができます。AppArmorが完全なシステムポリシーでデプロイされている場合、すべてのタスクが制限されると、展開はデフォルトの拒否と見なされます。ただし、AppArmorではポリシーを段階的に展開できるため、システムのサブセットのみが実際に制限されます。この場合、AppArmorはシステムポリシーレベルでデフォルトの許可と見なすことができますが、制限されているものはすべて、デフォルトの拒否であるポリシーによって制限されます。

デフォルトの拒否とは(ホワイトリスト)

デフォルトの拒否は、ポリシーにリストされていないリクエストに適用されるデフォルトのアクションを示します。この場合は拒否です。デフォルトの拒否に基づくポリシーは、許可されるアクションのリスト(ホワイトリスト)を提供し、ポリシーにリストされていないものはすべて拒否されます。

デフォルトの拒否は、既知の正常な動作のみを許可するため、デフォルトの許可よりも安全であると見なされます。

ソース

0
mike