Diferencia entre revisiones de «Relay Autenticado con Postfix»

De FJWiki
Saltar a: navegación, buscar
 
(No se muestran 4 ediciones intermedias del mismo usuario)
Línea 5: Línea 5:
 
Se señalarán sólo las opciones necesarias para usar esa funcionalidad.
 
Se señalarán sólo las opciones necesarias para usar esa funcionalidad.
  
Como ejemplo se considerará que el dominio hotmail.com será redireccionado vía el servidor mail.fjra.es.
+
Como ejemplo se considerará que el dominio <tt>hotmail.com</tt> será redireccionado vía el servidor <tt>mail.fjra.es</tt>.
  
== main.cf ==
+
== Archivo principal <tt>main.cf</tt> ==
  
En el main.cf se necesitarán establecer los siguientes parámetros:
+
En el <tt>main.cf</tt> se necesitarán establecer los siguientes parámetros:
  
 
  smtp_sasl_auth_enable = yes
 
  smtp_sasl_auth_enable = yes
Línea 16: Línea 16:
 
  transport_maps = hash:/etc/postfix/transport
 
  transport_maps = hash:/etc/postfix/transport
  
Tener en cuenta que el archivo passwords-smtp será el que contenga los passwords, así que debería sólo tener premisos de lectura el usuario root.
+
Tener en cuenta que el archivo <tt>passwords-smtp</tt> será el que contenga los passwords, así que debería sólo tener premisos de lectura el usuario root.
  
El parámetro transport_maps normalmente ya está apuntando a ese archivo.
+
El parámetro <tt>transport_maps</tt> normalmente ya está apuntando a ese archivo.
  
 
=== Parámetros opcionales ===
 
=== Parámetros opcionales ===
Línea 26: Línea 26:
 
  smtp_sasl_mechanism_filter = LOGIN
 
  smtp_sasl_mechanism_filter = LOGIN
  
En la mayoría de sitios bastaría PLAIN.
+
En la mayoría de sitios bastaría <tt>PLAIN</tt>.
  
 
  smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
 
  smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
 +
ó
 +
smtp_tls_per_site = hash:/etc/postfix/tls_policy
  
 
Este archivo dirá qué política seguir según el sitio al que se conecte. Sí es recomendable usarlo, sino se seguirá la misma política para todos los relays.
 
Este archivo dirá qué política seguir según el sitio al que se conecte. Sí es recomendable usarlo, sino se seguirá la misma política para todos los relays.
  
== Archivo transport ==
+
=== <tt>relayhost</tt> vs <tt>transport_maps</tt> ===
  
El archivo /etc/postfix/transport contendrá las rutas que se usarán para cada dominio. Para nuestro ejemplo bastará agregar la línea:
+
En vez de usar el parámetro <tt>transport_maps</tt> se podría haber usado el parámetro <tt>relayhost</tt>. La diferencia es que <tt>relayhost</tt> se utiliza para hacer que ''todo'' el correo saliente vaya vía ese servidor. Por ejemplo:
 +
 
 +
relayhost = [mail.fjra.es]
 +
 
 +
Ya no se necesitaría usar el <tt>transport_maps</tt>, pero se habría perdido el relay según dominio.
 +
 
 +
== Archivo <tt>transport</tt> ==
 +
 
 +
El archivo <tt>/etc/postfix/transport</tt> contendrá las rutas que se usarán para cada dominio. Para nuestro ejemplo bastará agregar la línea:
  
 
  hotmail.com smtp:[mail.fjra.es]
 
  hotmail.com smtp:[mail.fjra.es]
Línea 43: Línea 53:
  
  
== Archivo passwords-smtp ==
+
== Archivo <tt>passwords-smtp</tt> ==
  
El archivo /etc/postfix/passwords-smtp contendrá las claves para cada servidor con la siguiente estructura:
+
El archivo <tt>/etc/postfix/passwords-smtp</tt> contendrá las claves para cada servidor con la siguiente estructura:
  
 
  servidor.relay.tld <usuario-smtp>:<PASSWORD>
 
  servidor.relay.tld <usuario-smtp>:<PASSWORD>
Línea 51: Línea 61:
 
Por ejemplo:
 
Por ejemplo:
  
  mail.fjra.es relay@fjra.es:<miPASSWORD>
+
  mail.fjra.es relay@fjra.es:miPaSsWOrD
  
Donde <miPASSWORD> será el password de la cuenta ''relay@fjra.es''. Es importante que '''mail.fjra.es''' sea el nombre del servidor tal cual lo responde cuando se conecta uno vía telnet. Para probar hacer:
+
Donde <tt>miPaSsWOrD</tt> será el password de la cuenta <tt>relay@fjra.es</tt>. Es importante que '<tt>mail.fjra.es</tt>' sea el nombre del servidor tal cual lo responde cuando se conecta uno vía telnet. Para probar hacer:
  
 
  telnet SERVIDOR 25
 
  telnet SERVIDOR 25
  
