Removed invalid maildir and rebuild it

#1
Hallo zusammen,

mein erster Beitrag und direkt Gemecker ;)
Ich habe seit längerem einen Server, der nur als Mailserver dient, auf Basis von ISPConfig3 im Einsatz. Die Historie ist bisher

-Maildir-Root war zu Anfang /var/vmail
-Platzprobleme => via Webinterface den Maildir-Pfad in /www/vmail geändert
-Inhalte von /var/vmail nach /www/vmail verschoben
-/var/vmail als Symlink zu /www/vmail angelegt

Heute habe ich folgende Meldung im Ispconfig-Log gefunden. Auslöser war, dass der Benutzer einen Autoresponder eingerichtet hat:

Code:
15.04.2014-17:57 - DEBUG - Found 1 changes, starting update process.
15.04.2014-17:57 - DEBUG - Calling function 'user_update' from plugin 'mail_plugin' raised by event 'mail_user_update'.
15.04.2014-17:57 - DEBUG - Moved Maildir from: /var/vmail/xxxxxxxxx.de/hans.mustermann to /www/vmail/xxxxxxxxx.de/hans.mustermann
15.04.2014-17:57 - DEBUG - Calling function 'update' from plugin 'maildrop_plugin' raised by event 'mail_user_update'.
15.04.2014-17:57 - DEBUG - Processed datalog_id 3268
15.04.2014-17:57 - DEBUG - Remove Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock
15.04.2014-17:58 - DEBUG - Set Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock
15.04.2014-17:58 - DEBUG - Remove Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock
15.04.2014-17:59 - DEBUG - Set Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock
15.04.2014-17:59 - DEBUG - Remove Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock
15.04.2014-18:00 - DEBUG - Set Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock
15.04.2014-18:00 - DEBUG - Found 1 changes, starting update process.
15.04.2014-18:00 - DEBUG - Calling function 'user_update' from plugin 'mail_plugin' raised by event 'mail_user_update'.
15.04.2014-18:00 - WARNING - Removed invalid maildir and rebuild it: /www/vmail/xxxxxxxxx.de/hans.mustermann
15.04.2014-18:00 - DEBUG - Created Maildir /www/vmail/xxxxxxxxx.de/hans.mustermann with subfolder: 
15.04.2014-18:00 - DEBUG - Set ownership on /www/vmail/xxxxxxxxx.de/hans.mustermann
15.04.2014-18:00 - DEBUG - Set Maildir quota to unlimited.
15.04.2014-18:00 - DEBUG - Created Maildir /www/vmail/xxxxxxxxx.de/hans.mustermann with subfolder: Sent
15.04.2014-18:00 - DEBUG - Created Maildir /www/vmail/xxxxxxxxx.de/hans.mustermann with subfolder: Drafts
15.04.2014-18:00 - DEBUG - Created Maildir /www/vmail/xxxxxxxxx.de/hans.mustermann with subfolder: Trash
15.04.2014-18:00 - DEBUG - Created Maildir /www/vmail/xxxxxxxxx.de/hans.mustermann with subfolder: Junk
15.04.2014-18:00 - DEBUG - Set Maildir quota to unlimited.
Einer der Knackpunkte ist sicherlich, dass in der mail_user-Tabelle in maildir noch /var/vmail hinterlegt war. Der Cronjob wollte den Ordner dann verschieben, aber Quelle und Ziel waren in dem Moment identisch.
Als nächstes hat ISPConfig den Ordner als ungültig deklariert und das Postfach danach neu angelegt. Das fatale ist: hierbei handelte es sich um ein IMAP-Postfach mit zig Gigabyte Mails!

Ausgehen davon jetzt ein Statement und eine Frage:

1) Diese Funktion "das ist ungültig, ich schreib's mal neu" halte ich für etwas gefährlich, wenn sie eigenmächtig einfach mal so Mailkonten entfernt und neu anlegt. Es wäre m.E. besser, wenn sie den vorhandenen Ordner umbenennen (.bak) und dann den neuen anlegen würde, das dann inkl. z.B. einem Warnhinweis an den Admin beim nächsten Login (oder direkt per Mail).

2) Kann ich in der mailuser-Tabelle gefahrlos alle Konten via replace von /var/vmail in /www/vmail ändern? Die nächsten Schritte wären dann
-Replace von /var/vmail
-Löschen des Symlinks /var/vmail

Gruß,
Marcus
 

Till

Administrator
#2
Das Problem ist dadurch verursacht dass Du die Konten unsachgemäß verlagert hast, ISPConfig check pfade auf Symlink Angriffe und behebt diese.

Die korrekte Vorgehensweise ist:

1) Daten in neuen Pfad kopieren.
2) Einen Bind mount in /etc/fstab vom alten auf den neuen pfad anlegen und aktivieren.
 
#3
Hi Till,

danke erst einmal für die Antwort. Mir war schon klar, dass der Symlink die Ursache ist, ich habe jetzt schlichtweg alle Einträge in mail_user angepasst, /var/vmail ist jetzt komplett raus.

Die Prüfung auf Symlink-Attacks ist ja durchaus legitim, aber die Vorgehensweise, dann direkt zu löschen und neu anzulegen, ist m.E. sehr, sehr gefährlich - das sollte ispconfig nur nach Rücksprache mit dem Admin machen. Für den Benutzer waren jezt auf einen Schlag alle seine Mails gelöscht, weil er einen Autoresponder angelegt hat.

Wäre es nicht eine Idee, solche kritischen Gegebenheiten in einer Art Queue abzulegen, den Admin per Mail zu benachrichtigen und dann beim Login direkt als "Red Alert Question" zu präsentieren, so nach dem Motto "ich will hier etwas brachiales machen, darf ich das"? Dies wäre etwas weniger destruktiv.
 

Werbung