Configuración de servicios de correo electrónico (SMTP, Imap e Imaps) y restricción del acceso a SMTP-Parte 7

Configuración de servicios de correo electrónico (SMTP, Imap e Imaps) y restricción del acceso a SMTP-Parte 7

Un LFCE ( Linux Foundation Certified Engineer ) es un profesional capacitado que tiene las habilidades para instalar, administrar y solucionar problemas de servicios de red en sistemas Linux, y está en encargado del diseño, implementación y mantenimiento continuo de la arquitectura del sistema y administración de usuarios.

 Configurando el servidor de correo Postfix  Configuración del servidor de correo Postfix Ingeniero certificado por Linux Foundation-Parte 7

Presentamos el programa de certificación de la Fundación Linux.

En un tutorial anterior discutimos cómo instalar los componentes necesarios de un servicio de correo. Si aún no ha instalado Postfix y Dovecot , consulte la Parte 1 de esta serie para obtener instrucciones para hacerlo antes de continuar.

Requisito

  1. Instalar Postfix Mail Server y Dovecot-Parte 1

En esta publicación, le mostraré cómo configurar su servidor de correo y cómo realizar las siguientes tareas:

  1. Configurar alias de correo electrónico
  2. Configurar un servicio IMAP e IMAPS
  3. Configurar un servicio smtp
  4. Restringir el acceso a un servidor smtp

Nota. que nuestra configuración solo cubrirá un servidor de correo para una red de área local donde las máquinas pertenecen al mismo dominio. El envío de mensajes de correo electrónico a otros dominios requiere una configuración más compleja, incluidas las capacidades de resolución de nombres de dominio, que está fuera del alcance de la certificación LFCE.

freestar.config.enabled_slots.push

Pero antes que nada, comencemos con algunas definiciones.

Componentes de un proceso de envío, transporte y entrega de correo

La siguiente imagen ilustra el proceso del transporte de correo electrónico comenzando por el remitente hasta que el mensaje llega a la bandeja de entrada del destinatario:

 Proceso de correo electrónico Transporte  Proceso de transporte de correo electrónico Proceso de transporte de correo electrónico

Para que esto sea posible, suceden varias cosas entre bastidores. Para que un mensaje de correo electrónico se entregue desde una aplicación cliente (como Thunderbird, Outlook o servicios de correo web como Gmail o Yahoo! Mail) a su servidor de correo y desde allí al servidor de destino y finalmente al destinatario previsto., debe haber un servicio SMTP (Protocolo simple de transferencia de correo) en cada servidor.

Cuando se habla de servicios de correo electrónico, encontrará que los siguientes términos se mencionan con mucha frecuencia:

Agente de transporte de mensajes-MTA

MTA (abreviatura de Correo o Agente de transporte de mensajes ), también conocido como retransmisión de correo, es un software que se encarga de transferir mensajes de correo electrónico. de un servidor a un cliente (y también al revés). En esta serie, Postfix actúa como nuestro MTA.

Agente de usuario de correo: MUA

MUA , o Agente de usuario de correo , es un programa informático que se utiliza para acceder y administrar las bandejas de entrada de correo electrónico del usuario. Los ejemplos de MUA incluyen, entre otros, Thunderbird, Outlook e interfaces de correo web como Gmail, Outlook.com, por nombrar algunos. En esta serie, usaremos Thunderbird en nuestros ejemplos.

Agente de entrega de correo

MDA (abreviatura de Mensaje o Agente de entrega de correo ) es la parte del software que envía mensajes de correo electrónico a las bandejas de entrada de los usuarios. En este tutorial, usaremos Dovecot como nuestro MDA. Dovecot también se encargará de la autenticación de usuarios.

Protocolo simple de transferencia de correo-SMTP

Para que estos componentes puedan “ hablar ” entre sí, deben “ hablar ”el mismo“ idioma ”(o protocolo), es decir, SMTP ( Protocolo simple de transferencia de correo ) como se define en el RFC 2821. Lo más probable es que tenga que consultar ese RFC mientras configura el entorno de su servidor de correo.

Otros protocolos que debemos tener en cuenta son IMAP4 ( Protocolo de acceso a mensajes de Internet ), que permite administrar los mensajes de correo electrónico directamente en el servidor sin descargarlos al disco duro de nuestro cliente, y POP3 ( Protocolo de oficina postal ), que permite descargar los mensajes y carpetas a la computadora del usuario.

Nuestro entorno de prueba

Nuestro entorno de prueba es el siguiente:

Configuración del servidor de correo SO del servidor de correo: Debian Wheezy 7.5 Dirección IP: 192.168.0.15 Dominio local: example.com.ar Alias ​​de usuario: [correo electrónico protected] tiene el alias de [email protected] y [email protected] Configuración de la máquina del cliente SO del cliente de correo: Ubuntu 12.04 Dirección IP: 192.168.0.103

En nuestro cliente , hemos configurado una resolución de DNS elemental agregando la siguiente línea al archivo /etc/hosts .

