Ein kompromittiertes E-Mail-Konto als Spam-Relay ist ein klassischer Angriff: Angreifer erbeuten Credentials (Phishing, Datenleck, schwaches Passwort) und missbrauchen das legitime Konto für Massen-Spam. Das ist gefährlich, weil ausgehende E-Mails die IP-Reputation des Servers ruinieren und zu Blacklistings führen.

Erkennungszeichen

  • Plötzlich hohe Anzahl an SMTP-AUTH-Logins in den Logs
  • Bounce-Mails an unbekannte Adressen im Posteingang
  • Mailserver-IP auf Blacklists (prüfen: mxtoolbox.com)
  • Ungewöhnliche Sendezeiten (nachts, früh morgens)
  • Outbound-Traffic-Spike
# Postfix: Auth-Logins analysieren
grep "sasl_username" /var/log/mail.log | awk "{print \$NF}" | sort | uniq -c | sort -rn | head -20

# Anzahl ausgehender Mails pro Stunde
grep "status=sent" /var/log/mail.log | awk "{print substr(\$3,1,13)}" | uniq -c

# Aktuelle Queue einsehen
mailq | head -30

Sofortmaßnahmen

  • SMTP-Zugang sperren für das betroffene Konto (nicht nur Passwort ändern)
  • Mail-Queue leeren: postsuper -d ALL — alle Mails in der Queue löschen
  • Credentials ändern + 2FA aktivieren (TOTP)
  • Logs exportieren für spätere Analyse
  • Empfängerliste extrahieren (für eventuelle Meldepflicht)
# Queue sofort leeren (Vorsicht: löscht ALLE ausstehenden Mails)
postsuper -d ALL

# Empfänger aus Logs extrahieren
grep "to=<" /var/log/mail.log | grep -oP "to=<\K[^>]+" | sort -u > empfaenger.txt
wc -l empfaenger.txt

# SMTP für Konto in Mailcow deaktivieren
# Mailcow Web-UI → E-Mail-Konten → Konto bearbeiten → SMTP deaktivieren

Prävention

  • Rate-Limiting: Max. 50–100 ausgehende Mails/Stunde pro Konto (Postfix-Policy oder Mailcow-Einstellungen)
  • Fail2ban: SMTP-Auth-Failures sperren nach N Versuchen
  • SPF + DKIM + DMARC: Minimiert Schaden bei Fremdsendung, da externe Server Mails ablehnen
  • Monitoring: Alert bei mehr als X ausgehenden Mails in Y Minuten
# fail2ban Jail für Postfix SASL
# /etc/fail2ban/jail.local
[postfix-sasl]
enabled  = true
port     = smtp,465,587
filter   = postfix-sasl
logpath  = /var/log/mail.warn
maxretry = 5
bantime  = 3600