KeyHelp‑Mailserver härten – Weiterleitungen, Spam, Bounces & Abuse‑Schutz (updatesicher)

Für Modifikationen in und um KeyHelp.
Post Reply
Systemweb
Posts: 18
Joined: Tue 25. Jul 2017, 09:50

KeyHelp‑Mailserver härten – Weiterleitungen, Spam, Bounces & Abuse‑Schutz (updatesicher)

Post by Systemweb »

Viele KeyHelp‑User kennen das Problem:
  • Weiterleitungen schicken Spam an GMX/Google → Bounces → Reputation leidet
  • Spam‑Bounces landen im Postfach
  • gehackte Postfächer können ungebremst Spam versenden
  • Rspamd filtert authentifizierte User nicht
Ich habe meinen Mailserver vollständig gehärtet – ohne KeyHelp‑Core zu verändern und updatesicher.
Diese Anleitung zeigt Schritt für Schritt, wie ihr das exakt so umsetzen könnt.

1. SASL‑Rate‑Limits aktivieren (Schutz vor gehackten Postfächern)
Damit ein kompromittiertes Postfach nicht tausende Mails pro Minute versenden kann, foldende Zeilen am Ende(!) der /etc/postfix/main.cf einfügen:

Code: Select all


# Begrenzung der ausgehenden Mails pro Client
smtpd_client_message_rate_limit = 60

# Begrenzung der Empfänger pro Client
smtpd_client_recipient_rate_limit = 120

Diese Limits sind mild und bremsen Bots zuverlässig aus, lassen aber weiterhin lokale Newsletter-Systeme zu.
Ein normales Newsletter‑System (z. B. PHPMailer, Mailwizz, Sendy, eigene PHP‑Skripte) sendet typischerweise 1 Mail pro Sekunde und überschreitet damit dieses Limit nicht.

2. Authenticated‑Bypass in Rspamd deaktivieren
Standard‑Rspamd filtert keine Mails, die über ein authentifiziertes Postfach gesendet werden.
Das ist gefährlich – ein gehacktes Postfach kann sonst ungehindert Spam verschicken.

Datei erstellen: /etc/rspamd/override.d/worker-proxy.inc

Code: Select all

# Auch authentifizierte User durch Rspamd filtern
allow_authenticated = false;


3. Greylisting aktivieren (optional, aber sehr wirksam)
Bots retryen nicht – echte Mailserver schon.

Datei: /etc/rspamd/local.d/greylist.conf

Code: Select all

# Greylisting aktivieren
enabled = true;

Greylist funktioniert praktisch wie ein Faxgerät, das einen "Übertragungsfehler" zurückmeldet, damit der Sender es noch einmal versucht. Erst beim 2. Versuch wird angenommen und zugestellt. Das gilt nur bei Erstkontakt. Danach lässt Greylist sofort passieren, da der Absender bereits bekannt ist.
Spam-Schleudern versuchen es i.d.R. kein 2. Mal, gewöhnliche Mailserver wiederholen die Zustellung nach kurzer Zeit noch einmal.

4. Spam‑Weiterleitungen blockieren (sehr wichtig!)
Damit Weiterleitungen keinen Spam mehr an GMX/Google schicken:

Datei anlegen: /etc/rspamd/override.d/force_actions.conf

Code: Select all

rules {
    # Spam bei Weiterleitungen blockieren (SRS-Adressen)
    BLOCK_SPAM_FOR_FORWARDS {
        expression = "spam | high_spam";
        action = "reject";
        message = "Spam rejected before forwarding";
        require_action = "no_action";
        rcpt = "/SRS0=/"; # Nur Weiterleitungen
    }

    # Spam-Bounces verwerfen (Backscatter verhindern)
    DROP_SPAM_BOUNCES {
        expression = "BOUNCE & spam";
        action = "discard";
        message = "Spam bounce discarded";
        require_action = "no_action";
    }
}

Damit werden:
  • Weiterleitungen sauber
  • Spam nicht mehr weitergeleitet
  • Spam‑Bounces verworfen
  • legitime Bounces weiterhin zugestellt
5. Dienste neu starten

Code: Select all

systemctl restart postfix
systemctl restart rspamd
6. Ergebnis
Nach dieser Härtung:
  • Weiterleitungen schicken keinen Spam mehr an GMX/Google
  • Spam‑Bounces werden verworfen
  • gehackte Postfächer können keinen Spam mehr versenden
  • Greylisting stoppt Bot‑Spam
  • KeyHelp‑Updates bleiben vollständig kompatibel
7. Originalzustand wiederherstellen (Rollback‑Anleitung)
Falls ihr die Änderungen rückgängig machen wollt, geht das sauber und vollständig so:

A) SASL‑Rate‑Limits entfernen
In /etc/postfix/main.cf die beiden Zeilen löschen:

Code: Select all

smtpd_client_message_rate_limit = 60
smtpd_client_recipient_rate_limit = 120

B) Angelegte Dateien wieder entfernen
Dateien löschen:

Code: Select all

rm /etc/rspamd/override.d/worker-proxy.inc
rm /etc/rspamd/local.d/greylist.conf
rm /etc/rspamd/override.d/force_actions.conf
Falls hier Fehler ausgegeben werden, dann wurde bei der Einrichtung ein optionaler Schritt übersprungen. Das kann ignoriert werden.

C) Dienste neu starten

Code: Select all

systemctl restart postfix
systemctl restart rspamd
Das System verhält sich exakt wieder wie vor der Härtung.
Post Reply