Hallo Mathias, hallo zusammen, Am Montag, 3. August 2020, 09:28:57 CEST schrieb Mathias Homann:
Ich kapier's nicht...
Ich hab das jetzt erst mal so versucht wie es im header von /etc/apparmor.d/usr.lib.apache2.mpm-prefork.apache2 beschrieben ist..
Ich fürchte, da bist Du einem falschen Profil aufgesessen - der Pfad in diesem Profil passt nicht zum openSUSE-Apache, daher wird es auch nicht verwendet :-( Bugreport existiert, ich werde es wohl ab dem nächsten AppArmor Major- Release nicht mehr standardmäßig mitinstallieren, um diese Verwirrung zu vermeiden. Nimm lieber das Profil, das ich auf paste.opensuse.org gepackt habe. Das verwende ich in ähnlicher Form unter openSUSE im Produktiveinsatz, ich habe es nur etwas anonymisiert. Nach Anlegen der Datei in /etc/apparmor.d/ bitte "rcapparmor reload" nicht vergessen ;-) und danach Apache (einmalig) neu starten.
aa-status sagt alle apache-relevanten profile stehen auf enforcing,
Ich vermute mal, dass Du da nur das "falsche" (siehe oben) Profil siehst, aber nicht das richtige (httpd2-prefork).
und dennoch sagt mir ein ausearch -m avc -i -ts recent:
"type=AVC msg=audit(03.08.2020 09:24:07.541:17166) : apparmor=DENIED operation=change_hat info=unconfined can not change_hat error=-1 profile=unconfined pid=9006 comm=httpd-prefork"
Und das heisst nach meinem verständnis dass der httpd als unconfined läuft...
Richtig.
In diesem Zusammenhang: auf Leap 15.2 wird selinux ohne policies paketiert - das hilft auch nicht wirklich weiter.
Das ist leider nicht mein Fachgebiet ;-) Ich weiß, dass jemand im SUSE Security Team auch etwas an selinux arbeitet, aber wohl nicht besonders intensiv, weil der Fokus eher auf AppArmor liegt.
grmbl.
@christian: ich hab mir deine Links angesehn... Versteh ich das richtig: für AppArmor muss ich im Prinzip für "jeden Mist" erst mal Profile schreiben, es ist nix brauchbares vordefiniert?
In vielen Fällen: ja. Es gibt aber auch für diverse Programme inaktive Profile in /usr/share/apparmor/extra-profiles/, die aus verschiedenen Gründen nicht standardmäßig aktiv sind. Mögliche Gründe sind: - es gibt kein sinnvolles Standardprofil für ein Programm, das nicht zu viel kaputtmacht (gilt vor allem für Programme mit einem Menüpunkt "speichern unter...", aber auch sowas wie vsftpd, weil jeder seine FTP-Verzeichnisse woanders hat und ein Standardprofil entweder alles erlauben müsste oder so streng wäre, dass es vsftpd erstmal quasi unbenutzbar machen würde) - manche Profile sind deutlich veraltet (aber immer noch besser als komplett neu anzufangen) - manche Profile sind aktuell, aber nicht auf ausreichend vielen Setups getestet (gilt z. B. für die Postfix-Profile - die verwende ich produktiv, aber eben nur mit meinem Setup) aa-genprof wird Dir diese Profile übrigens automatisch vorschlagen ;-) Ich weiß, dass das für Dich (mit selinux-Vorkenntnissen) erstmal ungewohnt ist. Bei selinux ist (AFAIK - wie gesagt nicht mein Fachgebiet) alles irgendwie gelabelt, und standardmäßig auch alles eingeschränkt. Das ist prinzipiell sicherer, weil _nichts_ unconfined ist, kann aber auch mehr Arbeit machen. AppArmor verwendet dagegen Profile für bestimmte Anwendungen - meine Faustregel ist: alles, das am Netzwerk hängt, hat ein AppArmor-Profil verdient ;-) Das macht die Sache deutlich einfacher (man kann sich auf die "wichtigen" Programme konzentrieren), aber man sollte natürlich darauf achten, kein mögliches Einfallstor zu vergessen ;-) Theoretisch kann man mit AppArmor auch Full System Confinement machen. Ich habe es nie selbst ausprobiert, aber ich stelle es mir ähnlich schmerzhaft vor wie das, was ich gerüchteweise über selinux gehört habe ;-) Gruß Christian Boltz -- [Loadbalancer vor Mailservern] Ausbauen, bei Ebay verhökern und die frei gewordene Zeit zusammen mit dem Ebay-Erlös in eine große Betriebsparty mit Cocktails anlegen. [Peer Heinlein in postfixbuch-users] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org