Postfix-Relay, Multi-Domain, Sicherheit und im Grunde alles
Ich möchte einen Relay-Server mit einer statischen IP-Adresse im Web einrichten, der E-Mails für mehrere Domänen annehmen und auch E-Mails für diese Domänen versenden soll. Leider sind meine Erfahrungen mit Postfix weniger als begrenzt, daher habe ich einige allgemeine Fragen zur Architektur.
Da ich keine Anleitung zum Einrichten eines E-Mail-Servers finden konnte, fügte ich mehr als zufrieden hinzu, Mechanismen oder Konfigurationsdetails hinzuzufügen, die auf Empfehlungen basieren (BSI, NIST, M3aawg usw.). ) und verknüpfen sie als Referenz.
Was ich mir vorstelle
Die Relay-Hosts werden angerufen ( Relay-Host-Liste )
- a.mx.my-company.com
- b.mx.my-company.com
Sie erhalten jeweils ein SSL-Zertifikat über Let's encrypt, das für ihren jeweiligen Hostnamen für STARTTLS an Port 25 ausgegeben wird.
Außerdem habe ich eine Liste von Domänen, für die der Server Mails annehmen soll ( Liste der akzeptierten Domänen ).
- onedomain.com
- onedomain.net
- otherdomain.com
Es gibt eine weitere Liste von Absenderhosts, die eine Verbindung zu den Relays herstellen, um E-Mails zu senden, und von den Relays eine Verbindung herstellen, um E-Mails zu erhalten ( Absenderhostliste ).
- a.mail.intern.onedomain.com
- b.mail.intern.onedomain.com
- a.mail.intern.otherdomain.com
- mail.holdingcompany.com
Es sind einige Benutzer (hostname_sender + "_up") definiert, die Rechte zum Senden des Namens der Domänen erhalten sollen ( akzeptierte Domänen-Relay-Benutzer ).
- Benutzer: a.mail.intern.onedomain.com_up ; Zuschuss: onedomain.com, onedomain.net
- Benutzer: b.mail.intern.onedomain.com_up ; Zuschuss: onedomain.com, onedomain.net
- Benutzer: a.mail.intern.otherdomain.com_up ; gewähren: otherdomain.com
- Benutzer: mail.holdingcompany.com_up ; gewähren: onedomain.com, onedomain.net, otherdomain.com
Umgekehrt wird eine Liste von Benutzern (hostname_sender + "_down") definiert, die es dem Relay-Host bzw. den Relay-Hosts ermöglicht, sich wieder mit den Absender-Hosts zu verbinden ( Zustellungs-Benutzerliste ).
- Benutzer: a.mail.intern.onedomain.com_down
- Benutzer: b.mail.intern.onedomain.com_down
- Benutzer: a.mail.intern.otherdomain.com_down
- Benutzer: mail.holdingcompany.com_down
Verbindungen an Port 25 zulassen
Für externe Server
Ein normaler Mail-Server wie Yahoo oder Google Mail möchte möglicherweise Nachrichten über meine Relays übermitteln. Der Server sollte dann die grundlegenden Elemente überprüfen, z. B. statische IP-Adresse, nicht auf der Blacklist und ob sich die Zieldomäne in meiner Liste der akzeptierten Domänen befindet . Diese Verbindung kann STARTTLS verwenden oder nicht.
Ich denke darüber nach, SPF zu ignorieren, da dies kein zuverlässiges Design ist. Andererseits möchte ich DKIM verwenden, um alle E-Mails, die von einer Domäne stammen, für die DKIM konfiguriert ist, hart abzustoßen, die eingehenden E-Mails jedoch nicht mit der Signatur übereinstimmen. Außerdem würde ich vermuten, dass es eine gute Idee ist, eine Kopie einer fehlgeschlagenen Mail mit der Fehlerbeschreibung an den Postmaster zu senden. Nur wenn sich ein Benutzer beschwert, erhält er keine Mail, die er erwartet.
Für vertrauenswürdige / interne Server / Benutzer
Ein Mail-Server in einem Netzwerk kann über Port 25 eine Verbindung herstellen, alle Überprüfungen (auf einer Blacklist, mit dynamischer IP-Adresse usw.) fehlschlagen, muss jedoch STARTTLS aktivieren und sich selbst über akzeptierte Domänen-Relay-Benutzer authentifizieren . Von diesem Punkt an kann die Verbindung dazu verwendet werden, Mails im Namen einer Domäne zu versenden, zu der der Benutzer berechtigt ist. Nur Relay-Hosts sollen sich hier verbinden, nicht die Endbenutzer selbst. Dieser Server soll auch keine DKIM-Informationen hinzufügen, da es sich lediglich um einen öffentlich "vertrauenswürdigen" Mail-Server mit einer statischen IP-Adresse handelt und nicht auf einer Blacklist.
Zustellung von E-Mails von einem Relay-Host an den zuständigen Absenderhost
In der Konfiguration meines Relay-Hosts finde ich eine Liste ( Domain-Forward-Liste )
- onedomain.com, onedomain.net -> a.mail.intern.onedomain.com, b.mail.intern.onedomain.com [, mail.holdingcompany.com]
- otherdomain.com -> a.mail.intern.otherdomain.com [, mail.holdingcompany.com]
Anfrage für Kommentare
Ich versuche, einen guten und aktuellen Stand der Technik für die Einrichtung von E-Mail-Servern festzulegen. Ich dachte an diese Architektur, um mir die größte Flexibilität und die Fähigkeit zu geben, Mailserver auf dynamischen IPs bereitzustellen. Dies könnte möglicherweise den ganzen Weg bis zu dem Punkt erreichen, an dem der durch die Firewall der Site verfügbare "Vor-Ort-Postfix" an einem nicht standardmäßigen Port nur TLS-Verbindungen mit allow_tls_clientcerts akzeptiert.
Wenn eine eingehende E-Mail für userA@onedomain.com weitergeleitet wird, sollte sie in meiner Konfiguration die Route über einen beliebigen Host von meiner Domain-Weiterleitungsliste für diese angegebene Domain übernehmen. Die Server selbst können sich an zwei separaten Standorten befinden und nur jeweils über eine 16 / 1MBit-Leitung mit unterschiedlichen Mailboxen auf den entsprechenden IMAP-Servern verbunden sein. Obwohl dies funktionieren würde, würde ich gerne wissen, ob es einen Weg gibt, auf dem die internen Server E-Mails direkt miteinander austauschen können.
- a.mail.intern.onedomain.com -> responese: Benutzer existiert, aber ich bin nicht verantwortlich
- b.mail.intern.onedomain.com -> Antwort: Vielen Dank
Oder:
- a.mail.intern.onedomain.com -> responese: Benutzer existiert, aber ich bin nicht verantwortlich
- b.mail.intern.onedomain.com -> responese: Benutzer existiert, aber ich bin nicht dafür verantwortlich
- mail.holdingcompany.com -> responese: Benutzer existiert, aber ich bin nicht verantwortlich
- Postmeister benachrichtigen, gültige Adresse, aber niemand verantwortlich
Oder:
- a.mail.intern.onedomain.com -> responese: unbekannter Benutzer
Oder:
- a.mail.intern.onedomain.com -> responese: Benutzer existiert, aber ich bin nicht verantwortlich
- b.mail.intern.onedomain.com -> Timeout
- mail.holdingcompany.com -> responese: Benutzer existiert, aber ich bin nicht verantwortlich
- Benachrichtigen Sie den Postmaster nach einigen Wiederholungen auf b.mail.intern.onedomain.com
Mit was ich zu kämpfen habe
Grundsätzlich, wenn es möglich ist, ein solches Setup mit Postfix zu haben und zu testen, ob die Vorwärts-, Ablehnungs- und Authentifizierungsmechanismen ordnungsgemäß funktionieren.
Nach was ich gesucht habe, ist so etwas in iptables, wo ich so etwas wie einen Regelsatz haben kann
- stimmen Sie mit "externen nicht auf der schwarzen Liste aufgeführten Servern" -j external_trustworthy überein
- Übereinstimmung mit "intern mit TLS autorisiert" -j internal_authed
- -j WIDERSTELLEN
Und dieses Verhalten testen, also werde ich nicht versehentlich die Blacklist-Richtlinie für internal_authed durchsetzen, oder, was noch schlimmer ist, dem external_trustworthy erlauben, E-Mails im Namen meiner akzeptierten Domänen zu senden. Abgesehen davon würde ich wirklich wünschen, dass Letsencrypt domänenbasierte S / MIME-Zertifikate ausstellt, die wiederum Client-S / MIME-Zertifikate für eine problemlose E-Mail-Verschlüsselung ausstellen und widerrufen könnten. Das ist ein anderes Thema, aber es erfordert eine solide Basis, um mit "Hochsicherheit" und "nicht so gut" konfigurierten SMTP-Servern auf der ganzen Welt kommunizieren zu können.
0 Antworten auf die Frage
Verwandte Probleme
-
3
Windows-Domänenauthentifizierung mit Firefox
-
2
Unterstützt Firefox Platzhalter in NTLM / Negotiate URIs für die automatische Anmeldung?
-
3
Windows-Authentifizierung mit Google Chrome
-
9
Durch den kostenlosen WLAN-Zugang werden ausgehende SMTP-E-Mails blockiert.
-
4
Google Chrome-Domänenauthentifizierung und Klartextkennwörter im HTTP-Header
-
4
So löschen Sie bestimmte Anmeldeinformationen für die HTTP-Authentifizierung aus Safari (für Windows...
-
7
Warum ist die MAC-basierte Authentifizierung unsicher?
-
3
ReadyNAS-Problem mit Google Apps?
-
3
Befehlszeilen-SMTP-Client mit Unterstützung der SASL-Authentifizierung
-
4
Putty-Authentifizierung unter Mac OS X?