Este documento proporciona instrucciones para configurar Postfix como un servidor de correo electrónico con soporte SASL en 3 pasos: 1) instalar y configurar Postfix como un servidor de correo, 2) instalar y configurar SASL, y 3) vincular SASL con Postfix para permitir la autenticación de usuarios. Esto permitirá que Postfix funcione como un servidor de correo seguro que no permita el correo no deseado.
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
Postfix Internet Site + Sasl
1. Recomendaciones para la instalación del Postfix como
pasarela 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 ex
colega 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ámetro
local_recipient_maps debe dejarse en blanco para que todo funcione
adecuadamente.
Lo primero es lo primero, ahora vamos a explicar los primeros pasos de la
instalació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 Internet
2.) System mail name: nombreServer.midominio
3.) Otros destinos para los cuales aceptar correo: $myhostname,
localhost.$mydomain, localhost, $mydomain
4.) Forzar actualización sincronías en la cola de correo: No
5.) Redes locales: IPRedInterna, IPreal
6.) Usar procmail para la entrega local: No
7.) Límite de tamaño de buzón de correo: 0
8.) Carácter de extensión de direcciones locales: +
9.) Protocolos de Internet a usar: ipv4
2. Ahora se edita el archivo /etc/postfix/main.cf con el editor de texto preferido de
ustedes, de forma que quede de esta forma. Para un mejor entendimiento
realizaremos algunos comentarios sobre la configuración.
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
readme_directory = no
myhostname = nombreServer.midominio
mydomain = 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 = 550
unknown_local_recipients_reject_code = 550
# Redes de confianza.
mynetworks = IPRedInterna, IPReal
relay_domains = $mydomain
relay_host =
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# Tablas de búsqueda opcional con asignaciones de dirección del destinatario para transporte.
transport_maps = hash:/etc/postfix/transport
mailbox_size_limit = 0
recipient_delimiter = +
inet_protocols = ipv4
Ahora pasamos a la configuración del archivo /etc/postfix/transport
touch /etc/postfix/transport
nano /etc/postfix/transport
Aquí se especificará una lista de los dominios y servidores de correo de estos
de la siguiente manera:
Dominio smtp:[ip_del_server_red_interna]
Aquí podemos poner cuantos transportes necesitemos. Luego ejecutamos el
comando:
postmap /etc/postfix/transport
3. invoke-rc.d postfix restart
Con esta configuración ya el postfix funciona como pasarela, pero nos queda
como un Open Relay, o sea, lo pueden usar como server de spam y poner
nuestro 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 sistema
START = yes
# Mecanismo a utilizar para la autenticación
MECHANISMS=”pam”
# Opciones para la ejecución del saslauthd
OPTIONS=”-c –m /var/spool/postfix/var/run/saslauthd”
Ahora se crean y dan los permisos adecuados al directorio de trabajo del
SASL, 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 se
agregaran las siguientes líneas:
# método para la verificación de la clave de acceso
pwcheck_method: saslauth
# mecanismos de encriptacion de la clave de acceso del usuario a utilizar para la autenticación
ante una # conexión por smtp
mech_list: plain login
Con esto ya el soporte SASL esta instalado y configurado, ahora toca la
segunda etapa del postfix que es la vinculación del soporte sasl al postfix.
4. 3- Postfix + SASL
En el postfix añadimos estos parámetros
# habilitar el soporte sasl en el postfix
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
# no permitir usuarios anónimos en la autenticación mediante sasl
smtpd_sasl_security_options = noanonymous
# evitar que ciertos clientes no entiendan las líneas del sasl
broken_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 restart
invoke-rc.d saslauthd restart