Missbrauch von Roundcube zum Versenden vom Spam

  • Hallo,


    ich habe aktuell den Fall, das das Passwort eines Users gepwned wurde und unter Verwendung des Roundcube Clients massenhaft Spam-Mail versandt wurde (konkret mit dem roundcube 0.95, welcher in der pd-admin SE Umgebung noch enthalten ist.


    Das führt dann in der Regel zu einem raschen Blacklisting und damit natürlich zum Lahmlegen des Servers, weil die "ordentlichen" Mails nicht mehr von den anderen Mailservern angenommen werden. Da man das nie ganz ausschließen kann, möchte ich den Roundcube Client besser absichern.


    Hat jemand eine Idee, wie man die roundcube Mail-Konfiguration besser absichern kann?


    Ich habe Parameter gesehen für ein Delay des SMTP Versands sowie die Begrenzung der maximalen Anzahl von eMail-Adressen in einer Mail.

    Aber vielleicht gibt es ja sinnvollere Methoden? Hat jemand eine Idee?

  • Sowas ist wirklich Mist, zumal roundcube ja nicht im Kontext des SMTP Accounts des Users versendet. Somit greift das ansonsten recht hilfreiche Sendelimit des Accounts nicht.


    Der erste Ansatz der mir einfallen würde:

    Man kann bei Roundcube im config File ein logging aufdrehen. Dann wird jede Action in ein File im roundcube Logs Verzeichnis geloggt. Da könnte man dann schauen, ob sich beim Absetzen eines Mails hier etwas tut, das man in eine fail2ban Regel pressen könnte. Wenn hier bei jedem Mailversand, hoffentlich inklusive IP, eine Zeile geloggt wird, könnte man mit fail2ban die Sendelimits (zb. maximal 20 Mails in 15 Minuten) beinahe adäquat nachbauen.

  • Versand von Mails werden unter /usr/local/pd-admin2/htdocs/roundcubemail/logs/ssendmail geloggt. Dies ist eine Standardeinstellung. Es muss also nichts an der Konfig von Roundcubemail gemacht werden. Die Logzeilen sehen dann wie folgt aus:

    Code
    1. [15-May-2019 06:48:59 +0200]: User mail@absender.tld [178.xxx.xxx.xxx]; Message for mail@empfänger.tld; 250: ok 1557895739 qp 19142


    Man könnte also tatsächlich ein fail2ban Filter dafür erstellen.


    Aber greift das Mail Submission Limit aus pd-admin wirklich nicht? Die Mails werden ja schließlich von Roundcubemail an qmail übergeben und dieser stellt die Mails dann zu. Das Mail Submission Limit greift tatsächlich nicht bei Mails, die von Roundcubemail versandt werden.


  • Generell alle Mails die via nicht-authentifizierter smtp Verbindung zu localhost oder via sendmail Befehl abgesetzt werden, fallen nicht ins Sendelimit. Somit im Prinzip alles was so von Scripts / Weboberflächen generiert wird.


    Wurde hier schonmal diskutiert, dass das schade ist. Andererseits versteh ich es, ich wüsste selbst nicht wie man das implementieren könnte.

    Bezogen auf ein mailgenerierendes Kunden-Script dass in einem bestimmten Account liegt, ginge es vielleicht noch. Man könnte den sendmail Befehl durch ein wrapper Script ersetzen, dass auf das Sendelimit Rücksicht nimmt.

    Aber bei einer serverweit gemeinsam genutzten Sache wie roundcube wirds schwierig.