BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Crear servidor de correo con E2EE tipo ProtonMail

kotBegemot
1

Ja, ja, ja… vas a aprender mucho.

El principal problema que te vas a encontrar es que nadie te va a aceptar los correos a la primera, pero es algo que con tiempo y conocimientos podrás resolver.

Yo comencé usando sendmail por allá por el 92, luego pasé a qmail y en las últimas instalaciones he usado postfix con resultados muy positivos.

El quiz de la cuestión está en tener bien configurado el DNS. Montando el servidor en gcloud puedes incluso hacer la resolución inversa en tu dominio, lo que te ayudará mucho con que los grandes acepten tu correo. Imprescindible publicar un registro SPF correcto y presentar tus claves publicas en un registro DKIM.

Se me olvidaba, para el cliente courier IMAP.

Un proyecto interesante sería montarlo todo en un cluster k8s. Podrías publicar un buen paper sobre ello al final y hacerte famosillo.

¡Muchos ánimos!

🗨️ 5
Pretur

Cualquier servidor dedicado te deja configurar la inversa, no hace fata que sea de Gmail.

🗨️ 4
Fallosistema

Y supongo cualquier VPS que tenga una IP dedicada, yo tenía inversa en un kimsufi sin mayor problema. El problema aquí, creo que es que el rango de IP de los vps o dedicados más populares están marcados como spam cuando accedes a webs o envías correos, por eso comenta usar Google Cloud, pero aunque regalan 300 euros al darte de alta, los precios me parecen caritos para lo que ofrecen, 1 nucleo con 2 gigas de ram se va a 28 euros al mes, por eso ya tienes dedicados de calidad en otros hostings.

🗨️ 3
Pretur

No hay problema con eso ni con los vps de 1€ al mes de 1&1

pepejil

por eso comenta usar Google Cloud

Google Cloud no permite envío de correo en sus servicios de Compute Engine. Por defecto el uso del puerto 25 en saliente está capado.

🗨️ 1
vukits

No entiendo lo del cifrado.

A día de hoy, los paquetes tcp/IP que circulan por internet van en claro.

🗨️ 3
Fallosistema

No confundas la cabecera con el "payload". Si en la capa de aplicación lo encriptas …

🗨️ 2
vukits

¿Quién va a cifrar en capa de aplicación?

¿Con qué claves?

🗨️ 1
Fallosistema

Cualquier programa (Kleopatra por ejemplo), claves PGP.

Cifra un archivo, envíalo por internet, captura los paquetes y dime si consigues ver algo en claro.

BocaDePez
BocaDePez
1

Hola.

Montar un servidor de correo "seguro" bajo Linux no tiene ningún misterio, tienes cientos de guías para hacerlo con, por ejemplo, Postfix + Dovecot + Spamassassin + Postgrey + Amavisd + ClamAV (si activas el uso del antivirus mínimo 3 GB de RAM para el servidor, los servicios del antivirus consumen mucha RAM) + SSL (Let's Encrypt y demás) + SPF + DKIM + DMARC+SQL (MariaDB, MySQL, PostgreSQL, SQLIte) + Fail2Ban + IPTables + lo que se te ocurra que necesites (como un cliente webmail como pueden ser Roundcube o SquirrelMail, aunque ya hay que añadir un servidor web seguro).

Incluso tienes "paquetes" todo en uno como iRedMail (iredmail.org), entre otros posibles, que automatizan el proceso (aunque casi seguro que tocará afinar algo a manopla desde consola).

Tendrás un servidor de correo cifrado de extremo a extremo, usando SMTPS+IMAPS/POP3S, donde si no hay un cifrado en las comunicaciones, tanto servidor-cliente como servidor-servidor, puedes forzar que se rechacen los correos, tanto entrantes como salientes.

En todos los casos se necesita que el servidor de correo tenga una IP pública estática y, aunque no necesario pero sí muy recomendable, una resolución inversa DNS válida (registro PTR).

Otro tema es que además los correos se envíen y reciban cifrados, en cuyo caso ya hay que jugar con GPG y llaves públicas y privadas… y para éso te dejo el siguiente enlace: github.com/d3cod3/EndtoEndEncryptedMailServer (entre otros posibles tutoriales que hay por Internet).

Un saludo.

🗨️ 3
pepejil

Confundes conceptos.

Que los servicios de red que citas (sea Postfix como MTA o Dovecot como IMAP/POP3) tengan protocolos de cifrado, sólo hace que sean cifrados en tránsito que es muy diferente a que sea cifrado de extremo-a-extremo. En el momento que ese correo llegue a su destinatario, podrá leerlo sin ningún tipo de complicación.

Los sistemas de extremo-a-extremo son más complejos de todo lo que citas (que básicamente has citado lo que sale todo tutorial al buscar en Google), pero un sistema extremo-a-extremo implica que hasta en las propias máquinas de origen y destino siga estando cifrado. Si un Sysadmin puede leer los correos, por mucho "secure" que tenga los protocolos, en el momento que se rompe dicho cifrado en sus extremos (por eso la palabra extremo-a-extremo), tiene de todo menos de ser un servidor seguro.

El OP ha citado "ProtonMail" que es básicamente un servicio SMTP/IMAP3 en la que se guarda los correos con un par de claves única para cada usuario. ProtonMail no se puede usar con los clientes tradicionales de SMTP/IMAP3 precisamente por su diseño, eso hace que tengas que pasar por sus apps y su página web para visualizar los correos para almacenar el par de clave del usuario y descifrar su contenido.

En todos los casos se necesita que el servidor de correo tenga una IP pública estática y, aunque no necesario pero sí muy recomendable, una resolución inversa DNS válida (registro PTR).

Puede usar perfectamente una IP pública dinámica. El problema es si está en listas negras. Y sobre el PTR, hace bastante tiempo que es indispensable. Una IP no identificada ya es sospechoso per se.

🗨️ 2
Fallosistema

Parece que el hilo está dando de sí. Efectivamente, básicamente es eso. En una cosa te equivocas, con protonmail puedes usar IMAP y SMTP con bridge: protonmail.com/bridge

Tutanota es otro buen ejemplo, solo que va unos pasos más lejos en cuenta a la privacidad.

🗨️ 1
pepejil

En una cosa te equivocas, con protonmail puedes usar IMAP y SMTP con bridge: protonmail.com/bridge

Cierto, pero necesitas de una aplicación suya para descifrar los correos precisamente por su base, en este caso bridge.

Fallosistema

Gracias por los consejos, veré todo eso que comentáis. Algunas aplicaciones ya las uso otras ni flowers ;)

🗨️ 1
kotBegemot

Impresionante.