• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Dovecot wird blockiert von Apparmor

f.gruber

Hacker
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.
 

bmk

Member
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
 
OP
F

f.gruber

Hacker
Vielen Dank für die Info
Code:
aa-complain dovecot
... und dann Start von dovecot
Code:
dovecot
Und nun läuft der IMAP Server wieder :p

Jedoch zeigt mir
Code:
 journalctl --unit dovecot
, dass doch nicht alles ok ist.
Code:
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:
 /etc/apparmor.d/usr.lib.dovecot.config
folgende Zeile hinzuzufügen:
Code:
/etc/letsencrypt/live/www.example.com/* r,
Damit bringe ich aber die Fehlermeldungen nicht weg.
Bei jedem Neustart von dovecot kommen diese Fehlermeldungen.
 
OP
F

f.gruber

Hacker
Nun habe ich die Fehlermeldungen nach dem Start von Dovecot anscheinend doch wegbekommen.

Habe gesehen, dass es eine Datei
Code:
 /etc/apparmor.d/usr.sbin.dovecot.rpm.new
gibt.
Diese habe ich nun aktiviert.

Und der Server scheint zu funktionieren.
 
Oben