Um die Anzahl der Systeme einzuschränken, die unauthentifizierte ausgehende E-Mails über einen Zimbra MTA senden dürfen, legen Sie für diesen Server zimbraMtaMyNetworkseine kurze Liste vertrauenswürdiger IP-Adressen oder CIDR-Netzwerke fest. Behalten Sie Loopback-Adressen in der Liste bei, behalten Sie alle bestehenden vertrauenswürdigen Hosts bei, die weiterhin ein Relay benötigen, und entfernen Sie große Adressbereiche, denen Sie nicht mehr vertrauen möchten. Laden Sie anschließend Postfix neu und testen Sie sowohl eine zugelassene als auch eine nicht zugelassene Quelle.
Diese Einstellung steuert vertrauenswürdige SMTP-Clients, die ohne SMTP-Authentifizierung E-Mails weiterleiten können. Sie blockiert nicht alle ausgehenden Nachrichten eines authentifizierten Zimbra-Benutzers und legt auch nicht den nächsten Mailserver fest. Wenn Sie die Authentifizierung für Roaming-Mail-Clients erzwingen oder bestimmte Benutzerkonten einschränken möchten, verwenden Sie stattdessen die entsprechenden Authentifizierungs- oder E-Mail-Richtlinien.
Was steuert die IP-Zulassungsliste?
Zimbras MTA verwendet Postfix. In Postfix wird ein Client, dessen Quelladresse übereinstimmt, mynetworksals vertrauenswürdig für die Weiterleitung behandelt. Zimbra stellt diese Liste über eine Liste bereit zimbraMtaMyNetworks. Ein gelisteter Host kann E-Mails an externe Ziele senden, ohne sich authentifizieren zu müssen; daher stellt jeder Eintrag eine aussagekräftige Vertrauensentscheidung dar.
Verwechseln Sie die Zulassungsliste nicht mit dem Relay-Host zimbraMtaRelayHost. Die Zulassungsliste legt fest, welche SMTP-Clients über diesen MTA (Mail Transfer Agent) Nachrichten weiterleiten dürfen. Ein Relay-Host ist der Upstream-Server, an den der MTA nicht-lokale Nachrichten weiterleitet, beispielsweise wenn ein Netzbetreiber einen Smarthost vorschreibt. Die Änderung des einen bewirkt nicht die Funktion des anderen.
Die Seiten des Zimbra Tech Centers beschreiben dieses Attribut und die zugehörigen Befehle. Einige Inhalte sind jedoch als in Bearbeitung oder als Archivdokumentation gekennzeichnet. Überprüfen Sie das Verhalten anhand Ihrer installierten Zimbra-Version und Ihres Bereitstellungsdesigns, bevor Sie Änderungen anwenden. Die folgenden Beispiele verwenden die Zimbra-Befehlszeilentools als zimbraDienstkonto, entsprechend den MTA-Richtlinien von Zimbra.
Bevor Sie die Einstellung ändern
- Ermitteln Sie den MTA-Host, der SMTP-Anfragen von den Systemen empfängt, die Sie zulassen möchten. In einer Umgebung mit mehreren MTAs bestimmen Sie, welche MTAs diese Verbindungen verarbeiten, und planen Sie die Änderung auf jedem relevanten Server.
- Ermitteln Sie die feste Quell-IP-Adresse, die der MTA tatsächlich sieht. Befindet sich die Anwendung hinter einem NAT, verwenden Sie ihre öffentliche Ausgangsadresse, nicht ihre private LAN-Adresse. Ändert sich die IP-Adresse häufig, muss eine reine IP-Zulassungsliste regelmäßig aktualisiert werden.
- Notieren Sie das aktuelle Zimbra-Attribut und den gültigen Postfix-Wert. Ersetzen Sie eine bestehende Liste nicht ausschließlich durch die neue Adresse, bevor Sie geprüft haben, welche Dienste von den aktuellen Einträgen abhängen.
- Vereinbaren Sie ein Wartungs- oder Änderungsfenster, das für Ihren Postdienst geeignet ist, und bewahren Sie eine Sicherungskopie des genauen Originalwerts auf.
Verwenden Sie einen CIDR-Bereich für einen einzelnen Host, z. B. /32für eine IPv4-Adresse. Beispielsweise 198.51.100.25/32repräsentiert einen einzelnen IPv4-Host; diese Adresse dient nur zu Dokumentationszwecken und darf nicht als echte Serveradresse verwendet werden. Ein größerer Bereich wie /24vertraut jeder Adresse in diesem Subnetz. Fügen Sie keine öffentlichen Netzwerke oder große Providerbereiche hinzu, nur um einen Test erfolgreich abzuschließen.
So legen Sie die Zimbra-Relay-Zulassungsliste fest
1. Überprüfen Sie die konfigurierten und effektiven Werte.
Melden Sie sich am MTA-Host an und wechseln Sie zum Zimbra-Dienstkonto. Ersetzen Sie mta.example.com<Servername> durch den exakten Servernamen, der von Ihrem Installationsbefehl zurückgegeben wird zmhostname.
su - zimbra
zmhostname
zmprov gs mta.example.com zimbraMtaMyNetworks
postconf mynetworks
Die erste Abfrage liest den für das Zimbra-Serverobjekt gespeicherten Wert und postconfzeigt die effektive Postfix-Einstellung an. Speichern Sie beide Ausgaben. Wenn das LDAP-Attribut nicht gesetzt ist, verwendet Postfix möglicherweise einen Standardwert. Gehen Sie daher nicht davon aus, dass eine leere Abfrage bedeutet, dass keine vertrauenswürdigen Netzwerke vorhanden sind. Überprüfen Sie den effektiven Wert und das Konfigurationsverhalten Ihrer Version, bevor Sie fortfahren.
2. Erstelle die kleinste vollständige Liste
Erstellen Sie eine Liste, die Loopback und jede Quelle enthält, die tatsächlich unauthentifizierte Weiterleitungen benötigt. Für einen Server, der Weiterleitungen nur von localhost und einem festen Anwendungshost akzeptieren soll, sähe die Struktur wie folgt aus:
127.0.0.0/8 198.51.100.25/32
Ersetzen Sie die Beispieladresse durch die tatsächliche, für den MTA sichtbare Adresse. Fügen Sie die erforderlichen lokalen Schnittstellen des Servers oder zusätzliche vertrauenswürdige Dienste erst dann hinzu, nachdem Sie deren Notwendigkeit bestätigt haben. Vermeiden Sie es, ein umfassendes Büro-Subnetz beizubehalten, wenn nur ein Server als vertrauenswürdig eingestuft werden soll; reduzieren Sie es nach Möglichkeit auf einen Host-Eintrag.
3. Stellen Sie den Wert am richtigen MTA ein.
Wird verwendet zmprov ms, um das Attribut auf Serverebene festzulegen. Dieser Befehl überschreibt den Wert, daher müssen Sie alle Einträge angeben, die Sie beibehalten möchten, einschließlich Loopback:
zmprov ms mta.example.com zimbraMtaMyNetworks '127.0.0.0/8 198.51.100.25/32'
Bei mehreren IP-Adressen geben Sie die vollständige Liste der zulässigen Adressen innerhalb des Anführungszeichens ein, getrennt durch Leerzeichen. Führen Sie einen Beispielbefehl nicht unverändert aus. Wenn Ihre Konfiguration auf einem globalen Wert, serverseitigen Überschreibungen, IPv6, mehreren MTAs oder versionsspezifischem Verhalten basiert, überprüfen Sie, wie Vererbung und generierte Postfix-Konfiguration in dieser Bereitstellung funktionieren, bevor Sie das Attribut festlegen.
4. Laden Sie Postfix neu und überprüfen Sie die aktive Einstellung.
Nach der Änderung der Zimbra-Konfiguration laden Sie Postfix als Zimbra-Dienstkonto neu und fragen Sie anschließend den effektiven Wert erneut ab:
postfix reload
postconf mynetworks
zmprov gs mta.example.com zimbraMtaMyNetworks
Die Ausgabe sollte der von Ihnen festgelegten Zulassungsliste entsprechen, einschließlich Loopback. Falls Postfix ein fehlerhaftes Netzwerk meldet oder die Werte abweichen, beheben Sie dieses Konfigurationsproblem, bevor Sie den E-Mail-Verkehr testen. CIDR-Einträge müssen die korrekte Netzwerkgrenze verwenden; verwenden Sie für einen einzelnen Host die Hostadresse mit /32Komma anstelle einer Netzwerkmaske, die benachbarte Hosts einschließt.
Wie man überprüft, ob die Einschränkung funktioniert
Testen Sie von einem kontrollierten, autorisierten System aus, indem Sie denselben Netzwerkpfad und SMTP-Listener wie die eigentliche Anwendung verwenden. Senden Sie eine Nachricht an ein von Ihnen verwaltetes Postfach außerhalb der Zimbra-Domänen. Stellen Sie sicher, dass der autorisierte Host die Nachricht senden kann und dass die MTA-Protokolle eine erfolgreiche Annahme oder Zustellung anzeigen. Die Zimbra-MTA-Aktivität wird üblicherweise protokolliert /var/log/zimbra.log; prüfen Sie den entsprechenden Zeitstempel und die Quell-IP-Adresse, anstatt sich nur auf die Erfolgsmeldung des E-Mail-Clients zu verlassen.
Testen Sie anschließend von einem Host, der nicht auf der Zulassungsliste steht und nicht authentifiziert ist. Das erwartete Ergebnis ist eine Relay-Verweigerung beim Versuch, an einen nicht lokalen Empfänger zu senden. Überprüfen Sie das MTA-Protokoll auf die abgelehnte Verbindung und die von Postfix ermittelte Quelladresse. Ein nicht authentifizierter Client kann möglicherweise weiterhin an lokale Zimbra-Empfänger senden; dies entspricht dem normalen E-Mail-Empfang und beweist nicht, dass er ausgehende E-Mails weiterleiten kann.
Testen Sie auch alle legitimen Anwendungen, die sich auf der alten Liste befanden. Eine fehlgeschlagene Anwendungsübermittlung bedeutet in der Regel, dass die falsche Quelladresse auf die Zulassungsliste gesetzt wurde, eine alte, vertrauenswürdige Abhängigkeit entfernt wurde oder die Anwendung eine SMTP-Authentifizierung benötigt. Wenn Clients zwischen Netzwerken wechseln oder ihre ausgehende IP-Adresse nicht stabil ist, ist die SMTP-Authentifizierung über TLS im Allgemeinen einfacher zu handhaben als die wiederholte Änderung einer IP-Zulassungsliste.
Wie man ein Rollback durchführt oder Probleme behebt
Wenn genehmigte Anwendungen keine E-Mails mehr senden, stellen Sie den exakt gespeicherten Wert wieder her, anstatt ein geschätztes Subnetz hinzuzufügen. Wenden Sie ihn mit `npm zmprov msrun dev` an, laden Sie Postfix neu und bestätigen Sie den effektiven Wert mit ` postconf mynetworksnpm run dev`. Prüfen Sie, ob ein Load Balancer, ein NAT-Gateway, ein Container-Host oder ein ausgehender Proxy die Quelladresse ändert, bevor diese den MTA erreicht.
Eine Relay access deniedAntwort kann auch bedeuten, dass der Client nicht authentifiziert ist und seine Quell-IP-Adresse nicht auf der Liste der vertrauenswürdigen Verbindungen steht. Für normale E-Mail-Nutzer empfiehlt es sich, die SMTP-Übermittlung mit Authentifizierung zu konfigurieren, anstatt alle Benutzernetzwerke hinzuzufügen zimbraMtaMyNetworks. Weit gefasste Zulassungslisten vergrößern die Angriffsfläche für nicht authentifizierte Verbindungen und können den Server Missbrauch aussetzen, wenn sich in einem vertrauenswürdigen Netzwerk nicht verwaltete Geräte befinden.
Wenn der MTA-Wert korrekt erscheint, sich das Verhalten aber nicht ändert, überprüfen Sie, ob Sie den Server, der die Verbindung angenommen hat, bearbeitet haben, ob der Neustart erfolgreich war und ob keine andere Postfix-Instanz oder Netzwerk-Appliance SMTP verarbeitet. Bearbeiten Sie die von Zimbra generierten Postfix-Dateien nicht direkt, um das Problem dauerhaft zu beheben; die Konfigurationsverwaltung kann diese neu generieren. Informationen zu versionsspezifischen Vorgehensweisen bei Abweichungen zwischen LDAP-Wert und Laufzeitkonfiguration finden Sie in der Zimbra-Administrationsdokumentation oder im Supportkanal Ihrer Version.
Wie ein erfolgreiches Ergebnis aussieht
postconf mynetworkslistet nur Loopback-Adressen und die vorgesehenen vertrauenswürdigen Quelladressen oder Netzwerke auf.
- Die genehmigte, nicht authentifizierte Anwendung kann an ein externes Test-Postfach senden.
- Ein nicht authentifizierter, nicht autorisierter Host erhält eine Relay-Denial-Meldung für einen externen Empfänger.
- Authentifizierte Benutzer und der lokale E-Mail-Empfang funktionieren weiterhin wie erwartet.
- Der aufgezeichnete Rollback-Wert und die Liste der abhängigen Dienste werden für zukünftige Änderungen beibehalten.
Diese Methode beschränkt nicht authentifizierte Weiterleitungen anhand der Quell-IP-Adresse. Sie ersetzt weder SMTP-Authentifizierung, TLS, Ratenbegrenzungen, Kontosicherheit noch Überwachung und kann keine einzelnen Anwendungen unterscheiden, die dieselbe öffentliche NAT-Adresse verwenden. Nutzen Sie sie als eine gezielte Kontrollmaßnahme und überprüfen Sie die Zulassungsliste, sobald sich Netzwerkausgänge oder MTA-Rollen ändern.
Quellen