Instale 'iRedMail' (servidor de correo con todas las funciones) con dominios virtuales, correo web, SpamAssassin y ClamAV en Linux


Después de los servicios HTTP y DNS shadow, el correo (SMTP, POP, IMAP y todos los protocolos de correo cifrados relacionados) es uno de los servicios más utilizados en Internet, y también uno de los más sensibles, debido al spam y los servidores de correo de retransmisión abierta.

Este tutorial lo guiará a través de la instalación de un servidor de correo completo con software MTA, MDA y MUA en unos minutos en RHEL, CentOS, Scientific Linux y Debian, Ubuntu, Linux Mint con Postfix, dominios virtuales y usuarios con MySQL, Dovecot - soporte para POP3/POP3S, IMAP/IMAPS, Roundcube - Webmail y también, correo no deseado y escaneo de virus con SpamAssassin y ClamAV, todos instalados usando un solo paquete de software llamado 'iRedMail'.

iRedMail es una solución de servidor de correo de código abierto con todas las funciones que puede ahorrar mucho tiempo a los administradores del sistema para configuraciones complejas, tiene soporte para todas las principales distribuciones de Linux y se envía con los siguientes paquetes de Linux.

  1. Postfix: SMTP service – default MTA.
  2. Dovecot: POP3/POP3S, IMAP/IMAPS, Managesieve service – default MDA.
  3. Apache: Web server.
  4. MySQL/PostgreSQL: Storing application data and/or mail accounts.
  5. OpenLDAP: Storing mail accounts.
  6. Policyd: Postfix policy server.
  7. Amavisd: An interface between Postfix and SpamAssassin, ClamAV. Used for spam and virus scanning.
  8. Roundcube: Webmail – default MUA.
  9. Awstats: Apache and Postfix log analyzer.
  10. Fail2ban: scans log files (e.g. /var/log/maillog) and bans IPs that show malicious system attempts.
  1. CentOS 6.5 minimal installation – CentOS 6.5 Installation Guide
  2. A valid DNS MX record that points to your mail server responsible for your domain name.

Además, este tutorial está diseñado solo con fines de prueba y aprendizaje y no usa registros MX válidos, ni un dominio DNS válido, todas las configuraciones se realizan localmente usando destinatarios virtuales con MySQL (pueden recibir o enviar correo entre usuarios de dominio local solamente - nombre de dominio local proporcionado desde el archivo de hosts) pero tenga en cuenta que, aunque nuestro sistema no puede recibir correos de dominios de Internet, en realidad puede retransmitir correos a esos servidores de correo de dominio a través de Postfix MTA, incluso si reside en un espacio de direcciones IP privado , sin registro MX válido y usando un dominio ficticio, así que preste mucha atención a lo que está haciendo.

Paso 1: Configuraciones iniciales y dirección IP estática

1. Después del primer reinicio, inicie sesión con su cuenta root y asegúrese de que su sistema esté actualizado e instale algunos paquetes útiles necesarios para su uso posterior.

# yum update && yum upgrade
# yum install nano wget bzip2
# apt-get update && apt-get upgrade
# apt-get install nano wget bzip2

2. Dado que este cuadro actúa como un servidor de correo , es necesario configurar una IP estática en la interfaz de red. Para agregar una dirección IP estática, abra y edite el archivo de configuración de su NIC ubicado en la ruta /etc/sysconfig/network-scripts/ y agregue los siguientes valores.

# nano /etc/sysconfig/network-scripts/ifcfg-eth0

Use este archivo como plantilla y reemplácelo con sus valores personalizados.

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:01:99:E8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="7345dd1d-f280-4b9b-a760-50208c3ef558"
NAME="eth0"
IPADDR=192.168.1.40
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

Una vez que termine de editar su archivo NIC, abra el archivo de red desde la misma ubicación anterior y agregue el nombre de host no calificado de su servidor en la directiva HOSTNAME .

# nano /etc/sysconfig/network-scripts/network
# nano /etc/network/interfaces

Reemplace los siguientes valores con su configuración.

auto eth0
iface eth0 inet static
  address 192.168.1.40
  netmask 255.255.255.0
  gateway 192.168.1.1
  dns-nameservers 192.168.1.1
  dns-search 8.8.8.8

Una vez que termine con su archivo de red, ahora agregue su nombre de host en el archivo/etc/hostname.

# nano /etc/hostnames

3. Luego abra el archivo /etc/resolv.conf y agregue el sistema de servidores IP de DNS en todo el sistema, como en la captura de pantalla siguiente.

# nano /etc/resolv.conf

Agregue el siguiente contenido con sus servidores de nombres favoritos.

search mydomain.lan
nameserver 8.8.8.8
nameserver 8.8.8.8

4. Después de que todas las configuraciones anteriores se hayan escrito en sus archivos correspondientes, reinicie su servicio de red para aplicar las nuevas configuraciones y verifíquelas usando los comandos ping e ifconfig.

