Instalar tu propio sistema de correos – IRedMail Ubuntu 18.04

Buenas estimados usuarios. En el siguiente tutorial, aprenderás a como instalar tu propio sistema de correos oficiales. Esto en pocas palabras, es que en lugar de usar un correo de gmail, outlock, yahoo, etc. Para ti, tu comunidad o tu empresa. Puedes tener los tuyos propios con tu propia pagina para poder acceder (Ademas de otras funciones). Por ejemplo tener un correo como [email protected]

enviar email anonimo | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Normalmente esto ya lo ofrecen otras empresas como servicio, el gran problema es que o es sumamente caro o complicado de encontrar. Un ejemplo de esto es que gmail te da la opcion que crees tus correos ([email protected]), pero cada cuenta cuesta 1 dolar mensual. Que para 2 o 3 cuentas no es mucho, pero si hablamos de una empresa o comunidad que requiere 30 o 50 cuentas. Los precios ya suben bastante.

Nosotros encontramos un sistema que con 10 dolares como mucho, si quieres puedes tener fácil 50 mil cuentas de correo. Ademas del echo de que esta cantidad puede aumentar o reducirse dependiendo de las necesidades que tengas. Pero lo mejor de todo, tiene mas cosas que solo un simple sistema de correo y ofrece la capacidad de modificarlo a tu gusto.


Preámbulo: Al principio no sabíamos si publicar este tutorial, debido a que no es de nuestra autoría de donde conseguimos esta información. Pero después de plantearlo varias veces, llegamos a la conclusión de que es necesario hacerlo, por lo siguiente.

  • El tutorial en cuestión, de donde nosotros aprendimos a instalar este sistema y que actualmente inclusive usamos en la organización. Esta en ingles.
  • El tutorial no es muy conocido, por lo tanto el sistema que informan, el cual instala todo casi en automático y muy útil, no puede beneficiar a todas las personas que lo necesiten por ello.
  • Muchas veces tanto empresas, comunidades, organizaciones e incluso el propio gobierno. Necesitan un sistema propio de correos: por seguridad, por profesionalismo, por comodidad, para dar confianza a aquellos que les ofrecen su servicio o para facilitarles el trabajo ya que es una herramienta sumamente poderosa.
  • Ya que este tutorial lo usamos bastante para lanzar muchos sistemas parecidos, necesitamos poder consultar esta información constantemente. Por ello en caso de que la pagina autora o de donde aprendimos esta información, llegara a cerrar o eliminar esto. Nosotros podemos tener acceso al mismo.

Dicho esto, mas que nada este tutorial lo hacemos para poder compartir a la comunidad de habla hispana para que puedan tener su propia herramienta de este tipo y para nosotros poder consultarla en caso de ser necesario.


Primeros pasos

Al igual que con nuestro tutorial sobre como crear una pagina web, hay que hacer algunos pasos previos antes de poder instalar el sistema. Por ende los dejaremos a continuacion y deben de seguirlos al pie de la letra.

Compra tu dominio

Lo primero que deben de hacer es elegir el nombre que aparecerá después del @ en tu correo. Ejemplo: [email protected] Si ya tienes uno por ejemplo el de tu web, puedes usarlo o puedes usar uno nuevo para el sistema de correos y tu web.

Compra tu VPS y gana 50 dolares

El sistema de correos IRedMail no usa demasiados recursos. Pero se recomienda un Hardware de 2GB de ram, 1vCPU y el espacio que queramos (Tengan en cuenta que entre mas espacio, mas correos o espacio para las cuentas, pueden tener).

Aunque ustedes tengan un server ya comprado para una web por ejemplo, se recomienda comprar uno extra (Ya que a pesar de que IRedMail instala un sistema de seguridad), el servidor de correos es mas vulnerable que otros. Ademas de que también pide algunos recursos y si no sabes mucho de desarrollo web, puede incluso hasta darte problemas con tu web por interferencias (Ya que usa su propia configuración web).

Es muy importante que cuando creemos la vps en DigitalOcean coloquemos en el nombre de esta: mail.(su dominio comprado) Mas adelante explicaremos porque.

Une todo con tu Gestor DNS

Por ultimo necesitamos unir nuestro nuevo servidor (Donde instalaremos el sistema de correos IRedMail) y nuestro dominio. Mas adelante enseñaremos exactamente que DNS se deben crear para poder unirlos, pero se recomienda ver nuestro tutorial de CloudFlare (Ya que para usar un gestor de DNS hay que darle acceso desde Godaddy u otra plataforma donde podamos comprar dominios).


