Ejecutando su propio servidor de correo electrónico de código abierto

Lo que vas a crear

Sobre la época de las revelaciones de Edward Snowden sobre la PRISMA de la NSA, comencé a explorar sistemas de correo electrónico alternativos. FastMail, con sede en Australia, me llamó la atención debido a la recomendación de un amigo y las aparentemente mejores protecciones de privacidad que ofrecía su país de origen:

"Australia no tiene ningún equivalente a la Carta de Seguridad Nacional de EE. UU., Por lo que no podemos ser obligados a hacer algo sin que se nos permita revelarlo".

Sin embargo, algunos de los servidores de FastMail están alojados en los Estados Unidos y el correo electrónico puede verse comprometido de varias maneras. Si utiliza un servicio de terceros o recibe su propio correo electrónico, si la privacidad y la seguridad son sus principales preocupaciones, debe desarrollar su conjunto de habilidades en múltiples niveles.

No me hago ilusiones de que el auto-alojamiento de su correo electrónico evitará que el gobierno lo lea si así lo desea. Por ejemplo, Amazon recibió recientemente un contrato de $ 600 millones para ejecutar las operaciones en la nube de la CIA. Pero lo hará un poco más difícil y alentará a los innovadores de código abierto a mover las plataformas hacia un mundo más privado y más seguro..

Si su preocupación es minimizar los costos, tenga en cuenta que ejecutar su propio servidor de correo no será gratuito, puede costar fácilmente de $ 7 a $ 15 mensuales o más, según su configuración. Y recomiendo encarecidamente que ejecutar una instancia dedicada o mezclar servidores con otras aplicaciones en el mismo servidor pueda exponer su correo electrónico a una amplia variedad de amenazas.

Una de esas plataformas con las que comencé a experimentar es iRedMail, una solución de servidor de correo electrónico de código abierto que se ejecuta en sistemas Linux comunes. iRedMail agrupa a RoundCube, un cliente de correo web de código abierto. Juntos, ambos proporcionan una alternativa de Gmail bastante decente. Y iRedMail admite IMAP y POP para que pueda ejecutarlo con una variedad de aplicaciones para teléfonos inteligentes y tabletas y clientes de correo de escritorio.

En esta serie de tutoriales, lo guiaré a través de los conceptos básicos de instalación y configuración de iRedMail y RoundCube. Si desea asistencia adicional, iRedMail también ofrece una consola administrativa premium y una instalación y soporte de pago..

No se deje engañar pensando que esto será tan fácil como ejecutar WordPress. No es. Además de los problemas de seguridad y privacidad, debe convencer a otros servidores de correo para que confíen en su servidor de correo. Entonces, le gustaría enviar un correo electrónico (a través del código) describe parte de la complejidad de la gestión de este desafío, incluida la configuración de Reverse PTR y DomainKeys Identified Mail.

Descripción general de las características de iRedMail

iRedMail es una solución gratuita de servidor de correo electrónico de código abierto y con todas las funciones. Proporciona un procedimiento de instalación automatizado y sencillo y se ejecuta en siete versiones de Linux: Red Hat Enterprise Linux, CentOS, Scientific Linux, Debian, Ubuntu, FreeBSD y OpenBSD. Es un proyecto de código abierto con licencia GPLv2..

Con iRedMail, usted controla sus propios datos. Todos sus datos personales están en su servidor, no en un tercero. El correo se puede almacenar con PostgreSQL, MySQL o OpenLDAP.

Para el envío y la entrega de correo, proporciona SMTP a través de Postfix y utiliza Dovecot para proporcionar POP3 / POP3S e IMAP / IMAPS. Proporciona varias capas de protección contra correo no deseado y amenazas, como Amavisd, SpamAssassin, ClamAV y Fail2ban..

Aquí hay una vista que representa la arquitectura general de iRedMail:


Credito de imagen: http://workaround.org/ispmail/lenny/bigpicture

Proporciona correo web integrado a través de Roundcube, que tiene su propia comunidad de desarrolladores que proporciona temas y complementos.

Aquí hay una lista completa de las características de RoundCube..

Instalando iRedMail

Configurando su sistema operativo

Ahora lo guiaré a través de la instalación de iRedMail con MySQL en Ubuntu 14.x. Usaré esta guía para instalar y configurar Ubuntu en Digital Ocean, con una diferencia fundamental. En lugar de usar la pila LAMP en la pestaña Aplicaciones, queremos usar la instalación predeterminada de Ubuntu 14.04 en la Distribuciones pestaña, como se muestra a continuación durante el proceso de configuración:

Por supuesto, puede utilizar cualquier servidor virtual genérico que desee.

Si está utilizando la instancia de memoria de 512 MB, deseará configurar un archivo de intercambio (desplácese hasta Configurando su Droplet), De lo contrario, el software antivirus se bloqueará y evitará la entrega de correo.

