Linux (i.e. openSUSE): AppArmor oder SELinux?

Moin!

Ich nutze openSUSE Leap. Bisher 15.6, für demnächst steht der Wechsel auf 16.0 an. Trotz einiger „Issues“ mit Leap 16.0 überlege ich, vorerst openSUSE i.A. sowie Leap i.B. treu zu bleiben (wahrscheinlich Upgrade, eventuell fresh Install).

Die Situation bzgl AppArmor/SELinux ist so:

  • bis einschließlich 15.6 ist AppArmor per Default installiert und genutzt (man könnte SELinux wählen, wenn man unbedingt wollte)
  • ab 16.0 für die weitere Zukunft ist SELinux per Default installiert und genutzt (man könnte Apparmor wählen, wenn man unbedingt wollte)
  • bei einem Upgrade kann/muss man sich entscheiden, ob man das Modell wechseln oder beibehalten will

Wie sehen dazu Feedback, Hinweise und Empfehlungen aus? (D.h. welches Modell soll ich bevorzugt wählen?) TIA!

Hm, ich bin jetzt kein großer Experte bei diesen Systemen, aber vielleicht kann ich dir bei der Entscheidung helfen:

  • Hast du unter AppArmor neben den vom System zur Verfügung gestellten Profilen auch eigene genutzt? Das geht bei AppArmor ja relativ gut. In dem Fall wäre wohl ein Verbleiben bei AppArmor von Vorteil.
  • Wie tiefgreifend sind die beiden Implementierungen bei openSUSE umgesetzt? Also werden bei beiden nur Binärdateien des Basissystems geschützt oder bei beiden das vollständige System oder gibt es da Unterschiede? Falls es Unterschiede gibt, dann kannst du ja auch diese als Entscheidungskriterium heranziehen.

Falls du aber einfach nur nutzt, was vom Betriebssystem bereitgestellt ist, dann würde ich immer beim Standard bleiben, in deinem Fall also auf SELinux wechseln.

Verwendest du bisher nur die Apparmor-Profile die mit dem OS kommen?

Wenn du willst poste den Output von LIBPROC_HIDE_KERNEL=1 ps Zfaxu, dann kann ich mir ein Bild davon machen, was Apparmor bei Leap bisher confined und das mit Fedora-Selinux vergleichen, was vermutlich auch die Selinux-Policy von Leap ist.

Nein.

Das weiß ich leider alles nicht!

Ja.

~ # LIBPROC_HIDE_KERNEL=1 ps Zfaxu | grep -v 'unconfined'
LABEL                           USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
avahi-daemon (enforce)          avahi     1862  0.0  0.0  10044  3200 ?        Ss   09:48   0:00 avahi-daemon: running [tulicube.local]
nscd (enforce)                  nscd      1884  0.0  0.0 2280652 7800 ?        Ssl  09:48   0:03 /usr/sbin/nscd
/usr/bin/redshift (enforce)     gunners+ 32336  0.0  0.0  19408  4864 ?        S    09:48   0:03          |   \_ /usr/bin/redshift -v -l 53 11 &
~ # 

Da wirst du mit Selinux definitiv mehr Confinement haben. Ich würde auf Selinux umsteigen, außer du willst selbst bei Apparmor Hand anlegen oder apparmor.d verwenden.

Vermutlich!

Eigentlich definitiv nein!

Da habe ich tatsächlich schon einmal reingeguckt. Es ist auf alle Fälle mehr als der bloße Standard. Aber „so viel“ ist es dann tatsächlich auch nicht… Lohnt sich das? Ist eventuell mit Seiteneffekten (Schwierigkeiten) zu rechnen?

Ist denn bei SELinux per Standard mit Seiteneffekten (Schwierigkeiten) zu rechnen?

Ich habe wirklich keine Ahnung… Ich würde es ungern erleben, dass nach Modifikationen (z.B. Nutzung von apparmor.d) oder gar einem Wechsel des Modells (dann SELinux) das halbe System auf einmal nicht mehr tut.

Und ganz naiv (sic!): was davon ist „besser“?

Noch mal genau hinsehen, die Profile sind im 4 stelligen Bereich.

Auf dem Desktop, definitiv. Da sollte man sich schon ein wenig mit Apparmor beschäftigen und Apparmor logs bereitstellen für fixes.

Nur sehr selten. Meistens ist es mit einem restorecon getan.

Meinst Du /usr/share/apparmor/extra-profiles?

Wo finde ich:

?

Heißt das etwa, dass ich bei SELinux nicht mit mehr (sondern eventuell explizit) weniger Schwierigkeiten rechnen muss/kann als bei AppArmor?

Sorry für meine Naivität in dieser Problematik.

https://apparmor.pujol.io/

Nein. Wenn du nur Apparmor mit den Standarprofilen, also ohne das apparmor.d-Projekt, unter Leap verwendest, wirst du tendenziell weniger Probleme haben als mit Selinux. Trotzdem sind die Probleme, die man mit der Standard-Selinux-Policy bekommt so gering, dass sich ein Wechsel lohnt, da mehr Prozesse confined sind.

1 „Gefällt mir“

Ah ja, OK! Danke!

Also:
https://software.opensuse.org/package/apparmor.d
https://build.opensuse.org/package/show/home:cboltz/apparmor.d


Aber:

https://download.opensuse.org/repositories/home:/cboltz/15.6/x86_64/

apparmor.d-0.0.git.1729119194.4797026-lp156.45.1.x86_64.rpm

17.10.2024, 21:30

1.5 MB

sowie

https://download.opensuse.org/repositories/home:/cboltz/16.0/x86_64/

[ „nichts“ ]

dagegen

https://download.opensuse.org/repositories/home:/cboltz/openSUSE_Factory/x86_64/

apparmor.d-0.0.git.1770759386.d13e73b-65.3.x86_64.rpm

12.2.2026, 05:45

1.9 MB

Mmh… sieht nicht so doll aus für Leap (ab 16.0 erst recht nicht)!


@Chief

Wenn ich so einige andere Foren verfolge, mutet SELinux teilweise wie „die Hölle auf Erden an“. Es gibt Leute, bei denen alles problemlos zu sein scheint. Aber es gibt auch einige, bei denen das System quasi kaum oder gar nicht mehr läuft oder nach einiger Zeit einzelne Sachen nicht mehr laufen.

Daher überlege ich, vorerst generell bei AppArmor zu bleiben. Aber eventuell /usr/share/apparmor/extra-profiles/ zu /etc/apparmor.d/hinzuzufügen. Darüber hinaus könnte/möchte ich vielleicht auch sogar https://apparmor.pujol.io/ d.h. bei openSUSE https://software.opensuse.org/package/apparmor.d nutzen. Aber wie oben erwähnt, ist das Paket für Leap 15.6 alt und für 16.0 gar nicht vorhanden. Tumbleweed dagegen wird offensichtlich gut gepflegt.

Wenn ich ins Forum von Archlinux schaue, dann haben da Leute Probleme ohne Ende. Mein System läuft einfach.

Was ich damit sagen will: Wenn Leute von Problemen berichten, dann hat das viele mögliche Ursachen. So gut wie keine dieser Ursachen wird dich betreffen.

Deshalb empfehle ich dir, das zu nutzen, was im System der Standard ist, weil das dann besser auf Fehler geprüft wird.

2 „Gefällt mir“