Seite 1 von 1

Dovecot wird blockiert von Apparmor

Verfasst: 8. Jun 2017, 09:51
von f.gruber
Hallo,
ich habe auf meinem Server ein Upgrade von Leap 42.1 auf 42.2 gemacht.
Nun habe ich festgestellt, dass der IMAP Server Dovecot nur dann weiter funktioniert, wenn ich AppArmor deaktiviere.

Mit AppArmor kenne ich mich leider nicht wirklich aus.

Ich gehe davon aus, dass die Profile, die im Zusammenhang mit Dovecot stehen nicht auf dem neuesten Stand sind.
Im YAST Modul apparmor sehe ich, dass es 16 Profile gibt, die mit Dovecot zu tun haben.

Bitte um Hilfe.

Re: Dovecot wird blockiert von Apparmor

Verfasst: 8. Jun 2017, 14:23
von bmk
Hallo,

ich bin zwar kein Experte in dieser Frage, aber zumindest einige Infos zu den Thema:

Die Apparmor-Profile (in /etc/apparmor.d) definieren komplett, auf welche Systemmittel eine Anwendung zugreifen darf und welche Rechte sie dabei besitzt.

Vermutlich wird durch apparmor der Zugriff auf diverse Dateien blockiert.

Anbei die wichtigsten Befehle:
aa-status Überblick über die geladenen AppArmor-Profile mit Angabe des Modus
aa-<Modus> Profil in den entspr. Modus versetzen
Modi
complain "Lernmodus": Aktionen, die gegen die Regeln verstoßen, werden nur geloggt und nicht verboten. Das Profil enthält die Kennzeichnung flags=(complain).
enforce "Zwangsmodus": Aktionen, die gegen die Regeln verstoßen, werden geloggt und verboten. Das Profil enthält die Kennzeichnung flags=(enforce).
audit "Prüfmodus": Alle Regelanwendungen und Regelverstöße werden geloggt. Das Profil enthält die Kennzeichnung flags=(audit).
disable Profil deaktivieren
Pfad zur Datei
/ordner/* gilt für alle Dateien im Verzeichnis /ordner
/ordner/ gilt für das spezifische Verzeichnis /ordner
/ordner/*/ gilt für jedes Verzeichnis in /ordner
/ordner/** gilt für jede Datei oder jedes Verzeichnis in oder unterhalb von /ordner
/ordner/**/ gilt für jedes Verzeichnis in oder unterhalb von /ordner
Berechtigung
r, w, a, l, k, Lesen, Schreiben, Ändern, Link erstellen, Lock

Vielleicht hilft es, die apparmor-Profile in den audit - bzw. complain-Modus zu versetzen und im Logging nachzusehen, wo das Problem liegt.

Ich hatte das Problem bei einem Server (mysql-Daten von /var/lib/mysql nach /srv/mysql verschoben), da musste ich dann entspr. Anpassungen vornehmen, da sonst die Datenbankzugriffe blockiert wurden.

Grüße bmk

Re: Dovecot wird blockiert von Apparmor

Verfasst: 8. Jun 2017, 20:03
von f.gruber
Vielen Dank für die Info

Code: Alles auswählen

aa-complain dovecot
... und dann Start von dovecot

Code: Alles auswählen

dovecot
Und nun läuft der IMAP Server wieder :p

Jedoch zeigt mir

Code: Alles auswählen

 journalctl --unit dovecot
, dass doch nicht alles ok ist.

Code: Alles auswählen

config: Fatal: Error in configuration file /etc/dovecot/conf.d/10-ssl.conf line 13: ssl_cert: Can't open file /etc/letsencrypt/live/www.example.com/fullchain.pem: Permission denied
master: Error: service(config): command startup failed, throttling for 2 secs
ssl-params: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Connection reset by peer
anvil: Fatal: Error reading configuration: read(/var/run/dovecot/config) failed: read(size=8192) failed: Connection reset by peer
master: Error: service(anvil): command startup failed, throttling for 2 secs
master: Error: service(ssl-params): command startup failed, throttling for 2 secs
Habe nun versucht, in der Datei

Code: Alles auswählen

 /etc/apparmor.d/usr.lib.dovecot.config
folgende Zeile hinzuzufügen:

Code: Alles auswählen

/etc/letsencrypt/live/www.example.com/* r,
Damit bringe ich aber die Fehlermeldungen nicht weg.
Bei jedem Neustart von dovecot kommen diese Fehlermeldungen.

Re: Dovecot wird blockiert von Apparmor

Verfasst: 8. Jun 2017, 21:15
von f.gruber
Nun habe ich die Fehlermeldungen nach dem Start von Dovecot anscheinend doch wegbekommen.

Habe gesehen, dass es eine Datei

Code: Alles auswählen

 /etc/apparmor.d/usr.sbin.dovecot.rpm.new
gibt.
Diese habe ich nun aktiviert.

Und der Server scheint zu funktionieren.