Instalación de IRedMail

Terminado los pasos previos, ya podemos comenzar con la instalación de nuestro servidor de correos IRedMail. Cabe aclarar que es muy sencillo, ya que el sistema en si, casi hace toda la instalación y configuración de los sistemas, en automático, mediante una interfaz.

¿Que es IRedMail ?

IRedMail es un Sistema Script OpenSource, el cual se hace cargo de toda la instalacion y configuracion automatica, de los componentes OpenSource, que necesitaria un sistema de correo para funcionar y cliente para visualizar su sistema de correo. Evitando su configuración e instalacion manual de cada uno de ellos. Los sistemas que instala son los siguientes:

  • Postfix: Para el server SMTP.
  • Dovecot: Para el server IMAP.
  • Nginx: Para el cliente de correo y panel de control (Anteriormente también aceptaba apache2, pero lo quitaron, porque Nginx es mejor para su sistema).
  • Sistema de Base de datos en OpenLDAP, MySQL/MariaDB, o PostgreSQL: para almacenar correos o información de los usuarios.
  • Amavised-new: para la validación DKIM.
  • SpamAssassin: para evitar spam o bloquear cuentas.
  • ClamAV: para evitar virus.
  • Cliente de correo Roundcube: (Su interfaz es algo antigua, pero totalmente personalízale gracias a que puedes incorporar plugins e inclusive un sistema que permita al usuario registrar una nueva cuenta de correo, por su propia cuenta).
  • Cliente de correo Sogo: No es totalmente personalizable. Pero de base este ya cuenta con un sistema de lista de contactos, agenda de tareas, protocolos automáticos para los correos y lo mejor un sistema de calendario (Que se sincroniza con los demas usuarios, permitiendo añadir a mas usuarios a los eventos y ver sus actividades). Ademas que se sincroniza perfectamente con otros clientes de correo externos, como la app de microsoft.
  • Fail2ban: Sistema que protege su servidor de correos, para que no puedan hackearlo.
  • Mlmmj: Gestor de listas de correo masivas.
  • NetData: Monitor de procesos y estadística de su servidor, este sistema le mandara reportes al correo sobre los procesos que tiene su sistema de correo y los errores que surgan. Ademas de que le permite ver en una interfaz gráfica todo su servidor y estadística (No se recomienda su instalación si su sistema es de 2gb de ram o menos ya que pide algunos recursos extra).
  • iRedAPD: Sistema que controla y administra los demas verificadores de correo (Anti spam, anti virus, etc), ademas de las listas blancas, grises y negras de correos.

Como dato curioso: Puede instalar ambos clientes de correo y permitir a los usuarios, usar el que mas les guste. Aunque depende de lo que quiera hacer con su sistema de correo, elegira uno u otro.

Ademas IRedMail instala su propio sistema de IRedAdmin, el cual es en pocas palabras es un panel de control gráfico, que le permitirá administrar sus cuentas de correo de una forma sencilla y rápida.

Paso 1 – Creación de DNS para tu servidor de correos

Tenemos que crear varias DNS a lo largo de nuestra configuración, pero vamos a dividir este proceso en 2 etapas. La primera la haremos ahora que son las básicas para que nuestro sistema pueda arrancar y luego al final para que nuestros correos no lleguen a la bandeja de spam.

Por su-dominio o tu-dominio en este tutorial, nos referimos al dominio que compraste y puede ser: fxz-org.com o phast.site por ejemplo.

Tipo de DNSNombreApunta aTiempo
Amailip de su serverAutomatico
MX@mail.su-dominioAutomatico

En cloudflare para la DNS de mail, se recomienda desactivar la nube por varios motivos. La primera es que para que el certificado ssl funcione (Debemos configurarlo en Full y si tenemos una web puede causar fallos), la segunda es que no podemos usar un proxy, ya que mas adelante necesitamos que la ip de nuestro servidor sea publica para comprobar la valides del correo.

Pero esto no es un problema ya que mas adelante instalaremos un certificado SSL.

No se preocupen si al momento de configurar sus DNS, tardan en funcionar, ya que estas suplen tardar un tiempo si el Dominio es nuevo (Ya que deben propagarse por todo el mundo). Como máximo puede tardar hasta 24hrs. Si quieren saber como se han propagado, consulten esta web: whatsmydns.net

