Banner foro LiGNUx
Banner Diaspora LiGNUx

Crea tu propio servidor de correo electónico seguro, parte 1

Cuando servicios como Yahoo!, GMail de Google o AOL Mail nos han defraudado y vendido nuestros datos, nos queda ahora confiar en servicios nuevos como OpenMailBox, ProtonMail o el conocido Tutanota. Pero si ni eso nos da confianza, podemos entonces crear nuestro propio servidor de correo electrónico, tomar las precauciones de seguridad necesarias y hechar a andar el servicios para uso personal o rentarlo a conocidos.

Este pequeño tutorial es útil para crear tu servidor de correo pero entre detalles, comandos, herramientas y demás, es un mundo completo de investigación que puede ayudarte a conocer mejor tu sistema. Entonces cuando termines de investigar y de construir tu servidor, puedes burlarte de tu agencia de espionaje favorita, o no…

De igual manera, esta es una recopilación personal de herramientas que pienso puedan ayudar a mejorar la seguridad del servidor, tal vez faltan o sobran, estaré equivocada o no.

Vamos entonces a empezar a configurar nuestro servidor de correo, encriptado, con SSH y un buen detector de spam. Necesitamos: Debian, experiencia o conocimientos básicos de Apache o Nginx, acceso a root,  conexión a Internet.

También: Postfix, Dovecot, opendkim que implementa la autenticación DKIM, spamd para los malos, z-push para las notificaciones push. MySQL para almacenar información del usuario y dominios, nada invasivo para tu privacidad.

Si no sabes configurar un servidor básico lee esto: http://plusbryan.com/my-first-5-minutes-on-a-server-or-essential-security-for-linux-servers

Configurando DNS

Si tienes un dominio puedes empezar con esto. Crea un subdominio o usa el que tienes para el servidor. Ejemplo: denisse@cyberantigone.net

EncFS

Creamos una carpeta normal para el correo desencriptado y una carpeta cifrada.

Postfix

Mostrará información sobre tu nombre de correo, como en mi caso: cyberantigone.net. Instalamos lo necesario:

apt-get install postfix postfix-mysql dovecot-core dovecot-imapd dovecot-mysql mysql-server dovecot-lmtpd

Y en unos minutos ya tenemos servidor, ahora configuramos la contraseña:
doveadm pw -s SHA512-CRYPT
Este comando crea una cadena rara que es tu contraseña.

Creamos tablas y datos con MySQL

Y si queremos, agregamos otros dominios:

Vamonos, salimos del servicio con mysql > exit y ahora configuramos Posix:

cp /etc/postfix/main.cf /etc/postfix/main.cf.orig
nano /etc/postfix/main.cf

Comenta “TLS parameters”, y en su lugar escribe esto:

Debajo de los parametros de TLS pega esta plasta de texto:

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_unauth_destination

Hay una linea asi: mydestination = localhost asegurate que dice localhost. Ya ahora, hasta abajo de todo el texto pega este código:

Básicamente hace que posix y mySQL se conozcan y salgan en una cita.

Ahora configuramos los tres archivos de arriba:

1 – nano /etc/postfix/mysql-virtual-mailbox-domains.cf
con esta información:

2- nano /etc/postfix/mysql-virtual-mailbox-maps.cf:

3 – nano /etc/postfix/mysql-virtual-alias-maps.cf:

Reinicia el servicio con: service restart postfix

Dovecot

Primero vamos a respaldar los ficheros de configuración:

Editamos el primero: nano /etc/dovecot/dovecot.conf y escribimos al final protocols = imap para habilitar imap.

Siguiente: nano /etc/dovecot/conf.d/10-mail.conf con esta información:

Ahora el archivo de autenticación: nano /etc/dovecot/conf.d/10-auth.conf

Configuramos SQL: nano /etc/dovecot/conf.d/auth-sql.conf.ext

Otro más: nano /etc/dovecot/dovecot-sql.conf.ext configuramos. Protegemos nuestro password con SHA512, suficientemente bueno para que la NSA se enoje un poco.

Ahora : nano /etc/dovecot/conf.d/10-master.conf con esto forzamos a usar un socket seguro:

Reemplazamos todo el contenido de los archivos “service auth” y “service auth-worker” con:

Y ahora creamos los certificados SSL:

openssl req -new -x509 -days 1000 -nodes -out “/etc/ssl/certs/dovecot.pem” -keyout “/etc/ssl/private/dovecot.pem
Y los configuramos:

Reinciamos el servicio con: service dovecot restart

Hasta ahora hemos configurado lo más básico y basta para recibir y enviar correo electrónico (usando IMAP en el puerto 993). En la segunda parte vamos a implementar un filtro anti spam y varias cosas más.

Banner Diaspora LiGNUx
Banner foro LiGNUx

Acerca de Denisse

Denisse
I'm an expert on dank memes...

Visita también

Tutorial para instalar la versión de mantenimiento del kernel Linux 4.9.4

Ayer mismo se publico la tercera versión de mantenimiento del kernel 4.9, siendo esta la …

10 Comentarios

  1. Muy buena guia, lo que me surge la duda de como ir creando los usuarios.
    saludos muchas gracias por tu aporte

  2. en cualquier distro de linux puede ser?, o solo en debian, porque tengo backtrack, kali-linux, ubuntu server y ubuntu desktop.

  3. Denisse

    Oye que horror! Me falta una letra en la palabra electrónico. Alguien puede corregirlo, también está ese problema en la segunda parte, que pena. Saludos!

  4. Excelente, me ayudo a salir de muchas dudas, cuando cuelgas las que vienen…?

  5. execlente aporte, la segunda parte no la hubico

Deja un comentario

Tu dirección de correo electrónico no será publicada.