# service network restart	[On RedHat based systems]

# service networking restart	[On Debian based systems]
# ifconfig

5. Ahora que su red estática está completamente operativa, edite el archivo /etc/hosts y agregue su nombre de host no calificado y FQDN como en el ejemplo siguiente.

# nano /etc/hosts
127.0.0.1   centos.mydomain.lan centos localhost localhost.localdomain
192.168.1.40 centos.mydomain.lan centos

Para verificar su problema de configuración del nombre de host, ejecute los comandos hostname y hostname –f.

# hostname
# hostname -f

6. Otro paquete útil es bash-complete (secuencia de comandos de autocompletar usando la tecla [ Tab ]) que es proporcionado por el repositorio EPEL en sistemas basados u200bu200ben RedHat y luego actualiza tus fuentes .

# rpm –Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# yum repolist && yum upgrade

Una vez que se hayan actualizado sus fuentes, instale la utilidad bash-complete (responda a todas las preguntas).

# yum install bash-completion

El paquete bash-complete en sistemas basados u200bu200ben Debian se puede instalar fácilmente usando el siguiente comando.

# apt-get install bash-completion

7. El último paso es agregar un usuario del sistema con privilegios de root. Primero agregue el usuario y configure su contraseña.

# adduser your_user
# passwd your_user

Una vez que se haya agregado su usuario, abra el archivo /etc/sudoers y descomente el grupo % wheel , luego agregue el usuario recién creado al grupo wheel.

# nano /etc/sudoers

Busque y elimine el comentario de la línea del grupo de ruedas para que se vea así.

%wheel                ALL=(ALL)            ALL

Cierre el archivo y agregue su usuario al grupo de rueda emitiendo el siguiente comando.

# usermod -aG wheel your_user

8. Antes de que podamos comenzar a descargar e instalar el software iRedMail , reinicie su sistema, luego inicie sesión con su usuario recién creado y asegúrese de que todo esté completamente funcional.

Paso 2: Instale iRedMail

9. Para descargar el paquete de archivo iRedMail, debe visitar la sección de la página de descarga oficial o puede usar el comando wget para descargar la última versión ( 0.8.7 en el momento de escribiendo este artículo).

# wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.8.7.tar.bz2

10. Una vez que finalice la descarga del archivo iRedMail, extráigalo con el siguiente comando.

# tar xvjf iRedMail-0.8.7.tar.bz2

11. Luego ingrese la ruta del directorio iRedMail recién extraído, marque el script iRedMail.sh con permisos ejecutables y luego ejecútelo.

# cd iRedMail-0.8.7
# chmod +x iRedMail.sh
# sudo ./iRedMail.sh

12. Después de las verificaciones iniciales del sistema, el programa comienza a agregar el repositorio requerido, luego la primera indicación de guía le pregunta si desea continuar con la instalación o cancelar. Elija para continuar.

13. iRedMail usa el formato Maildir para almacenar correos electrónicos en la ruta del sistema /var/vmail , donde crea directorios separados para cada dominio que usted agrega a su servidor MTA. Si se siente cómodo con esta ruta, presione Siguiente para avanzar con las configuraciones del servidor; de lo contrario, proporcione la ubicación deseada y luego Siguiente .

14. En el siguiente paso, elija su base de datos preferida para almacenar nombres de dominios de correo y destinatarios que se conectarán a Postfix . Este tutorial se centra en la base de datos MySQL, así que elija MySQL usando la barra [ Espacio ], luego continúe con Siguiente y proporcione una contraseña segura para la cuenta raíz de MySQL.

15. En el siguiente paso, agregue su primer nombre de dominio virtual. Si posee un nombre de dominio registrado agregado aquí (agregue solo el nombre de dominio, no el FQDN del sistema).

16. De forma predeterminada, iRedAdmin crea un usuario administrativo con plenos poderes sobre su servidor al que se puede acceder a través del panel iRedAdmin o mediante los protocolos Dovecot (interfaz de correo web Roundcube predeterminada o cualquier otro software IMAP/POP MUA como SquirrelMail, Rainloop, Microsoft Outlook, Mozilla Thunderbird, Evolución, Mutt, Elm, etc.).

Además, el sistema utiliza esta cuenta administrativa de postmaster para informar incidentes relacionados con las funciones de correo u otras fallas del sistema o información útil (logwatch generalmente envía sus estadísticas aquí), así que elija una contraseña segura y continúe con Siguiente .

17. En el siguiente paso, elija los otros componentes del servidor de correo, como el panel administrativo oficial iRedAdmin para Postfix, claves de dominio DKIM (agrega una firma al encabezado del mensaje para evaluar la confianza del mensaje para la entrega final o más retransmisiones), interfaz de correo web predeterminada de Roundcube (si lo planea para usar otro Mail Delivery Agent, omita Roundcube), PhpMyadmin (si se siente cómodo con la línea de comandos de MySQL, también debe omitir la instalación de PhpMyAdmin), Awstats (analizador y estadísticas de registro útiles), Fail2ban (protege su servidor de ataques de fuerza bruta).