Paso 3 – Preparación del servidor

Hay una serie de configuraciones previas que debemos realizar en nuestro servidor nuevo, para que la instalación se genere con éxito. Por ello debemos acceder a la consola de nuestro servidor (Podemos usar la que da DigitalOcean, pero preferentemente debemos usar otra, que nos permita copiar texto de ella).

Debemos ejecutar los siguientes comandos, para actualizar nuestro servidor:

sudo apt update
sudo apt upgrade

Despues tenemos que configurar el FQDN, para esto debemos ejecutar el siguiente comando:

sudo hostnamectl set-hostname mail.tu-dominio

Lo siguiente que debemos establecer el host, con el siguiente comando y apoyandonos de nano:

sudo nano /etc/hosts

Se nos abrira la interfaz del archivo Host (También lo podemos hacer con filezilla u otro gestor de archivos para servidores remotos). Debemos encontrar la linea donde se encuentra 127.0.0.1 y debemos modificarlo de la siguiente forma:

127.0.0.1       mail.tu-dominio localhost

Despues debemos guardar y cerrar este archivo, si lo hacemos desde la linea de comandos. Debemos precionar ctrl+O para guardar y ctrl+X para cerrar el archivo.

Por ultimo con el siguiente comando, vamos a comprobar que este lista la configuracion, debe aparecer nuestro subdominio de correos: mail.tu-dominio

hostname -f

Paso 4 – Instalacion y configuracion de IRedMail

Ya que nuestro servidor este listo y preparado, ahora ya podemos proceder como tal a instalar IRedMail, ejecutarlo y que este empiece a configurar todo nuestro sistema de correos, simplemente contestando unas cuantas preguntas.

Lo primero que debemos hacer es descargar IRedmail de su repositorio publico de Github, con los siguientes comandos:

sudo apt install git
git clone https://github.com/iredmail/iRedMail.git

Lo siguiente que debemos hacer es preparar el archivo para comenzar con la instalacion automática, para esto debemos darle permisos con el siguiente comando:

cd iRedMail/
chmod +x iRedMail.sh

