web-dev-qa-db-ja.com

apparmor:Linuxカーネルでapparmorのdbus機能(「dbusメディエーション」)を有効にする方法は?

私のシステム内の特定のdbus通信を制限するためにapparmorを使用したいと思います。ただし、次の行がsyslogに表示されます。

Dec 28 09:36:21 apex snapd[1127]: AppArmor status: apparmor is enabled but some features are missing: dbus, network

次のapparmorプロファイルでテストしました。悲しいことに、それはDBUSを制限しません:_(

# Last Modified: Fri Dec 28 09:20:30 2018
#include <tunables/global>

/usr/bin/budgie-panel {
  #include <abstractions/base>

  # allow all rules
  allow *,

  # Then deny bind access, for the program /usr/bin/budgie-panel, 
  # on any bus (either the user's session bus, or the system wide bus),
  # to prevent registering the dbus endpoint address "org.freedesktop.Notifications"
  # 
  # This is to keep the address free, for other notification daemons to use
  # (such as 'dunst', or 'mako', which provide multi-monitor support)
  # This will also mean budgie cannot receive notifications (raven sidebar, and applets)
  #
  deny dbus bind name=org.freedesktop.Notifications,

}

まあまあ、カーネルフラグがあるはずですか。カーネルでこの機能が有効になっているかどうかを確認するには、/sys/kernel/security/apparmor/features/dbusmaskという名前のファイルを含むフォルダーが必要です。しかし、そのフォルダは私のシステムにありません。

おそらく、これは pdate_ubuntu_kernel.sh の使用に切り替えたためです。 https://kernel.ubuntu.com/ から.debカーネルパッケージを取得します。それらは典型的な/標準のUbuntuカーネルではありませんか? ubuntu自身のドキュメントによれば、ubuntu 13.10以降、apparmorのdbus機能は存在するはずです。

$ uname -a
Linux apex 4.20.0-042000-lowlatency #201812232030 SMP PREEMPT Mon Dec 24 01:42:05 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

それで! ...カーネルブートフラグを有効にする方法を知りたいのですが。または、モジュール(modprobe)をロードします。または、これらの新しいLinuxカーネルでこの機能を動作させるために必要なその他の手順。何を探す/検索するのかわからない!

1
Dreamcat4

Apparmorのdbusメディエーションには、apparmorユーザー空間、カーネル、dbusデーモンの協力が必要です。すべてのパーツに必要なサポートが含まれている必要があります。そうでない場合、dbusメディエーションは有効になりません。

あなたの説明から、apparmorユーザー空間とdbusデーモンはdbusメディエーションをサポートするはずですが、カーネルはサポートしません。現在、dbusメディエーションには、現在のリリースでUbuntuカーネルがソースパッチとして実行しているaf_unixソケットにきめ細かなメディエーションを提供するツリー外パッチが必要です。

アップストリームカーネル(リリースされたばかりの4.20および次のリリース4.21を含む)は、きめの細かいaf_unixメディエーションをまだサポートしていません。最近の4.18、4.19、および4.20カーネルにはいくつかの必須パッチが上陸しており、アップストリームのapparmorプロジェクトは4.22でaf_unixメディエーションが細かく上陸することを望んでいます。

4
John R Johansen