Catch-all-E-Mail: eigene Domain als Leak-Detektor nutzen

Aktualisiert: 4 Min. Lesezeit Redaktion haveibeenhacked.de
Kurz gesagt

Eine Catch-all-E-Mail-Adresse nimmt alle Mails an deine Domain an, auch an Adressen, die nie angelegt wurden. Gibst du jedem Dienst eine eigene Adresse wie [email protected], siehst du bei Spam oder einem Datenleck sofort, wer die Adresse weitergegeben hat. Einzelne verbrannte Adressen sperrst du gezielt, ohne dein Hauptpostfach zu wechseln.

Stell dir vor, an eine Adresse, die du ausschließlich bei einem Elektronikversand hinterlegt hast, kommt plötzlich Werbung für Sportwetten. Eine Woche später verschickt der Händler eine Mail: „Sicherheitsvorfall bei einem Dienstleister.“ Du wusstest es schon. Das ist der ganze Trick einer Catch-all-E-Mail mit eigener Domain, und er funktioniert zuverlässiger als jeder Leak-Dienst, weil er auch Weitergaben zeigt, die nie öffentlich werden.

Wie eine Catch-all-E-Mail funktioniert

Normalerweise nimmt ein Mailserver nur Mails an Adressen an, die eingerichtet sind. Alles andere wird mit 550 5.1.1 User unknown abgelehnt. Bei Catch-all landet jede Mail an deine Domain im Zielpostfach, egal was vor dem @ steht.

Damit musst du keine Adressen anlegen. Du denkst sie dir beim Anmelden aus:

DienstAdresse
Online-Händler[email protected]
Stadtwerke[email protected]
Newsletter Fachmagazin[email protected]
Vereinsportal[email protected]

Das Kürzel k7 ist optional, hat aber einen Zweck: Wer weiß, dass du Catch-all nutzt, kann nicht einfach [email protected] raten und dir Phishing schicken, das echt wirkt.

Der Leak-Detektor in der Praxis

Kommt Spam oder Phishing an stadtwerke-k7@, gibt es drei Erklärungen: Die Stadtwerke hatten ein Datenleck, sie haben die Adresse weitergegeben, oder ein Dienstleister von ihnen war betroffen. In allen Fällen weißt du, wo du nachfragen musst. Nach Art. 15 DSGVO kannst du Auskunft verlangen, an wen deine Daten übermittelt wurden.

Das ergänzt Dienste wie den HPI Identity Leak Checker oder Have I Been Pwned, die nur öffentlich gewordene Leaks kennen. Wie die funktionieren, steht in Datenleck prüfen. Deine Catch-all-Domain erkennt auch Weitergaben, die nie in einem öffentlichen Leak auftauchen.

Ein weiterer Vorteil zeigt sich bei Phishing. Kommt eine angebliche Mail deiner Bank an die Adresse, die du beim Fachmagazin hinterlegt hast, ist sie gefälscht. Ohne lange Prüfung.

Catch-all einrichten

Bei den meisten Mail-Anbietern mit eigener Domain ist es eine Checkbox, oft unter „Alias“, „Weiterleitung“ oder „Catch-all“. Bei einem eigenen Postfix-Server reicht eine Zeile in der Datei /etc/postfix/virtual:

@beispiel.de          [email protected]
sudo postmap /etc/postfix/virtual
sudo systemctl reload postfix

Voraussetzung ist, dass virtual_alias_maps = hash:/etc/postfix/virtual in der main.cf gesetzt ist und die Domain als virtuelle Domain bekannt ist. Spezifischere Einträge haben Vorrang, eine fest angelegte Adresse wird also nicht vom Catch-all überschrieben.

Im DNS ändert sich nichts. Es zählt nur, dass der MX-Record auf den richtigen Server zeigt:

$ dig +short MX beispiel.de
10 mx.mailanbieter.example.

Spam im Griff behalten

Der Einwand gegen Catch-all ist berechtigt: Du nimmst alles an, auch Wörterbuchangriffe auf info@, admin@, buchhaltung@. Drei Regeln halten das klein:

  1. Verbrannte Adressen ablehnen statt filtern. In Postfix etwa mit einer Zugriffsliste in /etc/postfix/recipient_access, sodass der Server die Adresse schon beim Einliefern zurückweist:
[email protected]   REJECT Adresse stillgelegt

Eingebunden über check_recipient_access hash:/etc/postfix/recipient_access in smtpd_recipient_restrictions, danach postmap.

  1. Catch-all auf eine Subdomain legen. Statt *@beispiel.de nimmst du *@in.beispiel.de. Spammer raten Subdomains selten, deine Hauptadressen bleiben sauber. Die Subdomain braucht dafür einen eigenen MX-Record.

  2. Eine Sammel-Ordnerregel. Alles, was nicht an eine deiner festen Adressen geht, landet in einem Ordner „Dienste“. Dein Posteingang bleibt übersichtlich.

Catch-all, Alias-Dienst oder Plus-Adresse?

