Postfix como cliente de correo con TLS y autenticación SASL

En ocasiones es necesario que un servidor entregue sus correos a otro servidor de correo para que éste sea quien los envíe.

Por ejemplo, si usamos SPF en nuestra organización, los servidores SMTP autorizados están explícitamente definidos por lo que los correos que queramos enviar al exterior deberán enviarse a través de éstos.

Si administramos ambos servidores (el servidor origen del correo) y el servidor SMTP autorizado para enviar correos, la solución es sencilla.

En el servidor origen especificamos que entregue todos los correos al servidor autorizado mediante la directiva de postfix «relayhost».

En el servidor de correo incluimos la dirección IP del servidor origen como una de las permitidas para hacer relay, mediante la directiva «mynetworks».

No obstante, en muchas ocasiones, no tenemos control sobre el servidor a través del cual queremos enviar los correos.

Para que el servidor SMTP remoto nos permita hacer relay tendremos que autenticarnos y, frecuentemente, el servidor de correo remoto sólo permitirá realizar la autenticación si previamente se ha establecido un canal seguro mediante TLS.

Por tanto, para configurar el postfix del servidor origen para realizar estas tareas los pasos a realizar son:

Configurar el fichero main.cf con las siguientes directivas

# Especificamos el servidor remoto a través del cual enviamos los correos
relayhost = [servidor.remoto]:puerto

# Habilitamos la autenticación SASL para el cliente SMTP
smtp_sasl_auth_enable = yes

# Especificamos los metodos de seguridad para la autenticación
# del cliente SMTP
smtp_sasl_security_options = noanonymous

# Especificamos el archivo de mapas donde se encuentra la información
# para autenticarse al servidor remoto.
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

# El cliente smtp se autentica al servidor relay usando TLS (STARTTLS)
smtp_use_tls = yes

Proporcionar los datos para la autenticación

Crear el fichero que hemos definido anteriormente en la directiva smtp_sasl_password_maps que en nuestro ejemplo es /etc/postfix/sasl_passwd.

Este fichero debe tener la siguiente estructura:

servidor:puerto         username:password

Por ejemplo:

[root@desdelaconsola.es]# cat /etc/postfix/sasl_passwd
[servidor.remoto]:587         ivazquez:ioad9e3PR

Una vez creado, se debe generar el fichero .db, que es el que realmente postfix leerá, mediante el comando:

[root@desdelaconsola.es]# postmap /etc/postfix/sasl_passwd

Refrescamos la configuración de postfix.

[root@desdelaconsola.es]# /etc/init.d/postfix reload
Reloading Postfix configuration...done.

 

tags: , , ,
Escrito en Correo por Ignacio Vazquez

Follow comments via the RSS Feed | Deja un comentario | Trackback URL

Leave Your Comment

 
desdelaconsola.es