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.

Acerca de Denisse

Denisse
Edward Snowden es mi novio <3

Visita también

Securizando peticiones DNS con TOR

En otro articulo ya vimos como centralizar todas las peticiones DNS, pero al final se …

Deja una respuesta

14 Comentarios En "Crea tu propio servidor de correo electónico seguro, parte 1"

Notificarme las
avatar
arivas
Miembro

Hola Denisse, he logrado seguir los pasos de la primera parte pero adivina… no tengo idea de como gestionar los usuarios, estoy pensando en agregarlos manualmente a la base de datos pero no sé si es el método correcto, además no quiero dañar la instalación. ¿Me podríais ayudar? ;s

arivas
Miembro

Hola Denisse, he logrado seguir los pasos de la primera parte pero adivina, no tengo idea de como gestionar los usuarios, estoy pensando en agregarlos manualmente a la base de datos pero no sé si es el método correcto, además no quiero dañar la instalación. Me podríais ayudar? ;s

arivas
Miembro

Hola Denisse, he logrado seguir los pasos de la primera parte pero adivina, no tengo idea de como gestionar los usuarios, estoy pensando en agregarlos manualmente a la base de datos pero no sé si es el método correcto, además no quiero dañar la instalación. ¿Me podríais ayudar? ;s

Agustin
Invitado

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

EbertC
Invitado

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

wpDiscuz