Post on 13-Jun-2015
description
Recomendaciones para la instalación del Postfix comopasarela con soporte SASL.
Autor: Rogelio Cores Raventós. Administrador de redes. Oficina Nacional de Informatización. Ciudad de la Habana E-mail: rogelio@infosoc.cu
En la confección de este manual me sirvió de punto de apoyo y ayuda, mi excolega y gran amigo administrador de Red de la DME de Minas Miguel Cano.
Paquetes a instalar: postfix sasl2-bin libsasl2-modules
El paquete de instalación propuesto tiene como objetivo lograr que el postfix,actúe y a la vez sirva como pasarela a otro Server de Correo de la red interna,es decir, que reparta el correo que entra al Server de Correo de la red interna,y este a su vez, se encargue de distribuirlo a los usuarios. El parámetrolocal_recipient_maps debe dejarse en blanco para que todo funcioneadecuadamente.Lo primero es lo primero, ahora vamos a explicar los primeros pasos de lainstalación:
1- Instalación y configuración del postfix como pasarela.
apt-get install postfix
dpkg-reconfigure postfix
1.) Tipo genérico de configuración de correo: Sitio de Internet2.) System mail name: nombreServer.midominio3.) Otros destinos para los cuales aceptar correo: $myhostname,
localhost.$mydomain, localhost, $mydomain4.) Forzar actualización sincronías en la cola de correo: No5.) Redes locales: IPRedInterna, IPreal6.) Usar procmail para la entrega local: No7.) Límite de tamaño de buzón de correo: 08.) Carácter de extensión de direcciones locales: +9.) Protocolos de Internet a usar: ipv4
Ahora se edita el archivo /etc/postfix/main.cf con el editor de texto preferido deustedes, de forma que quede de esta forma. Para un mejor entendimientorealizaremos algunos comentarios sobre la configuración.
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)biff = noappend_dot_mydomain = noreadme_directory = no
myhostname = nombreServer.midominiomydomain = midominio# Especifica el dominio que aparecerá en el correo que se pública en el equipo. Puede tener# como parámetro $myhostname o $mydomain.myorigin = $mydomain# Interfaces de red por donde el postfix va a escuchar.inet_interfaces = all# Especifica que dominios de esta máquina se entrega a nivel local, en lugar de ser enviado a# otro equipo.mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain# Especifica tablas de consultas con todos los nombres o direcciones de los destinatarios# locales.local_recipient_maps =# La respuesta numérica por código del servidor postfix SMTP cuando una dirección de# destinatario es local por defecto = 550unknown_local_recipients_reject_code = 550# Redes de confianza.mynetworks = IPRedInterna, IPRealrelay_domains = $mydomainrelay_host =alias_maps = hash:/etc/aliasesalias_database = hash:/etc/aliases# Tablas de búsqueda opcional con asignaciones de dirección del destinatario para transporte.transport_maps = hash:/etc/postfix/transportmailbox_size_limit = 0recipient_delimiter = +inet_protocols = ipv4
Ahora pasamos a la configuración del archivo /etc/postfix/transport
touch /etc/postfix/transportnano /etc/postfix/transport
Aquí se especificará una lista de los dominios y servidores de correo de estosde la siguiente manera:
Dominio smtp:[ip_del_server_red_interna]
Aquí podemos poner cuantos transportes necesitemos. Luego ejecutamos elcomando:
postmap /etc/postfix/transport
invoke-rc.d postfix restart
Con esta configuración ya el postfix funciona como pasarela, pero nos quedacomo un Open Relay, o sea, lo pueden usar como server de spam y ponernuestro dominio en lista negra. Ahora le explicaré como arreglar este detalle.
2- Instalación y configuración del SASL
apt-get install sasl2-bin libsasl2-modules
Cuando los paquetes estén instalados lo primero que debemos hacer, es ir a/etc/default/saslauthd y cambiar los siguientes atributos:
# Iniciar con el sistemaSTART = yes# Mecanismo a utilizar para la autenticaciónMECHANISMS=”pam”# Opciones para la ejecución del saslauthdOPTIONS=”-c –m /var/spool/postfix/var/run/saslauthd”
Ahora se crean y dan los permisos adecuados al directorio de trabajo delSASL, en caso de que este no exista.
mkdir -p /var/spool/postfix/var/run/saslauthd/chmod 755 /var/spool/postfix/var/run/saslauthd/chown root.sasl /var/spool/postfix/var/run/saslauthd/
Luego de esto se creara el archivo /etc/postfix/sasl/smtpd.conf en el q seagregaran las siguientes líneas:
# método para la verificación de la clave de accesopwcheck_method: saslauth# mecanismos de encriptacion de la clave de acceso del usuario a utilizar para la autenticaciónante una # conexión por smtpmech_list: plain login
Con esto ya el soporte SASL esta instalado y configurado, ahora toca lasegunda etapa del postfix que es la vinculación del soporte sasl al postfix.
3- Postfix + SASL
En el postfix añadimos estos parámetros
# habilitar el soporte sasl en el postfixsmtpd_sasl_auth_enable = yessmtpd_sasl_authenticated_header = yes# no permitir usuarios anónimos en la autenticación mediante saslsmtpd_sasl_security_options = noanonymous# evitar que ciertos clientes no entiendan las líneas del saslbroken_sasl_auth_clients = yes
#### LISTAS DE CONTROL DE ACCESO ####smtpd_helo_restrictions =
permit_sasl_authenticated,permit_mynetworks,reject_invalid_helo_hostname,reject_non_fqdn_helo_hostname
smtpd_sender_restrictions =reject_non_fqdn_sender,reject_unknown_sender_domain,permit_sasl_authenticated,permit_mynetworks
smtpd_recipient_restrictions =reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination,reject_unlisted_recipient,permit
smtpd_data_restrictions =reject_multi_recipient_bounce,reject_unauth_pipelining
Ahora se reinicia el servicio de postfix y sasl y listo, todo estará trabajando OK.
invoke-rc.d postfix restartinvoke-rc.d saslauthd restart