Ahí responderá con un nombre, y ese debe ser el nombre de servidor que se debe colocar en el archivo passwords-smtp.
+
Ahí responderá con un nombre, y ese debe ser el nombre de servidor que se debe colocar en el archivo <tt>passwords-smtp</tt>.
  
 
En este caso después de modificarlo también se debe ejecutar:
 
En este caso después de modificarlo también se debe ejecutar:
Línea 63: Línea 73:
 
  postmap /etc/postfix/passwords-smtp
 
  postmap /etc/postfix/passwords-smtp
  
== Archivo tls_policy ==
+
== Archivo <tt>tls_policy</tt> ==
  
El archivo /etc/postfix/tls_policy contiene si se usará o no tls con cuál servidor. Por ejemplo:
+
El archivo <tt>/etc/postfix/tls_policy</tt> contiene si se usará o no tls con cuál servidor.  
 +
 
 +
Si se utilizó para el parámetro <tt>smtp_tls_policy_maps</tt> sería así por ejemplo:
  
 
  [mail.fjra.es] encrypt
 
  [mail.fjra.es] encrypt
  
Con esto se fuerza a usar TLS en la comunicación.
+
Con esto se fuerza a usar TLS en la comunicación (ver también http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps ).
 +
 
 +
Si se usó con el parámetro <tt>smtp_tls_per_site</tt> entonces sería así:
  
 
  mail.fjra.es MUST_NOPEERMATCH
 
  mail.fjra.es MUST_NOPEERMATCH
Línea 83: Línea 97:
  
 
* Enlaces útiles de [[Postfix]].
 
* Enlaces útiles de [[Postfix]].
 +
* Sobre TLS:
 +
** http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps
 +
** http://www.postfix.org/TLS_README.html
  
 
[[Category:Postfix]]
 
[[Category:Postfix]]

Revisión actual del 16:44 17 oct 2008

Introducción

Con Relay autenticado con Postfix me refiero a usar otro servidor de correo que requiere password para mandar correos salientes de nuestro servidor postfix.

Se señalarán sólo las opciones necesarias para usar esa funcionalidad.

Como ejemplo se considerará que el dominio hotmail.com será redireccionado vía el servidor mail.fjra.es.

Archivo principal main.cf

En el main.cf se necesitarán establecer los siguientes parámetros:

smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/passwords-smtp
transport_maps = hash:/etc/postfix/transport

Tener en cuenta que el archivo passwords-smtp será el que contenga los passwords, así que debería sólo tener premisos de lectura el usuario root.

El parámetro transport_maps normalmente ya está apuntando a ese archivo.

Parámetros opcionales

smtp_sasl_mechanism_filter = PLAIN

ó

smtp_sasl_mechanism_filter = LOGIN

En la mayoría de sitios bastaría PLAIN.

smtp_tls_policy_maps = hash:/etc/postfix/tls_policy

ó

smtp_tls_per_site = hash:/etc/postfix/tls_policy

Este archivo dirá qué política seguir según el sitio al que se conecte. Sí es recomendable usarlo, sino se seguirá la misma política para todos los relays.

relayhost vs transport_maps

En vez de usar el parámetro transport_maps se podría haber usado el parámetro relayhost. La diferencia es que relayhost se utiliza para hacer que todo el correo saliente vaya vía ese servidor. Por ejemplo:

relayhost = [mail.fjra.es]

Ya no se necesitaría usar el transport_maps, pero se habría perdido el relay según dominio.

Archivo transport

El archivo /etc/postfix/transport contendrá las rutas que se usarán para cada dominio. Para nuestro ejemplo bastará agregar la línea:

hotmail.com smtp:[mail.fjra.es]

Recordar que después de cada modificación del archivo se debe ejecutar:

postmap /etc/postfix/transport


Archivo passwords-smtp

El archivo /etc/postfix/passwords-smtp contendrá las claves para cada servidor con la siguiente estructura:

servidor.relay.tld <usuario-smtp>:<PASSWORD>

Por ejemplo:

mail.fjra.es relay@fjra.es:miPaSsWOrD

Donde miPaSsWOrD será el password de la cuenta relay@fjra.es. Es importante que 'mail.fjra.es' sea el nombre del servidor tal cual lo responde cuando se conecta uno vía telnet. Para probar hacer:

telnet SERVIDOR 25

Ahí responderá con un nombre, y ese debe ser el nombre de servidor que se debe colocar en el archivo passwords-smtp.

En este caso después de modificarlo también se debe ejecutar:

postmap /etc/postfix/passwords-smtp

Archivo tls_policy

El archivo /etc/postfix/tls_policy contiene si se usará o no tls con cuál servidor.

Si se utilizó para el parámetro smtp_tls_policy_maps sería así por ejemplo:

[mail.fjra.es] encrypt

Con esto se fuerza a usar TLS en la comunicación (ver también http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps ).

Si se usó con el parámetro smtp_tls_per_site entonces sería así:

mail.fjra.es MUST_NOPEERMATCH

Esta última opción es para que use tls pero no se fije en problemas con el certificado ssl. Ya es una forma obsoleta en las nuevas versiones de postfix (ver http://www.postfix.org/TLS_README.html).

Para este archivo también se debe hacer:

postmap /etc/postfix/tls_policy


Ver también