Lo siguiente que tenemos que hacer, es comenzar ahora si con la instalación (Este paso es muy importante y debemos evitar tener errores (En caso de tenerlos solo debemos colocar ctrl+c y volver a iniciar todo el procedimiento, pero se recomienda tratar de hacerlo bien a la primera).

sudo bash iRedMail.sh

Que controles podemos usar para trabajar con la interfaz de instalacion de IRedMail?

la tecla Tab (Tabulador): Nos permite seleccionar una opcion como yes o no.
La tecla espacio: Nos permite seleccionar la opcion que querramos, entre varias opciones.
las flechas: Nos sirven para movernos entre las diferentes opciones.
las teclas ctrl+c: Nos permiten abortar el proceso e iniciarlo de nuevo.

Lo primero que veremos sera la siguiente interfaz. Aqui debemos seleccionar Yes.

ubuntu 18 | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

La siguiente opción, nos solicita que establezcamos la ruta de almacenamiento de los correos. Por defecto (y es lo recomendable dejarlo a si), esta en /var/vmail/ cuando establezcamos la ruta donde queremos, debemos colocar Next.

Tambien nos informa que no puede ser /var/mail ni /root.

iredmail 1 | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Ahora debemos seleccionar que servidor web queremos para nuestro sistema y cliente de correo. Nos da la opcion de elegir Nginx por defecto y no tener ningun servidor web (Anteriormente tambien estaba apache2, pero lo quitaron).

Primero elegimos con espacio y flechas, la opción que queramos. Posteriormente debemos colocar la tecla tab para darle next.

Cabe aclarar que la opción que tenga el aste disco sera la que elegiremos y para colocarlo solo debemos movernos con las flechitas a la opcion querida y dar espacio.

iredmail 1 | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Ahora debemos elegir la base de datos que queremos usar para nuestro sistema. Nosotros recomendamos MariaDB, pero si conoces otras base de datos funcionan igual de bien (Inclusive si planeas usar Sogo y conoces OpenLDAP, se recomienda que lo uses, ya que se integra a la perfección con el sistema de sogo).

ubuntu 18 | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

En caso de que hayas elegido MariaDB (Mysql), tienes este paso extra, en el cual debes de establecer la contraseña de tu base de datos (Esta contraseña es muy importante que te la aprendas y la coloques de forma optima, ya que la usaras para administrar las base de datos si es necesario).

ubuntu 18 | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Este tutorial asume el echo de que deseas crear un correo con este formato: [email protected] Por ende en la siguiente interfaz, nos solicita que coloquemos el dominio principal que deseamos para nuestro sistema de correo. En este campo hay que colocar: tu-dominio

No podemos colocar espacio en este campo, ya que si lo precintamos podemos provocar un error de instalación. Por ultimo para afirmar que los datos ingresados estan bien, solo debemos dar tab.

Mas adelante, podemos añadir mas dominios secundarios si lo deseamos.

set up mail server on ubuntu 18 | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Cuando instalemos nuestro sistema de correo, el propio sistema nos creara una cuenta llamada [email protected] la cual nos servira para ingresar al panel de control y desde ahi poder crear todas las cuentas de correo que querramos (Mas adelante se pueden crear mas cuentas de administracion). Ademas esta cuenta recibe todos los reportes de estatus en el sistema (Por parte de varios sistemas, incluyendo nginx. Por ello no podemos borrar este correo ni perderlo tampoco).

Recomendamos ampliamente guardar la contraseña que coloquemos (Aunque se puede cambiar después).

Por cierto no de esta cuenta a nadie, que no sea el administrador del sistema o dueño, ya que es una cuenta demasiado importante.

ubuntu 18 | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04
Cuando terminemos de ingresar la contraseña, solo debemos dar clic a tab.

Ahora esta es una de las ultimas interfaces y la mas importante. Ya que aqui debemos elegir que sistemas queremos para nuestro servidor de correos (De los que mencionamos al principio, solo que aparecen algunos, ya que hay otros que son obligatorios para que el sistema funcione).

En este aparado debemos movernos entre las opciones que queramos con las teclas de flechas del teclado y debemos dar a la tecla de espacio en la opción que queramos marcar. Todas las opciones marcadas con el * serán instaladas. Cuando terminemos y esten marcadas todas las opciones que deseamos, ahora solo debemos dar clic a la tecla de Tab.

Opciones que hay y que hace cada una.

  • Cliente de correo Roundcube: (Su interfaz es algo antigua, pero totalmente personalízale gracias a que puedes incorporar plugins e inclusive un sistema que permita al usuario registrar una nueva cuenta de correo, por su propia cuenta).
  • Cliente de correo Sogo: No es totalmente personalizable. Pero de base este ya cuenta con un sistema de lista de contactos, agenda de tareas, protocolos automáticos para los correos y lo mejor un sistema de calendario (Que se sincroniza con los demas usuarios, permitiendo añadir a mas usuarios a los eventos y ver sus actividades). Ademas que se sincroniza perfectamente con otros clientes de correo externos, como la app de microsoft.
  • IRedAdmin: Es un panel de control web, desde el cual podemos administrar todos los detalles de nuestra web. Inclusive tiene un sistema de panel de control mejorado llamado IRedAdmin-pro el cual es mas costoso, pero tiene muchas funciones extra.
  • Fail2ban: Sistema que protege su servidor de correos, para que no puedan hackearlo.
iredmail components | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Ahora nos muestra en la consola, todos los datos que llenamos con anterioridad con el objetivo de que verifiquemos que esten correctos, para comenzar con la instalación. Si son correctos colocamos Y y si son incorrectos colocamos N. Si colocamos que son incorrectos, deberemos repetir todo este proceso de las interfaces de instalación, hasta que esten bien, como nosotros queremos.

iredmail review 1 | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Después de que demos aceptar, el sistema de IRedMail empezara a instalar todo lo necesario, para que funcione nuestro servidor de correos (Todos los programas que instala son OpenSource, es decir son gratuitos y libres para usar sin problemas, incluso IRedAdmin a pesar de tener una opcion de pago).

Prácticamente al final de la instalación, nos pedirá que aceptemos un par de cosas, para que pueda adaptar nuestro servidor al sistema. En ambas debemos colocar Y.

iredmail firewall rules fail2ban 1 | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Después de terminar toda la instalación, nos mostrara una pantalla con todos los datos de nuestro sistema, recomendamos copiar cada uno de ellos (Ya que los usaremos después) o tomarles foto. Aunque también nos mandara un correo con estos mismos datos a la cuenta administradora de [email protected]

iredmail full featured mail server 1 | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Ahora debemos reiniciar nuestro servidor, para que los cambios surtan efecto. Por ello debemos ejecutar el siguiente comando:

sudo shutdown -r now

Después de que se haya reiniciado nuestro servidor, es momento de que probemos si el sistema funciona óptimamente. Para esto debemos entrar a alguna de las siguientes paginas:

  • IRedAdmin: https://mail.tu-dominio/iredadmin/
  • RoundCube: https://mail.tu-dominio/mail/
  • Sogo: https://mail.tu-dominio/Sogo/
  • NetData: https://mail.tu-dominio/netdata/ (Cuando ingresemos a este, debemos colocar el correo y contraseña de la cuenta administradora, ya que solo esta tiene acceso).

Solo podremos acceder a aquellas que hayamos instalado. Si por ejemplo no instalamos sogo, no podremos ingresar a su link, porque no existe.

Es normal que les aparezca que este sitio no es seguro, ya que todavia no tiene un certificado SSL, pero mas adelante se lo pondremos.

Si no les sale y su dominio es nuevo, puede ser por 2 motivos. El primero es porque las dns todavía se siguen propagando ya que el dominio es nuevo. El segundo es que cometieron un error en la instalación y hay que volverlo a hacer (En nuestra opinión, lo mejor es borrar la vps y crear una nueva, si es DigitalOcean, no genera cobros extra, ya que pueden generar cuantas vps quieran ya que les cobra por hora de uso).

Paso 5 – Instalación de certificado ssl

En este paso instalaremos un certificado ssl el cual principalmente sirve para que cuando accedamos a nuestro sistema de correos en la web, nos salga que este es seguro.

En nuestro caso para este tutorial podemos obtener e instalar un certificado gratuito de Let’s Encrypt TLS. Para esto primero que nada, debemos preparar nuestro servidor para generar estos certificados:

sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt install certbot

Ya que esta preparado, ahora debemos ejecutar el siguiente comando y cambiar lo que esta en negritas y entre paréntesis por nuestros datos (No se coloca los paréntesis y la explicación, solo los datos que van ahí):

sudo certbot certonly –webroot –agree-tos –email (tu correo: [email protected]) -d (Nuestro dominio: mail.ejemplo.com) -w /var/www/html/

Posteriormente nos dira que si queremos recibir comunicados al correo, nosotros podemos colocar que si o no.

iredmail letsencrypt | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Si todo sale bien nos mostrara un texto informándonos que nuestro certificado fue instalado apropiadamente y que se instalo en /etc/letsencrypt/live/mail.tu-dominio/

iredmail certbot | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Error con la instalación del Certificado SSL y como arreglarlo

Si nos muestra el siguiente mensaje, quiere decir que nuestro certificado SSL no se pudo crear debido a algun error. Por lo general siempre es debido a que todavia no se propagaron las DNS (Dependiendo del gestor de DNS y donde se compro el dominio, puede ser instantaneo o durar hasta 24hrs). Si este es el caso, solo debemos esperar un poco.

Failed authorization procedure. mail.linuxbabe.com (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching https://mail.linuxbabe.com/.well-known/acme-challenge/IZ7hMmRE4ZlGW7cXYoq2Lc_VrFzVFyfW6E0pzNlhiOA: Timeout during connect (likely firewall problem)

También puede provocar errores si utilizas IPv6 ya que nginx, no lo acepta. Si este es el caso puedes solucionarlo de la siguiente manera, primero debemos acceder al archivo con esta ruta: /etc/nginx/sites-enabled/00-default.conf

Podemos acceder con este comando:

sudo nano /etc/nginx/sites-enabled/00-default.conf

Posteriormente en el archivo debemos buscar lo siguiente:

#listen [::]:80;

Aqui solo debemos quitar el # que aparece al principio. despues damos ctrl+O y ctrl+X.

Como ultimo paso debemos acceder a la siguiente ruta: /etc/nginx/sites-enabled/00-default-ssl.conf

 sudo nano /etc/nginx/sites-enabled/00-default-ssl.conf

Ahora debemos añadir la siguiente linea:

listen [::]:443 ssl http2;

iredmail certbot renew | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Ahora para comprobar que nuestra instalación fue exitosa, debemos ejecutar el siguiente comando:

sudo nginx -t

Si nos dice que la configuracion esta correcta, debemos ejecutar el siguiente comando y volver a crear el certificado SSL, como se muestra al principio de este paso 5.

sudo systemctl reload nginx

Instalacion del certificado SSL en NGINX

Ya que tenemos creado nuestro certificado ssl, es necesario que ahora instalemos este certificado en NGINX. Para esto debemos seguir lo siguiente:

Primero que nada debemos ejecutar el siguiente comando:

sudo nano /etc/nginx/templates/ssl.tmpl

Debemos encontrar las siguientes lineas:

ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;

Las cuales remplazaremos por lo siguiente (Cabe aclarar que lo que esta en negritas, debe cambiarse por los datos de ustedes).

ssl_certificate /etc/letsencrypt/live/mail.tu-dominio/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.tu-dominio/privkey.pem;

Por ultimo, debemos reiniciar NGINX, para que los cambios se vean visibles.

sudo nginx -t
sudo systemctl reload nginx

Por ultimo, debido a que ya instalamos el certificado en NGINX, ahora cuando entremos a los links del sistema de correo, ya podemos ver que es seguro.

iredadmin | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Instalación del certificado SSL en Postfix y Dovecot

Ahora instalaremos el certificado SSL en nuestro servidor de Postfix y Dovecot, para que podamos acceder a el con total normalidad, en las aplicaciones móviles o de escritorio. Para empezar, debemos ejecutar el siguiente comando:

sudo nano /etc/postfix/main.cf

Dentro del archivo, debemos encontrar las siguientes 3 lineas (linea 95, 96 y 97):

smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt

Estas 3 lineas las debemos de remplazar por lo siguiente y en las partes negritas, debemos cambiarlas por las de nuestros datos.

smtpd_tls_key_file = /etc/letsencrypt/live/mail.tu-dominio/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.tu-dominio/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.tu-dominio/chain.pem

Ya que hayamos terminado, debemos colocar ctrl+O y ctrl+X (Para guardar y cerrar el archivo), posteriormente debemos reiniciar el sistema de Postfix para que los cambios se actualicen y listo ya estara funcionando con total normalidad.

sudo systemctl reload postfix

Ahora continuaremos con la configuración de Dovecot, para empezar debemos ejecutar el siguiente comando:

sudo nano /etc/dovecot/dovecot.conf

Posteriormente debemos encontrar las siguientes 2 lineas (Linea 47 y 48):

ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key

Las cuales remplazaremos por lo siguiente (Recuerda lo que esta en negritas, debes remplazarlo por tus datos):

ssl_cert = </etc/letsencrypt/live/mail.tu-dominio/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.tu-dominio/privkey.pem

Por ultimo para este paso, debemos reiniciar Dovecot, con el siguiente comando:

sudo systemctl reload dovecot

Paso 6 – Validación de correos

Al momento de mandar un correo desde cualquier cuenta, hay unos factores que lee el sistema receptor de correos (A donde llegan los correos), los cuales permiten saber al sistema recpetor, si este correo proviene efectivamente de nosotros y no de algún posible cyber-estafador.

En caso de no cumplir con la mayoría de validaciones (Ya que efectivamente hay varios factores), el sistema receptor, puede descartar el correo o mandarlo a spam (Aunque de este ultimo influyen otros factores, como el tipo de mensaje, antigüedad del sistema de correos, si anteriormente el sistema receptor a recibido correos de este tipo, antigüedad del dominio, etc. Este es el principal).

Registro DNS PTR

El principal factor de validacion de correo es ver que el correo de donde viene su dominio apunte a la ip de su servidor. Digamos que el PTR en simples palabras es lo contrario, quiere decir que el servidor apunte al dominio. Digital ocean no permite administrar esta DNS de forma facil, ya que para poder establecerlo el nombre de nuestro droplet debe de ser a si (Por eso les pedimos que colocaran un nombre especifico al nombre del servidor cuando lo crearon, pero si no lo hicieron pueden cambiarlo en ajustes del Droplet): mail.tu-dominio

Ademas como paso extra en nuestro gestor de DNS Cloudflare, podemos crear una DNS de estilo PTR. Aunque por lo general no funciona.

TipoNombreApuntaTiempo
PTR@ip del servidorautomatico

Para verificar que este fue instalado correctamente podemos ejecutar el siguiente comando (Cuando lo ejecutemos, nos debe salir mail.tu-dominio):

dig -x IP-de-tu-server +short

Registro DNS SPF

El registro SPF (Sender Policy Framework) especifica qué hosts o direcciones IP pueden enviar correos electrónicos en nombre de un dominio. Se recomienda unicamente dar permiso a su servidor de correo y en caso de tener una web, darle permiso a esta.

Para esto, debemos crear el siguiente registro DNS.

TipoNombreApuntaTiempo
TXT@v=spf1 mx ~all90 segundos

Para que podamos verificar que fue instalado correctamente, podemos ejecutar el siguiente comando (Cuando lo ejecutemos nos saldrá todos los registros TxT, entre ellos nuestro spf):

dig tu-dominio txt

Registro DKIM

Las DKIM (DomainKeys Identified Mail), son 2 claves, una privada y otra publica las cuales se establecen en cada uno de sus correos, con el objetivo de validar que este correo enviado desde un servidor sea valido.

Para poder obtenerlas, necesitamos ejecutar el siguiente comando:

sudo amavisd-new showkeys

Al momento de ejecutarlo, nos mostrara en la pantalla una clave enorme, parecida a lo siguiente (La cual debemos copiar y pegar posteriormente en nuestro gestor DNS):

iredmail amavis dkim | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Para copiar la clave, debemos copiar todo lo que se encuentra dentro de los paréntesis. Obviamente ya que lo peguemos, debemos borrar los saltos de linea y las comillas. Quedando de la siguiente manera:

TipoNombreApunta aTiempo
TXTdkim._domainkeyv=DKIM1; p= MIADSDFDFSD…90 segundos

Ya que hayamos creado nuestro registro DKIM, ahora debemos probar que esta este instalada de forma optima:

sudo amavisd-new testkeys

La consola nos mostrara un mensaje parecido a este (Que significa que se instalo de forma optima, si no sale a si nos dirá cual fue el error y debemos corregirlo):

TESTING#1 tu-dominio: dkim._domainkey.tu-dominio => pass

Registro DMARC

El registro DMARC (significa autenticación, informes y conformidad de mensajes basados ​​en dominio), permite mandarle reportes a un correo, cuando este tiene algun error (Por ejemplo un error de validacion que debemos solucionar). Ademas nos permite saber si alguien esta tratando de suplantar la identidad de su sistema de correo.

TipoNombreApuntaTiempo
TXT_dmarcv=DMARC1; p=none; pct=100; rua=mailto:tu-correoautomatico

Paso 7 – Prueba que tu sistema funcione óptimamente

Bueno por ultimo después de toda la configuración del sistema de correo, es momento de probar que nuestro correo funcione de forma optimamente. Para esto debemos ingresar a la web de testeo y mandar un correo a la dirección que nos informen.

Cuando ellos reciban el correo que mandamos desde nuestro sistema, nos dirá que puntaje tiene en cuanto a validación (Si tiene un pontaje bajo, no podrán recibir nuestros correos, si los mandamos a cuentas externas, como gmail). Por ello debemos comprobar que nuestro puntaje sea alto y si no lo es, debemos arreglar los respectivos fallos.

Testing Email Score and Placement | FxZ | Instalar tu propio sistema de correos - IRedMail Ubuntu 18.04

Paso Opcional 1 – Desactivar listas grises

Iredmail activa por defecto esta función de las Listas Grises. Es un sistema el cual indica a los servidores que el correo mandado se encuentra en revisión, con el objetivo de indagar si es una amenaza para el sistema. Aunque puede tardar mas de lo normal (Algo que muchas veces es innecesario), por ende muchas personas tienden a desactivarlo.

Para empezar debemos darle permisos a nuestro sistema para poder realizar cambios:

sudo chmod 600 /opt/iredapd/settings.py

Ahora debemos editar parte de la configuracion, con el siguiente comando:

sudo nano /opt/iredapd/settings.py

Ahora debemos buscar la linea que contiene lo siguiente:

plugins = [“reject_null_sender”, “wblist_rdns”, “reject_sender_login_mismatch”, “greylisting”, “throttle”, “amavisd_wblist”, “sql_alias_access_policy”]

Ahora debemos de quitar greylisting y posteriormente colocar ctrl+O y ctrl+X. Para poder reiniciar nuestro sistema con el siguiente comando:

sudo systemctl restart iredapd

Por seguridad, ahora volveremos a cambiar los permisos de nuestro archivo.

sudo chmod 400 /opt/iredapd/settings.py

Cabe aclarar que las listas grises es un plugin de los varios que tiene IRedMail. Los cuales se encargan de añadir mejoras al sistema, si alguno de estos no le interesa, puede desactivarlos al igual que las listas grises.


Información Extra

Hay cierta información extra que te puede ayudar a mejorar tanto tu gestión del sistema, como mejorarlo en si, para esto simplemente ve los diversos apartados que te mostraremos a continuación.

Manual de Configuración para Sogo

En caso de que uses Sogo, el organismo encargado de su desarrollo, posee un manual de instalación/configuración, el cual a nosotros fue de gran utilidad para configurar nuestro servidor y personalizarlo un poco: sogo.nu/manual

Lo malo es que esta en ingles. Pero si te gustaria que hagamos una version en español, dinos en los comentarios y con gusto lo haremos.

Controlar correos recibidos

El sistema de correos, tiene como una especie de lista de correos recibidos, los cuales procesa de acuerdo al orden que tiene dicha lista. Mas sin embargo a veces esta, puede llegar a fallar y si este es el caso. Tenemos que administrarlo para arreglarlo, por ello les damos la siguiente guia que explica a detalle como hacerlo: clouding.io/postfix

Otros tutoriales referentes a este

Hay mutiples tutoriales, los cuales son complementos de este y que te permitiran aprender mas sobre su funcionamiento, los cuales puedes encontrar a continuacion:

Manual de uso para los clientes de correo

Si das clic al siguiente boton, puedes ingresar al manual para usuarios del cliente de Correos de Sogo, Roundcube u otras aplicaciones compatibles, el cual te explicara como funciona la herramienta e incluso, si usas este para tu proyecto, puedes usarlo como manual para tus usuarios.


Créditos

El articulo original, de donde se encuentra la mayoría de información, se encuentra en el blog sobre Desarrollo web. Llamado linuxbabe.com se los recomendamos ampliamente si desean aprender mas sobre otros sistemas que se pueden instalar en el Servidor con Sistema Operativo de tipo Linux. Aunque este en ingles.

Aunque gran parte de la información, ademas de ser traducida. También la modificamos con el objetivo de resolver dudas que nosotros tuvimos y por supuesto completaron la información.

Procuraremos actualizar la información de este articulo en base a las preguntas que nos hagan y vayamos resolviendo. Ademas de información que nos que logremos encontrar en diferentes medios digitales. Al igual que trataremos de crear mas artículos para otros sistemas operativos de Linux o versiones posteriores para Ubuntu. Cabe aclarar que aunque traten de instalar este sistema en versiones posteriores, este tutorial sigue sirviendo en su mayoría, ya que los pasos son casi iguales (Por no decir los mismos, ya que a veces no cambia nada).


Recuerda que si tienes dudas o problemas, puedes dejar tu comentario en este articulo. El cual nosotros o algún otro miembro de la comunidad, trataremos de responderla, para ayudarnos mutuamente. También puedes consultar tus dudas en nuestro foro o una atencion personalizada en [email protected]

Si te gusto nuestro contenido y fue de utilidad. Recuerda que puedes dejar tu apoyo en los comentarios, compartir este contenido con mas personas que les pueda servir, registrarte en nuestra web o donarnos mediante paypal (Para que mejoremos nuestro servicio o lo mantengamos, ademas de ganar beneficios en todos nuestros servicios).

0 0 votes
Article Rating

AdventFxZ

Fundador de la Organización USH, Gremio FxZ y bot Orix.
Subscribe
Notify of
guest
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Pedro Melgar

Hola, excelente manual, tengo un error al momento de crear los certificados con este comando: sudo certbot certonly –webroot –agree-tos –email (tu correo: [email protected]) -d (Nuestro dominio: mail.ejemplo.com) -w /var/www/html/ al ejecutar ese comando recibo este mensaje de error: webroot does not exist or is not a directory —> estoy en Ubuntu 18.04 – alguna ayuda por favor. Gracias.

Pedro Melgar

Otra pregunta: En el caso que se use virtualBox como sería la configuración de los adaptadores, e tratado de todas formas y no detecta la IP configurada en Cloudflare… tengo entendido de que se tiene que colocar la ip pública, pero desde VirtualBox cual sería esa IP. Gracias