mailcows eingebautes fail2ban stoppt die lautesten Angriffe — zehn fehlgeschlagene Anmeldungen in zehn Minuten bringen eine Sperre von dreißig Minuten — und vergisst sie dann wieder. Alles Leisere kommt durch: eine Adresse, die den ganzen Tag alle paar Minuten ein Passwort probiert, ein Botnetz, das seine Versuche auf Hunderte Adressen verteilt, ein Scanner, der dein Webmail nach /.env absucht, ein Postfach, dessen Passwort erraten wurde und das jetzt Spam verschickt. Dieses Modul zeigt all das unter System → Security, behält den Verlauf und handelt, wenn du es lässt.
Was es tut
- Ein Verlauf der Angriffe: Jede Minute liest es, was mailcow ohnehin protokolliert — dovecot, postfix, SOGo und fail2ban aus mailcows redis, den Webserver und fehlgeschlagene Anmeldungen an der mailcow-UI / API über den Host-Agent des Toolkits — und speichert es in mailcows Datenbank (standardmäßig 90 Tage). mailcows eigene Protokolle behalten nur die letzten Zeilen; dieser Verlauf bleibt.
- Eine Übersicht mit den Summen der letzten 24 Stunden, einem 14-Tage-Diagramm, den aktivsten Adressen (mit Sperr-Schaltfläche), den angegriffenen Postfächern und den aktiven Vorfällen. Ein rotes Schild neben dem Menü System zeigt offene schwere Vorfälle auf jeder Admin-Seite.
- 13 Regeln für das, was fail2ban übersieht: langsames Brute Force, Password Spraying (eine Adresse, viele Postfächer), Wiederholungstäter (Adressen, die fail2ban immer wieder sperrt), Brute Force auf SOGo / die mailcow-UI / die API, Web-Exploit- und 404-Scans, Relay-Tests, Protokoll-Scans und Spam-Fluten. Schwellen, Zeitfenster, Aktionen und Sperrdauern lassen sich pro Regel ändern.
- Kompromittierte Postfächer: ein plötzlicher Sendeanstieg, Anmeldungen von vielen Adressen und eine Anmeldung von einer Adresse, die vorher an dem Postfach gescheitert ist — ein Passwort, das wahrscheinlich erraten wurde.
- Sperren über mailcow selbst: Mit eingeschalteten automatischen Aktionen kommt eine Adresse für die Dauer der Regel in die Denylist von mailcows fail2ban; netfilter setzt sie innerhalb einer Minute auf jedem mailcow-Port um, und du siehst sie auf mailcows eigener Fail2ban-Seite. Für Web-Hosts hinter dem Cloudflare-Proxy kann die Sperre zusätzlich eine IP Access Rule auf Cloudflare-Kontoebene sein.
- Kontoaktionen über mailcows eigene Funktionen: Anmeldung verbieten (das Postfach empfängt weiter Mail), die IMAP- / POP3-Sitzungen beenden, eine Passwortänderung verlangen, das Senden begrenzen.
- Warnungen per E-Mail und Telegram ab dem Schweregrad deiner Wahl, mit Stundenlimit, und eine optionale tägliche Zusammenfassung.
So gebaut, dass du dich nicht aussperrst
- Standardmäßig nur beobachten: Jeder Vorfall sagt, was getan worden wäre; die automatischen Aktionen schaltest du ein, wenn du den Regeln vertraust.
- Nie automatisch gesperrt: private und reservierte Adressen, deine Allowlist, die Allowlist von mailcows fail2ban, die eigenen Adressen des Servers und — standardmäßig eingeschaltet — Adressen, die sich in den letzten 30 Tagen erfolgreich an einem Postfach angemeldet haben.
- Eine Sperre, die du auf mailcows Fail2ban-Seite entfernst, gilt als aufgehoben. Sperren laufen pünktlich ab, auch ohne Lizenz, und die Deinstallation hebt alle auf.
- Jede Aktion — deine oder die des Moduls — steht im Audit-Log.
Voraussetzungen
- mailcow-dockerized mit dem mailcow Toolkit 0.6.0 oder neuer von MediaLab Works (dieses Produkt ist eines der Module des Pakets, mit eigener Lizenz).
- Root-Zugang auf dem Host, um das Toolkit zu installieren; der Server muss
medialab.worksüber HTTPS erreichen (Lizenzprüfung). - mailcows netfilter-Container muss laufen (er setzt die Sperren um). Ist Manage external eingeschaltet, muss deine eigene Firewall mailcows Liste umsetzen.
- Optional: ein Cloudflare-Token mit Account → Account Firewall Access Rules → Edit; ein Telegram-Bot-Token für Warnungen.
- Open Source (GPL-3.0): Du bekommst den vollständigen Quellcode.
Datenschutz
Alles bleibt auf deinem Server: Protokolle, Adressen, Postfachnamen und der Verlauf liegen in deiner mailcow-Datenbank und gehen nie an medialab.works. Warnungen gehen nur an die E-Mail-Adresse und den Telegram-Chat, die du einträgst.
Lizenzierung
Eine Lizenz pro mailcow-Server, Monats- oder Jahresabo oder Lifetime, mit 30 Tagen kostenlosem Test; außerdem Teil des mailcow-Pakets. Ohne gültige Lizenz stoppen Erkennung, Sperren und Warnungen, und nichts wird gelöscht. Siehe Preise und die Installations- und Benutzeranleitung.