Es gibt drei verbreitete Wege, pro Dienst eine eigene Adresse zu nutzen. Sie unterscheiden sich vor allem darin, wem die Adressen am Ende gehören.

VerfahrenBeispielGehört dir?Schwäche
Plus-Adresse[email protected]nein, hängt am Freemail-KontoZusatz lässt sich abschneiden
Alias-Dienst[email protected]nein, hängt am DienstDienst eingestellt, Adressen weg
Catch-all auf eigener Domain[email protected]jaetwas mehr Spam, Domain muss bezahlt bleiben

Alias-Dienste, wie sie manche Passwort-Manager und Mail-Anbieter integrieren, sind bequem und blenden deine echte Adresse komplett aus. Der Haken: Verschwindet der Dienst oder wechselst du ihn, hängen deine Konten an Adressen, die du nicht mehr kontrollierst. Bei der eigenen Domain ziehst du einfach mit den MX-Records zu einem anderen Mail-Anbieter um, und alle Adressen funktionieren weiter. Für Konten, die du jahrelang behalten willst, ist das der entscheidende Unterschied.

Was Catch-all nicht kann

Catch-all schützt keine Konten. Wird ein Passwort geleakt, ist es geleakt, egal an welcher Adresse es hing. Was du dann tun musst, steht in E-Mail in Datenleck: was tun. Für eindeutige Passwörter pro Dienst brauchst du einen Passwort-Manager, der sich gleich auch die Adresse merkt.

Und eine Domain, an der dutzende Konten hängen, wird selbst zum wertvollen Ziel. Läuft sie aus und registriert sie jemand anderes, kann er für jede deiner Adressen „Passwort vergessen“ klicken. Wie du das verhinderst, erklärt Kontowiederherstellung mit eigener Domain.

Welche Domain sich eignet

Für Catch-all reicht jede Domain, sie muss nicht schön sein. Manche nehmen ihren Nachnamen als .de, andere eine kurze Fantasie-Domain, die nur für Anmeldungen genutzt wird. Eine eigene Domain dafür hat den Vorteil, dass sie nichts über deinen echten Namen verrät.

Eine .de-Domain kostet bei betadomain 2,99 € im Jahr, eine .email liegt bei 29,99 €. Beide verlängern sich zum selben Preis. Ob dein Wunschname frei ist, findest du in der Domain-Suche heraus. Stell beim Registrar am besten gleich die automatische Verlängerung ein, damit die Domain nie unbeabsichtigt ausläuft.

Schritt für Schritt

  1. Eigene Domain und Postfach bereitstellenDu brauchst eine Domain mit MX-Records auf einen Mail-Anbieter, der Catch-all unterstützt, und ein Zielpostfach.
  2. Catch-all aktivierenSchalte im Mail-Anbieter die Option für alle unbekannten Empfänger ein oder lege in Postfix einen Eintrag @deinedomain.de in virtual_alias_maps an.
  3. Namensschema festlegenBenutze für jeden Dienst einen eindeutigen Namen, etwa den Dienstnamen plus ein kurzes Kürzel, damit niemand die Adresse erraten kann.
  4. Adresse pro Dienst vergebenTrage bei jeder Anmeldung die passende Adresse ein und speichere sie im Passwort-Manager beim jeweiligen Eintrag.
  5. Verbrannte Adressen sperrenKommt Spam an eine Dienst-Adresse, prüfe, ob der Dienst ein Leak gemeldet hat, und sperre die Adresse per Ablehnungsregel. Beim Dienst hinterlegst du eine neue.

Domain gefunden? Prüfen und registrieren kannst du sie direkt bei Domains mit festem Jahrespreis – Jahrespreis ab 2,99 €.

Häufige Fragen

Bekomme ich mit Catch-all mehr Spam?

Etwas mehr, ja. Spammer probieren gängige Namen wie info@, admin@ oder zufällige Kombinationen durch, und bei Catch-all kommt alles an. Ein guter Spamfilter fängt das meiste ab, und mit einer Catch-all-Subdomain lässt sich das Problem fast ganz vermeiden.

Ist ein Catch-all bei jedem Mail-Anbieter möglich?

Nicht bei allen. Viele Hosting-Pakete und spezialisierte Mail-Anbieter bieten es als Option an, manche große Business-Suites nur über Umwege wie Routing-Regeln. Prüfe das vor dem Umzug, falls dir die Funktion wichtig ist.

Was ist der Unterschied zu Plus-Adressen?

Bei Plus-Adressen wie [email protected] hängt der Zusatz am eigentlichen Namen. Wer die Adresse missbrauchen will, entfernt das +shop einfach. Eine eigene Adresse auf eigener Domain lässt sich nicht so leicht auf das Hauptpostfach zurückführen.

Können Shops Catch-all-Adressen ablehnen?

Manche Prüfdienste für Anmeldeformulare stufen Domains, die jede Adresse annehmen, als „accept-all“ ein. Abgelehnt wird man dadurch selten. Wenn doch, legst du für diesen Dienst eine feste Adresse an.