Búsqueda de sitios web

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


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

Este tutorial le guiará en 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 único paquete de software llamado 'iRedMail'.

¿Qué es iRedMail?

iRedMail es una solución de servidor de correo de código abierto con todas las funciones que puede dedicar mucho tiempo a los administradores de sistemas para configuraciones complejas, es compatible con todas las principales distribuciones de Linux y se entrega con los siguientes paquetes de Linux.

  1. Postfix: servicio SMTP – MTA predeterminado.
  2. Dovecot: POP3/POP3S, IMAP/IMAPS, servicio Managesieve – MDA predeterminado.
  3. Apache: servidor web.
  4. MySQL/PostgreSQL: Almacenamiento de datos de aplicaciones y/o cuentas de correo.
  5. OpenLDAP: Almacenamiento de cuentas de correo.
  6. Policyd: servidor de políticas Postfix.
  7. Amavisd: Una interfaz entre Postfix y SpamAssassin, ClamAV. Se utiliza para escanear spam y virus.
  8. Roundcube: Webmail – MUA predeterminado.
  9. Awstats: analizador de registros de Apache y Postfix.
  10. Fail2ban: analiza archivos de registro (por ejemplo, /var/log/maillog) y prohíbe las IP que muestran intentos maliciosos del sistema.

Requisitos

  1. Instalación mínima de CentOS 6.5 – Guía de instalación de CentOS 6.5
  2. Un registro DNS MX válido que apunta a su servidor de correo responsable de su nombre de dominio.

Además, este tutorial está diseñado solo para fines de prueba y aprendizaje y no utiliza registros MX válidos ni un dominio DNS válido; todas las configuraciones se realizan localmente utilizando destinatarios virtuales con MySQL (puede recibir o enviar correo entre usuarios de dominio local únicamente). – 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 los servidores de correo de esos dominios 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 presta mucha atención a lo que estás 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.

En RHEL/CentOS/Scientific Linux
yum update && yum upgrade
yum install nano wget bzip2
En Debian/Ubuntu/Linux Mint
apt-get update && apt-get upgrade
apt-get install nano wget bzip2

2. Debido a 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 IP estática, abra y edite su archivo de configuración de NIC ubicado en la ruta /etc/sysconfig/network-scripts/ y agregue los siguientes valores.

En RHEL/CentOS/Scientific Linux
nano /etc/sysconfig/network-scripts/ifcfg-eth0

Utilice 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

Después de terminar de editar su archivo NIC, abra el archivo de red desde la misma ubicación que arriba y agregue el nombre de host no calificado de su servidor en la directiva HOSTNAME.

nano /etc/sysconfig/network-scripts/network

En Debian/Ubuntu/Linux Mint
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 haya terminado 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 sus servidores DNS IP en todo el sistema como en la captura de pantalla a continuación.

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íquelo 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á en pleno funcionamiento, edite el archivo /etc/hosts y agregue su nombre de host FQDN y no calificado 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 el problema de configuración de su nombre de host, ejecute los comandos hostname y hostname –f.

hostname
hostname -f

6. Otro paquete útil es bash-completion (secuencia de comandos de autocompletar usando la tecla [Tab]) que proporciona el repositorio EPEL en RedHat. sistemas basados y luego actualizar sus fuentes.

En RHEL/CentOS/Scientific Linux
rpm –Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum repolist && yum upgrade

Después de actualizar sus fuentes, instale la utilidad bash-completion (responda a todas las preguntas).

yum install bash-completion

En Debian/Ubuntu/Linux Mint

El paquete bash-completion en sistemas basados en 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 agregado su usuario, abra el archivo /etc/sudoers y descomente el grupo %wheel, luego agregue su usuario recién creado al grupo wheel.

nano /etc/sudoers

Busque y descomente 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 ruedas 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 al momento de escribir este artículo).

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

10. Una vez finalizada la descarga del archivo iRedMail, extráigalo usando 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 comprobaciones iniciales del sistema, el programa comienza a agregar el repositorio requerido y luego el primer mensaje de guía le pregunta si desea continuar con la instalación o cancelarla. Elija para continuar.

