instalar postfix como pasarela con soporte sasl
DESCRIPTION
Permite ser pasarela de otros servers de correo con el soporte saslTRANSCRIPT
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: [email protected]
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