Configurando su nombre de dominio

Una vez que haya recibido su dirección IP, deberá asignar el DNS de su nombre de dominio a la dirección IP. Y necesitarás un dominio secundario para los servicios de correo.. 

Por ejemplo, estoy usando red.lookahead.me como un subdominio para mi instalación, es mi nombre de host principal del servidor:

red.lookahead.me A 104.236.52.19

Pero durante la instalación, iRedMail también requerirá un dominio o subdominio del servidor de correo. Estoy usando mailserver.lookahead.me:

mailserver.lookahead.me A 104.236.52.19

Importante: elegir tus dominios predeterminados

Elegí los dominios de arriba para fines de demostración, y esas opciones se reflejan en las capturas de pantalla a lo largo del proceso de instalación a continuación..

Otra forma de configurar iRedMail es configurar su servidor con el nombre de host mail.yourexampledomain.com y recibir correo electrónico en su dominio raíz. Entonces, una vez más, al crear su instancia de servidor, configure el nombre de host como mail.yourexampledomain.com. Y, cuando iRedMail le solicite su servidor virtual, proporcione el dominio raíz.

En otras palabras: en lugar de red.lookahead.me, configure el nombre de host como mail.yourexampledomain.com. En lugar de mailserver.lookahead.me, especifique yourexampledomain.com.

Esto le permitirá iniciar sesión en el correo web de Roundcube en http://mail.yourexampledomain.com y enviar y recibir correos electrónicos de [email protected] de inmediato..

Por supuesto, también deberá agregar registros MX con su registrador de nombres de dominio para el dominio elegido para enrutar los mensajes a su servidor iRedMail. Aquí hay un ejemplo:

lookahead.me. 1800 MX red.lookahead.me. 10

Consulte también Configurar registros DNS para su servidor iRedMail.

Ejecutando el script de instalación de iRedMail

Ejecutamos la instalación de iRedMail desde \ root. Entonces primero descargamos el código y lo extraemos del archivo de BitBucket:

cd / root wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.0.tar.bz2 tar xjf iRedMail-0.9.0.tar.bz2

Luego ejecutaremos el script de instalación:

cd iRedMail-0.9.0 bash iRedMail.sh 

iRedMail comenzará a guiarte a través de su asistente de instalación. A menudo se pueden aceptar las respuestas predeterminadas..

Primero, puede establecer una ruta para el almacén de buzones: 

Entonces puedes elegir si usar Nginx o Apache:

A continuación puede elegir su tienda de correo. Usaremos MySQL para esta demostración:

Especifique una contraseña para la cuenta de administrador de MySQL Server:

Luego proporcione su nombre de dominio secundario para el servidor de correo, no el nombre de host de su servidor. Estoy usando mailserver.lookahead.me:

Especifique una contraseña para la cuenta de usuario administrador:

Eso completa la configuración inicial. Un archivo será escrito en /root/iRedmail-0.9.0/config que necesita ser asegurado pero puede ser necesario para referirse a:

Haga clic en continuar para comenzar el proceso de instalación automatizado real. Cuando haya terminado, se le mostrarán las URL de su servidor para utilizar Roundcube y el panel administrativo, iRedAdmin. 

Enhorabuena, estás listo para lanzar iRedMail. Reinicie su servidor y veamos lo que hemos creado..

Utilizando Roundcube

En su navegador, visite su dirección de correo web, por ejemplo. http://yourexampledomain.com/mail. Serás recibido con la pantalla de inicio de sesión de Roundcube..

Cuando inicie sesión, verá la consola de buzones de Roundcube:

Hacer clic Componer para enviar su primer mensaje:

Exploraremos Roundcube y sus opciones de personalización en un próximo tutorial..

Administrar iRedMail

Ahora, exploremos el panel de administración de iRedMail. Visite http://yourexampledomain.com/iredadmin para ver el panel de inicio de sesión de back-end:

Cuando inicies sesión, verás el panel de iRedAdmin:

Aquí, puede administrar dominios y cuentas configuradas para su servidor de correo:

Y usted puede administrar administradores:

Utilizando la Añadir menú, puede agregar usuarios:

Que sigue?

En el siguiente tutorial, lo guiaré a través de configuraciones adicionales de iRedMail y exploraré su consola de administración de back-end..

Por favor, publique cualquier comentario, corrección o ideas adicionales a continuación. Puede navegar por mis otros tutoriales de Tuts + en la página de mi instructor o seguirme en Twitter @reifman.

enlaces relacionados

  • Sitio web y documentación de iRedMail
  • Sitio web de roundcube
  • Cómo instalar su propio servidor de correo electrónico privado en la nube
  • Así que le gustaría enviar algún correo electrónico (a través del código)