Mails nicht annehmen, bis die Weiterleitung erfolgreich war

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Mails nicht annehmen, bis die Weiterleitung erfolgreich war

Andreas Grabmüller-2
Hallo zusammen,

ich habe folgende Problemstellung und finde weder im Buch noch über Google etwas passendes - vielleicht geht's auch gar
nicht oder ich denke falsch.

Wir haben für einen Kunden eine E-Mail-Verschlüsselungs-Appliance im Einsatz, die Mails annimmt, verarbeitet und an den
jeweiligen Ziel-Mailserver weiterleitet. Die Appliance hat zwar Spam- und Virenfilter, aber die sind nicht sonderlich
konfigurierbar und leisten nicht das, was ich mir vorstelle.

Meine Idee wäre nun, da einen Postfix als MX davorzusetzen, der als erste Instanz eine Spam- und Virenprüfung macht. Der
würde dann über transport-Regeln je nach Domain an die Verschlüsselungs-Appliance oder die normalen Mailserver
weiterleiten. Das Problem bei der Lösung ist aber, dass dann der MX-Server die Mail annimmt und in die Warteschlange
aufnimmt, die Appliance die Mail aber noch ablehnen könnte (wenn in der entschlüsselten Mail ein Virus gefunden werden
sollte zum Beispiel). Das würde dann entweder bedeuten, für eine schon angenommen Mail einen NDR zu schicken oder die
Mail zu verschlucken, beides ist problematisch. Wenn ich eine Mail nicht zustellen kann, will ich sie gar nicht annehmen.

Gibt es eine Möglichkeit, dass der MX-Postfix die Mail erst dann als angenommen bestätigt wenn sie zugestellt worden
ist, sie also nicht über Queue zuzustellt sondern direkt? Und wenn der nächste Mailserver einen Fehler ausgibt, den an
den ursprünglich einliefernden Mailserver als Fehler zurückgibt?

Danke und Gruß,
Andreas

Reply | Threaded
Open this post in threaded view
|

Re: Mails nicht annehmen, bis die Weiterleitung erfolgreich war

Michael Grundmann-2
Am 31.05.19 um 15:06 schrieb Andreas Grabmüller:

> Gibt es eine Möglichkeit, dass der MX-Postfix die Mail erst dann als
> angenommen bestätigt wenn sie zugestellt worden ist, sie also nicht über
> Queue zuzustellt sondern direkt? Und wenn der nächste Mailserver einen
> Fehler ausgibt, den an den ursprünglich einliefernden Mailserver als
> Fehler zurückgibt?


klar - den Virenscanner via milter oder gar als proxy einbinden

-o smtpd_proxy_filter=x.x.x.x:xxxxx

--
Gruß Michael

Wenn du verstehst, was du tust, wirst du nichts lernen
BTW: Produktionsbremsen sind immer die Bürokraten
Reply | Threaded
Open this post in threaded view
|

Re: Mails nicht annehmen, bis die Weiterleitung erfolgreich war

Andreas Grabmüller-2
Hallo Michael,

danke. Ich hatte mir das mit dem proxy_filter schon mal angeschaut, dann aber gedanklich verworfen weil ich damit nicht
steuern kann für welche Empfänger das gelten soll und auch zumindest die Dokumentation den Eindruck erweckt, dass man
die Mail dann wieder beim Original-Postfix einliefern muss.

Ich schaue mir das nochmal genauer an und mache einen Test-Aufbau. :)

Gruß,
Andreas

Am 31.05.2019 um 15:43 schrieb Michael Grundmann:

> Am 31.05.19 um 15:06 schrieb Andreas Grabmüller:
>
>> Gibt es eine Möglichkeit, dass der MX-Postfix die Mail erst dann als angenommen bestätigt wenn sie zugestellt worden
>> ist, sie also nicht über Queue zuzustellt sondern direkt? Und wenn der nächste Mailserver einen Fehler ausgibt, den
>> an den ursprünglich einliefernden Mailserver als Fehler zurückgibt?
>
>
> klar - den Virenscanner via milter oder gar als proxy einbinden
>
> -o smtpd_proxy_filter=x.x.x.x:xxxxx
>


Reply | Threaded
Open this post in threaded view
|

Re: Mails nicht annehmen, bis die Weiterleitung erfolgreich war

Klaus Tachtler
In reply to this post by Andreas Grabmüller-2
Hallo Andreas,

> Gibt es eine Möglichkeit, dass der MX-Postfix die Mail erst dann als
> angenommen bestätigt wenn sie zugestellt worden ist, sie also nicht
> über Queue zuzustellt sondern direkt? Und wenn der nächste
> Mailserver einen Fehler ausgibt, den an den ursprünglich
> einliefernden Mailserver als Fehler zurückgibt?

wir haben das gleiche Problem gehabt und haben das so gelöst:

+---------+      +------------+      +------------+
|         | ---> | CipherMail |      |   AMaViS   |
| Postfix |      | angebunden |      | angebunden |      Mail o.k.
|         | ---- | via MILTER | ---> | via MILTER | ---> Backend-
+----^----+      +------------+      +-----+------+      System
      |                                     |
      +-----------SPAM/Schadcode------------+

Mit ChipherMail ( https://www.ciphermail.com/ ) haben wir eine
Appliance/VM, welche AUCH via MILTER an den Postfix angebunden ist.

AMaViS ist ebenfalls via MILTER an den Postfix angebunden.

Somit haben wir einen E-Mail-Annahmeprozess, welcher die E-Mail erst
als angenommen an den einliefernden E-Mail-Server mit Code 250
zurückmeldet, wenn die Entschlüsselung durchgeführt wurde und auf
SPAM/Schadcode gescannt wurde und an das Backend-System abgegeben wird.

Ansonsten haben wir mit Code 550 WÄHREND des Annahmeprozesses eine
optimale Ablehnungsmöglichkeit.


Grüße
Klaus.

--

--------------------------------------------
e-Mail  : [hidden email]
Homepage: https://www.tachtler.net
DokuWiki: https://dokuwiki.tachtler.net
--------------------------------------------

attachment0 (3K) Download Attachment