192.168.0.15 example.com.ar mailserver

Agregar alias de correo electrónico

Por defecto, un mensaje enviado a un usuario específico debe entregarse solo a ese usuario. Sin embargo, si también desea entregarlo a un grupo de usuarios, oa un usuario diferente, puede crear un alias de correo o usar uno de los existentes en /etc/postfix/aliases , siguiendo esta sintaxis:

usuario1: usuario1, usuario2

Por lo tanto, los correos electrónicos enviados a usuario1 también se entregarán a usuario2 . Tenga en cuenta que si omite la palabra usuario1 después de los dos puntos, como en

usuario1: usuario2

, los mensajes enviados a usuario1 solo se enviarán a usuario2 , y no a usuario1 .

En el ejemplo anterior, usuario1 y usuario2 ya deberían existen en el sistema. Es posible que desee consultar la Parte 8 de la serie LFCS si necesita refrescar su memoria antes de agregar nuevos usuarios.

  1. Cómo agregar y administrar usuarios/grupos en Linux
  2. 15 comandos para agregar usuarios en Linux

En nuestro caso específico, usaremos el siguiente alias como se explicó anteriormente (agregue la siguiente línea en /etc/aliases ).

sysadmin: gacanepa, jdoe

Y ejecute el siguiente comando para crear o actualizar la tabla de búsqueda de alias.

postalias/etc/postfix/aliases

Entonces que los mensajes enviados a [correo electrónico protegido] se enviarán a la bandeja de entrada de los usuarios enumerados anteriormente.

Configuración de Postfix: el servicio SMTP

La configuración principal El archivo para Postfix es /etc/postfix/main.cf . Solo necesita configurar algunos parámetros antes de poder utilizar el servicio de correo. Sin embargo, debe familiarizarse con los parámetros de configuración completos (que se pueden enumerar con man 5 postconf ) para configurar un servidor de correo seguro y completamente personalizado.

Nota:. que se supone que este tutorial solo debe ayudarlo a comenzar en ese proceso y no representa una guía completa sobre los servicios de correo electrónico con Linux.

Abrir archivo/etc/postfix/main.cf con el editor de su elección y realice los siguientes cambios como se explica.

# vi/etc/postfix/main.cf

1 . myorigin especifica el dominio que aparece en los mensajes enviados desde el servidor. Es posible que vea el archivo /etc/mailname utilizado con este parámetro. No dude en editarlo si es necesario.

myorigin =/etc/mailname  Configurar Myorigin en Postfix  Configurar Myorigin en Postfix Configurar Myorigin

Si se utiliza el valor anterior, los correos se enviarán como [correo electrónico protegido] , donde usuario es el usuario que envía el mensaje.

2 . mydestination enumera los dominios que esta máquina entregará mensajes de correo electrónico localmente, en lugar de reenviarlos a otra máquina (actuando como un sistema de retransmisión). La configuración predeterminada será suficiente en nuestro caso (asegúrese de editar el archivo para que se adapte a su entorno).

 Configurar Mydestination Configurar Mydestination Configurar Mydestination

Donde /etc/postfi El archivo x/transport define la relación entre los dominios y el siguiente servidor al que se deben reenviar los mensajes de correo. En nuestro caso, dado que estaremos entregando mensajes solo a nuestra red de área local (evitando así cualquier resolución DNS externa), la siguiente configuración será suficiente.

example.com.ar local: .example.com.ar local:

A continuación, necesitamos convertir este archivo de texto sin formato al formato .db , que crea la tabla de búsqueda que Postfix utilizará para saber qué hacer con el correo entrante y saliente.

# postmap/etc/postfix/transport

Deberá recordar volver a crear esta tabla si agrega más entradas al archivo de texto correspondiente.

3 . mynetworks define las redes autorizadas desde las que Postfix reenviará mensajes. El valor predeterminado, subred, le dice a Postfix que reenvíe correo desde clientes SMTP en las mismas subredes IP que la máquina local solamente.

mynetworks = subnet Configurar Mynetworks en Postfix  Configurar Mynetworks en Postfix Configurar Mynetworks

4 . relay_domains especifica los destinos a los que se deben enviar los correos electrónicos. Dejaremos el valor predeterminado intacto, lo que apunta a mydestination. Recuerde que estamos configurando un servidor de correo para nuestra LAN.

relay_domains = $ mydestination

Tenga en cuenta que puede usar $ mydestination en lugar de enumerar el contenido real.

 Configurar dominios de retransmisión en Postfix  Configurar dominios de retransmisión en Postfix Configurar dominios de retransmisión

5 . inet_interfaces define en qué interfaces de red debe escuchar el servicio de correo. El valor predeterminado, todos, le dice a Postfix que use todas las interfaces de red.

inet_interfaces = all  Configurar interfaces de red en Postfix  Configurar interfaces de red en Postfix Configurar interfaces de red

6 . Por último, se utilizarán mailbox_size_limit y message_size_limit para establecer el tamaño del buzón de correo de cada usuario y el tamaño máximo permitido de los mensajes individuales, respectivamente, en bytes.