13. iRedMail utiliza el formato Maildir para almacenar correos electrónicos en la ruta del sistema /var/vmail donde crea directorios separados para cada dominio que 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 los nombres de dominios de correo y los 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] y 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, agregue 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 protocolos Dovecot (interfaz de correo web predeterminada de Roundcube o cualquier otro software IMAP/POP MUA como SquirrelMail, Rainloop). , Microsoft Outlook, Mozilla Thunderbird, Evolution, Mutt, Elm, etc.).

Además, el sistema utiliza esta cuenta administrativa de postmaster para informar incidentes relacionados con 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 de su servidor de correo, como el panel administrativo oficial iRedAdmin para Postfix, claves de dominio DKIM (agrega una firma al encabezado del mensaje evaluando la confianza del mensaje para la entrega final o retransmisiones adicionales), Roundcube. interfaz de correo web predeterminada (si planea utilizar otro agente de entrega de correo, 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 los componentes opcionales instalados, debe responder . Preste especial atención al archivo iRedMail.tips ubicado en el directorio extraído $HOME porque contiene información confidencial del servidor de correo, como nombres de usuario y contraseñas para aplicaciones del servidor, archivos de configuración del servidor, URL predeterminada 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 un lugar seguro. ruta del sistema con 600 permisos.

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

  1. Roundcube Webmail – https://nombre_dominio o IP_servidor/correo/
  2. Panel IRedAdmin – https://nombre_dominio o IP_servidor/iredadmin/
  3. PhpMyadmin – https://nombre_dominio o IP_servidor /phpmyadmin/
  4. Awstats – https://nombre_dominio o IP_servidor/awstats/awstats.pl?config=web (o ?config=smtp)
  5. Complemento antispam de Policyd: https://nombre_dominio o IP_servidor/cluebringer/

Paso 3: Configuraciones iniciales de correo web

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 del backend MySQL. Para iniciar sesión en el panel iRedAdmin, dirija su navegador a la URL https://domain_name/iredadmin/ o https://server_IP/iredadmin/ y utilice las siguientes credenciales predeterminadas.

  1. Nombre de usuario: postmaster@tu_nombre_de_dominio.tld
  2. Contraseña: contraseña del administrador de correo establecida en el punto 16

22. Para agregar un usuario, navegue hasta Agregar -> Usuario y luego proporcione el nombre de usuario, la dirección de correo y la contraseña 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 a los usuarios con poderes administrativos en el panel iRedAdmin Marcando al usuario como administrador global.

23. La lectura del correo electrónico de los usuarios se realiza mediante la interfaz web de Roundcube. Para acceder, navegue hasta la URL https://domain_name/mail o https://server_IP/mail/ y proporcione las credenciales de su cuenta de correo en el formato [ correo electrónico protegido].

Al acceder a la cuenta de correo administrativa predeterminada postmaster, encontrará dos correos electrónicos iniciales, uno de ellos que incluye información confidencial de su servidor. Desde aquí ahora puedes leer correos electrónicos, redactar y enviar correos a otros usuarios del dominio.

24. Para acceder a la política antispam Policyd del servidor, navegue hasta https://nombre_dominio/cluebringer o https://IP_servidor/ Cluebringer/ y proporcione las siguientes credenciales.

  1. Nombre de usuario: [correo electrónico protegido]
  2. Contraseña: contraseña del administrador de correo

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

  1. Nombre de usuario: [correo electrónico protegido]
  2. Contraseña: contraseña del administrador de correo

26. Si desea comprobar 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 su servidor en vivo funcionando, 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. desde otros dominios de Internet, pero el servidor SMTP local puede retransmitir correo en otros dominios válidos de Internet, así que preste especial atención a quién envía correos 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ó el correo electrónico correctamente.

A diferencia de otros servicios de red en los que los instala y se olvida durante mucho tiempo, administrar 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