Postifx TLS-Zertifikatsvalidierung von Clients im lokalen Subnetz hinter der Firewall

Postifx TLS-Zertifikatsvalidierung von Clients im lokalen Subnetz hinter der Firewall

Ich habe einen funktionierenden Postfix-Server hinter einer Firewall, der mit Graylisting, DKIM, SFP, Amavis und Clamav sowie richtig konfiguriertem MX, „A“-Eintrag und Reverse-DNS-Eintrag konfiguriert ist. Ich kann E-Mails an andere Domänen im Internet senden und empfangen. Das Postfix verwendet Zertifikate von LetsEncrypt für die Domäne. Der Mailserver befindet sich in einem privaten Subnetz, sagen wir 192.168.10.0/24, hinter der Firewall. Und damit das funktioniert, führe ich Portweiterleitungen für die folgenden Ports durch: 25,587, 465, 993 sowie 80 und 443 für den Certbot. Ich habe auch ein manuelles statisches Outband-NAT konfiguriert, um nur die öffentliche IP-Adresse aufzulösen, die für den Mailserver reserviert ist. Soweit, so gut, funktioniert alles.

Mein Problem ist, dass sich dieser Mailserver in einem 192.168.10.0/24-Netzwerk befindet und das Senden von E-Mails für Clients, die sich hinter der Firewall in einem anderen lokalen Subnetz (192.168.20.10/24) befinden, für TLS-Ports, also 465 und 587, nicht funktioniert. Die 25 funktioniert!!!. Wenn die Clients von außerhalb kommen, funktioniert alles gut. Jetzt müssen diese internen Clients jedes Mal, wenn sie versuchen, den Mailserver zu erreichen, durch die Firewall, die in diesem Fall auch ein Router ist. Diese Clients versuchen, den Mailserver aufzulösen, sagen wir mail.mySimpleMailProject.com, und sehen, dass das Zertifikat ungültig ist, da es der falschen IP zugeordnet ist, also 192.168.10.5 und nicht der öffentlichen IP.

Ich kann jedoch von diesen internen Clients nur über Port 25 E-Mails senden, und das funktioniert. Mein Ziel ist es jedoch, die E-Mails auch im internen Netzwerk über einen sicheren Kanal zu senden.

Ich habe über eine mögliche Lösung gelesen, d. h.

Konfigurieren Sie Nat Reflection

Jetzt möchte ich wirklich, wirklich KEINE NAT-Reflexion durchführen, NAT ist böse und ich versuche, es um jeden Preis zu vermeiden.

Ich denke an Folgendes: Gibt es eine Möglichkeit, Postfix anzuweisen,

1) Verbindung vom lokalen Netzwerk akzeptieren

zu diesem Zweck habe ich den Eintrag permit_mynetworks in den smtpd_recipient_restrictions ie

smtpd_recipient_restrictions =
    permit_sasl_authenticated,
    permit_mynetworks,

    reject_non_fqdn_helo_hostname,
    reject_non_fqdn_sender,
    reject_non_fqdn_recipient,
    reject_invalid_helo_hostname,
    reject_unknown_helo_hostname,
    reject_unknown_sender_domain,
    reject_unknown_recipient_domain,

    reject_rbl_client zen.spamhaus.org,

    check_policy_service unix:postgrey/socket,
    permit

2) wenn eine Verbindung aus dem internen Netzwerk 192.168.20.0/24 kommt, um ein anderes selbstsigniertes Zertifikat darzustellen, das ich später in diese Clients importieren und ihnen damit Zugriff gewähren kann.

Vielleicht gibt es eine bessere Lösung für dieses Problem. Jeder Hinweis ist willkommen.

Antwort1

Lösung 1
Sie können einen internen DNS haben, der mail.mySimpleMailProject.com intern in eine interne Adresse auflöst.

Lösung 2
Stellen Sie sicher, dass die Portweiterleitung von internen Netzwerken zur öffentlichen IP, die von mail.mySimpleMailProject.com aufgelöst wird, DNAT-ed (Portweiterleitung) ist.

verwandte Informationen