Forum Linux.général Faire un proxy SMTP TLS pour des outils ne sachant faire que du SMTP port 25

Posté par  . Licence CC By‑SA.
Étiquettes :
3
25
mar.
2021

Hello,

Ma boite vient de passer sur une solution de messagerie commerciale bien connue pour laquelle j'éviterais de faire de la pub.
Pour acheminer correctement les mails envoyés par nos apps legacy l'éditeur nous conseille très fortement de faire du smtp/tls (port 587).
Cependant nos applis (propriétaires) legacy ne savent faire que de l'envoie vers des serveurs smtp en port 25.
Comme je n'y comprends rien en crypto (ssl/tls) pensez vous qu'il soit possible de proxyfier le flux de smtp en port 25 via haproxy (que j'utilise déjà) et que haproxy transfert ce flux vers notre nouvelle solution de messagerie en TLS sur le port 587?

Est-ce que eventuellement vous auriez un exemple de config sur haproxy pour faire ça?

Merci par avance de vos réponses.

  • # haproxy probablement pas, mais un proxy email, surement

    Posté par  . Évalué à 4.

    on aurait pu imaginer que haproxy puisse le faire, mais il ne fait que le HTTP/S et le TCP (éventuellement avec du SSL via certificat)

    du coup il te reste les "proxy email"
    en gros un postfix/sendmail/exim qui va prendre les emails, et les envoyer sur le "smarthost" (en fait la machine de ton opérateur, port 587, et avec un login/pass)

    proxy que tu protégeras évidemment par un firewall et/ou des ACLs pour ne pas que n'importe qui envoie des emails en passant par lui.

    et là, tu peux avoir ton proxy email en DMZ, avec un haproxy devant pour faire de loadbalancing du port 25

    • [^] # un proxy email : nginx

      Posté par  (site Web personnel) . Évalué à 2.

      nginx fait proxy mail : ça doit correspondre à ton cas d'usage.

      • [^] # Re: un proxy email : nginx

        Posté par  . Évalué à 2.

        HAProxy le fait aussi. J'ajoute qu'il correspond mieux au cas d'usage envisagé, si le fournisseur en question offre le smtp over ssl*.

        Et mieux qu'un lien vers une doc imbitable en guise de réponse qui sent le vécu, je décris la config (triviale): un frontend mode tcp sur port 25, un backend server en mode ssl sur port du fournisseur, port 465 (!!!*), le smtpchk en option. Par contre il vous faudra recherche les addresses du(es) MX(s) soit même (par rapport à la grosse blague de NGINX, ce n'est pas vraiment un désavantage… comprenne qui pourra)

        *: 587 implique starttls, donc une modification active du flux ce que semble pouvoir faire nginx (meuh bon je ne recommanderais toujourx pas, je recommanderais dans ce cas d'utiliser un vrai MX, comme l'a indiqué NeoX).

  • # SMTPs / Submission

    Posté par  . Évalué à 3.

    Je me permets juste de chipoter sur ce point:

    smtp/tls (port 587)

    Le port 587/tcp, c’est submission, SMTPS (SMTP over SSL/TLS) c’est 465/tcp.

  • # nickel

    Posté par  . Évalué à 1.

    Merci à tous pour vos réponses.
    Désolé de ne pas avoir répondu plus tôt.
    Je vais tester la solution d'un frontend tcp en 25 et d'un backend tcp en 587.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.