[postfix-es] Rechazar correos salientes donde el correo electrónico de envío no se corresponde con el correo usuado en login ni asociado a dicho usuario

David Figuera david.figuera en fendo.es
Mar Abr 1 22:28:03 CEST 2014


On Tue, 1 Apr 2014 15:48:32 +0200 Pau Peris <pau en webeloping.es> wrote:

[...]
> Para prevenir la suplantación o edición del correo electrónico usado para
> enviar, principalmente, he añadido la siguiente configuración:
> 
> ## La siguiente consulta devuelve las direcciones de correo electrónico a
> las que tiene acceso el usuario en cuestión.
> smtpd_sender_login_maps = proxy:mysql:/etc/postfix/mysql_sender_login_maps.cf
> smtpd_sender_restrictions =
>                                 ...
>                                 reject_unlisted_sender,
>                                 reject_authenticated_sender_login_mismatch,
>                                 ...

De la documentación sobre el archivo main.cf:

reject_authenticated_sender_login_mismatch
Enforces the reject_sender_login_mismatch restriction for authenticated clients only. This feature is available in Postfix version 2.1 and later.

reject_sender_login_mismatch
Reject the request when $smtpd_sender_login_maps specifies an owner for the MAIL FROM address, but the client is not (SASL) logged in as that MAIL FROM address owner; or when the client is (SASL) logged in, but the client login name doesn't own the MAIL FROM address according to $smtpd_sender_login_maps.

Como te han dicho en la lista de postfix en inglés, esa directiva actúa sobre la dirección de envío durante la conversación SMTP (envelope sender address), no sobre la cabecera "From:".

Lo que creo que está pasando, es que el webmail que comentas, está usando la dirección "correcta", para el comando "MAIL FROM", pero si el usuario especifica otra distinta para la cabecera "From:" sólo cambia la dirección de dicha cabecera y no en el comando MAIL FROM.

En mi opinión, la solución la debes buscar en la configuración del programa webmail.

en el hilo de postfix-users, alguien te ha sugerido una solución para aplicarla a postfix, que consiste en utilizar una instancia dedicada de cleanup(8) para el servicio submission, que elimina la cabecera "From:" y postfix, al no encontrar la cabecera, la inserta con la dirección del MAIL FROM.

Lo único es que obviamente sólo inserta la dirección de correo, no el nombre, así que igual no es una solución aceptable.

Yo creo que deberías investigar la configuración del webmail, con un poco de suerte, podrá consultar la tabla SQL donde asocias las direcciones de correo con el login SASL.


Más información sobre la lista de distribución postfix-es