18. En la siguiente serie de preguntas, dependiendo de sus componentes opcionales instalados, debe responder con . Preste especial atención al archivo iRedMail.tips ubicado en el directorio extraído /home/mial porque contiene información confidencial del servidor de correo, como nombres de usuario y contraseñas para aplicaciones de servidor, archivos de configuración de servidor, URL y otra información importante.

19. Una vez finalizada la instalación, reinicie su sistema y verifique el archivo iRedmail.tips para ver la configuración predeterminada de su servidor. Debe mover este archivo a una ruta segura del sistema con 600 permisos. .

20. Acceda a las aplicaciones web predeterminadas en las siguientes URL.

  1. Roundcube Webmail – https://domain_name or server_IP/mail/
  2. IRedAdmin panel – https://domain_name or server_IP/iredadmin/
  3. PhpMyadmin – https://domain_name or server_IP /phpmyadmin/
  4. Awstats – https://domain_name or server_IP/awstats/awstats.pl?config=web (or ?config=smtp)
  5. Policyd anti-spam plugin – https://domain_name or server_IP/cluebringer/

Paso 3: Configuraciones iniciales de Webmail

21. El panel administrativo de iRedAdmin ofrece una interfaz de correo web básica donde puede agregar dominios virtuales y cuentas para su servidor de correo que Postfix puede manejar a través de MySQL backend. Para iniciar sesión en el panel de iRedAdmin, dirija su navegador a la URL https:/nombre_dominio/iredadmin/ o https:/IP_servidor/iredadmin/ y utilice las siguientes credenciales predeterminadas.

  1. Username: [email protected]_domain_name.tld
  2. Password: postmaster password set on #16 point

22. Para agregar un usuario, vaya a Agregar -> Usuario y luego proporcione la dirección de correo electrónico y la contraseña del nombre de usuario que desee. También puede configurar la cantidad de espacio que su buzón de usuario puede manejar con Cuota y también puede promover usuarios con poderes administrativos sobre el panel iRedAdmin Marcando al usuario como administrador global .

23. La interfaz web de Roundcube proporciona la lectura del correo electrónico de los usuarios. Para acceder a él, vaya a https:/nombre_de_dominio/correo o https:/IP_de_servidor/correo/ URL y proporcione las credenciales de su cuenta de correo en forma de [ protegido por correo electrónico] .

Al acceder al administrador de correo de la cuenta de correo administrativo predeterminado, encontrará dos correos electrónicos iniciales, uno de ellos con información confidencial de su servidor. Desde aquí ahora puede leer correos electrónicos, redactar y enviar correos a otros usuarios del dominio.

24. Para acceder al servidor Política de política anti-spam , navegue hasta https:/nombre_dominio/cluebringer o https:/IP_servidor/cluebringer/ y proporcione las siguientes credenciales.

  1. User Name: [email protected]
  2. Password: postmaster password

25. Para ver las estadísticas de su servidor de correo, vaya a https: //mydomain.lan/awstats/awstats.pl/? Config u003d smtp o https: //mydomain.lan/awstats/awstats .pl y utilice las siguientes credenciales.

  1. User Name: [email protected]
  2. Password: postmaster password

26. Si desea verificar las conexiones abiertas de su servidor y el estado del demonio de escucha con sus sockets aferentes, emita los siguientes comandos.

# netstat -tulpn   ## numerical view
# netstat -tulp    ## semantic view

27. Para depurar otros problemas con las transacciones de correo o ver el funcionamiento de su servidor en vivo, puede usar los siguientes comandos.

# tailf /var/log/maillog   ## visualize mail logs in real time
# mailq    		   ##  inspect mail queue
# telnet    		   ## test your server protocols and security form a different location
# nmap                     ## scan your server opened connections from different locations

28. Ahora que ha implementado un entorno de correo completo, lo único que falta, al menos en este tema es un nombre de dominio válido con un registro MX DNS para recibir correo de otros dominios de Internet pero SMTP local. El servidor puede retransmitir correo a otros dominios válidos de Internet, así que preste especial atención a a quién envía los mensajes porque puede tener problemas ilegales con su ISP.

En la captura de pantalla a continuación, puede ver que envié un correo electrónico desde mi dominio local no válido a una de mis cuentas de google.com y mi cuenta de Google recibió correctamente el correo electrónico.

A diferencia de otros servicios de red en los que se instala y se olvida durante mucho tiempo, la gestión de un servidor de correo es un trabajo duro y continuo debido a problemas relacionados con el servicio de correo como SPAM, retransmisión abierta y rebotes de mensajes.

Enlaces de referencia

Página de inicio de iRedMail