mailbox_size_limit = 51200000 message_size_limit = 5120000

Restricción del acceso al servidor SMTP

El servidor Postfix SMTP puede aplicar ciertas restricciones a cada solicitud de conexión de cliente. No todos los clientes deben poder identificarse en el servidor de correo usando el comando smtp HELO , y ciertamente no todos deben tener acceso para enviar o recibir mensajes.

Para implementar estas restricciones, usaremos las siguientes directivas en el archivo main.cf . Aunque se explican por sí mismos, se han añadido comentarios con fines de aclaración.

# Requiere que un cliente SMTP remoto se presente con el comando HELO o EHLO antes de enviar el comando MAIL u otros comandos que requieran negociación EHLO. smtpd_helo_required = yes # Permitir la solicitud cuando la dirección IP del cliente coincida con cualquier red o dirección de red listada en $ mynetworks # Rechazar la solicitud cuando el comando HELO y EHLO del cliente tenga una sintaxis de nombre de host incorrecta smtpd_helo_restrictions = permit_mynetworks, accept_invalid_helo_hostname # Rechaza la solicitud cuando Postfix no representa el destino final para la dirección del remitente smtpd_sender_restrictions = permit_mynetworks, accept_unknown_sender_domain # Rechaza la solicitud a menos que 1) Postfix actúe como reenviador de correo o 2 ) es el destino final smtpd_recipient_restrictions = permit_mynetworks, verify_unauth_destination

La página postconf de los parámetros de configuración de Postfix puede resultar útil para explorar más a fondo las opciones disponibles.

Configuración de Dovecot

Inmediatamente después de instalar dovecot, admite los protocolos POP3 e IMAP listos para usar, junto con sus versiones seguras, POP3S y IMAPS , respectivamente.

Agregue las siguientes líneas en el archivo /etc/dovecot/conf.d/10-mail.conf .

#% u representa la cuenta de usuario que inicia sesión # Los buzones están en formato mbox mail_location = mbox: ~/mail: INBOX =/var/mail/% u # Directorio propiedad del grupo de correo y el directorio establecido en group-writable (mode = 0770, group = mail) # Es posible que deba cambiar esta configuración si postfix está ejecutando un usuario/grupo diferente en su sistema mail_privileged_group = mail

Si marca su directorio de inicio, notará que hay un subdirectorio de correo con el siguiente contenido.

 Configurar Dovecot para Postfix  Configurar Dovecot para Postfix Configurar Dovecot

Además, tenga en cuenta que /var/mail/% u archivo es donde se almacenan los correos del usuario en la mayoría de los sistemas.

Agregue la siguiente directiva a /etc/dovecot/dovecot.conf (tenga en cuenta que imap y pop3 implican imaps y pop3s también).

Protocolos = imap pop3

Y asegúrese de que /etc/conf.d/10-ssl.conf incluya las siguientes líneas (de lo contrario, agréguelas).

ssl_cert = Ahora reiniciemos Dovecot y verifiquemos que escucha en los puertos relacionados con imap, imaps, pop3 y pop3s.

# netstat-npltu | grep palomar  Check-Listening Ports  Comprobar puertos de escucha Comprobar puertos de escucha

Configurar un cliente de correo y enviando/recibiendo correos

En nuestra computadora cliente, abriremos Thunderbird y haremos clic en Archivo Nuevo Cuenta de correo existente . Se nos pedirá que ingresemos el nombre de la cuenta y la dirección de correo electrónico asociada, junto con su contraseña. Cuando hacemos clic en Continuar , Thunderbird intentará conectarse al servidor de correo para verificar la configuración.

 Configurar cliente de correo  Configurar cliente de correo Configurar cliente de correo

Repita el proceso anterior para el siguiente t ( [email protected] ) y las siguientes dos bandejas de entrada deberían aparecer en el panel izquierdo de Thunderbird.

Buzón de entrada de correo del usuario  Buzón de entrada de correo del usuario Bandeja de entrada de correo del usuario

En nuestro servidor, escribiremos un mensaje de correo electrónico a sysadmin , que tiene el alias de jdoe y gacanepa .

 Enviar correo desde la línea de comandos Enviar correo desde la línea de comandos Enviar correo desde la línea de comandos

El registro de correo (/var/log/mail.log ) parece indicar que el correo electrónico que se envió a sysadmin se transmitió a [email protected] y [email protected] , como se puede ver en la siguiente imagen.

 Verificar el estado de entrega del correo  Comprobar la entrega del estado del correo Comprobar la entrega del estado del correo

Podemos verificar si el correo fue entregado realmente a nuestro cliente, donde las cuentas IMAP fueron configuradas en Thunderbird.

 Verificar mensajes de correo electrónico  Verificar mensajes de correo electrónico Verificar mensajes de correo electrónico

Por último, intentemos enviar un mensaje de [correo electrónico protegido] a [correo electrónico protegido] .