Hallo Tao, hallo Leute, Am Freitag, 14. Oktober 2011 schrieb Tao te Puh:
Am 13.10.2011 13:12, schrieb Christian Boltz:
[...]
Ist openSuSE ohne AppArmor, wie schickes Fahrrad ohne Schloss in der Großstadt - oder doch eher wie Auto mit elektronischer Wegfahrsperre aber ohne Alarmanlage?
Guter Vergleich - sogar dem Fahrrad ohne Schloss passiert nichts, solange kein Dieb kommt...
Davon abgesehen würde ich Linux nicht mit einem Fahrrad vergleichen ;-)
Du kennst mein Fahrrad nicht ...
;-)
Wo gibt es denn da mal eine Fehlermeldung der Art: "Ich, AppArmor habe zugeschlagen!".
/var/log/audit/audit.log schreibt das alles mit.
Danke! Die Datei war mir bisher völlig unbekannt. Nun muss ich nur noch die Sprache lernen die dort geschrieben steht ... In jedem Fall ist auffällig, dass vor dem Upgrade auf factory dort beim Zugriff auf den samba-Share Worte auftauchen wie "DENIED" und der Pfad zu meine Samba-Share ...
BTW: Was muss ich denn mind. dazu lernen/lesen um den Inhalt der Datei "audit.log" einigermaßen zu verstehen?
Die einfachste Lösung ist, mit "aa-notify -s 1 -v" eine Übersicht anzeigen zu lassen. Wenn Du wirklich das audit.log selbst lesen willst (geht durchaus, ich mache das auch), hier die Kurzfassung an einem kokreten Beispiel. type=AVC msg=audit(1318588756.630:39): apparmor="DENIED" operation="mkdir" parent=1 profile="/usr/sbin/avahi-daemon" name="/home/sys-var/run/avahi-daemon/" pid=2024 comm="avahi-daemon" requested_mask="c" denied_mask="c" fsuid=0 ouid=0 Das wichtigste und kryptischste vorweg: 1318588756.630 ist der Zeitpunkt des Logeintrags. Um den lesbar zu bekommen: # date -d @1318588756.630 Fr 14. Okt 12:39:16 CEST 2011 DENIED heißt, dass das Profil "scharfgeschaltet" ist. Alternativ gibt es ALLOWED bei Profilen im Lernmodus und AUDIT, wenn eine Regel mit "audit" markiert ist. operation= beschreibt, was das Programm machen wollte. profile= ist das verwendete Profil name= die Datei oder das Verzeichnis, für das Rechte fehlen requested_mask und denied_mask zeigen die angeforderten bzw. abgelehnten Rechte - hier "c" für create (wird im Profil zu _w_rite) Die anderen Dinge sind weniger wichtig und/oder selbsterklärend.
So, und jetzt zum interessanten Teil - was kannst/solltest Du tun?
Erstmal empfehle ich Dir die AppArmor-Pakete aus security:apparmor:factory [1] zu installieren - gegenüber der 11.4 gab es einige Verbesserungen und Ergänzungen in den AppArmor-Profilen. Das habe ich durchgeführt.
Mit etwas Glück sind damit Deine Dovecot-Probleme schon gelöst.
Die Dovecot-Maschine ist schon im produktiven Betrieb - da trau' ich mich das nicht so ohne weiteres - vielleicht mal am Wochenende ...
Die Pakete aus security:apparmor:factory laufen auch auf der 11.4 - ich habe das getestet, bevor ich mein System auf Factory aktualisiert habe. Wenn Du ganz sicher gehen willst, aktualisiere nur das Paket apparmor- profiles (aktuelle Profile, dürften nichts kaputtmachen). Allerdings verpasst Du dann einige andere Fixes und einen deutlichen Performancegewinn beim Booten - mit den Factory-Paketen startet AppArmor 20x so schnell (0,3 bis 0,4 Sekunden gegenüber 7,5 Sekunden auf meinem Laptop).
Samba ist etwas problematischer, weil die Pfade für die Freigaben frei konfigurierbar sind. Aus Samba-Sicht ist das natürlich erforderlich, aber für AppArmor ist sowas nicht wirklich out-of-the-box handhabbar. Du brauchst für jede Freigabe folgende zwei Zeilen in /etc/apparmor.d/usr.sbin.smbd (falls Du die Pakete aus security:apparmor:factory verwendest, trage es besser in
/etc/apparmor.d/local/usr.sbin.smbd ein): /pfad/zur/freigabe/ rk, /pfad/zur/freigabe/** rwkl,
Das habe ich ebenfalls durchgeführt und nun laufen Samba und AppArmor nebeneinander her und zunächst ohne weitere Auffälligkeiten.
BTW: Was bedeuten die Kürzel "rk" und "rwkl" ?
Das sind die Berechtigungen - r und w stehen für read and write, k für lock und l für link (Link erstellen). Falls Du Videotraining magst ;-) kannst Du Dir mal meinen Vortrag vom LinuxTag 2009 ansehen. Zu finden ist der auf http://en.opensuse.org/openSUSE:LinuxTag_09 (Video + Slides) Im Wesentlichen ist er noch aktuell - es fehlen nur ein paar neue Funktionen/Regeln, die aber eher selten gebraucht werden. Außerdem wurde "set capabilities" aus AppArmor entfernt. Gruß Christian Boltz -- Jaaaa! Und am besten den Rest des Desktops auch noch mit DHTML nachprogrammieren, ach was sag ich, JavaScript ist ja /die/ Sprache, um das ganze Betriebsystem neu zu entwickeln. [Ratti in fontlinge-devel] -- 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