¿Cómo funciona el correo electrónico?

En primer lugar, utiliza un agente de usuario de correo, o MUA, para leer y enviar correo electrónico desde su dispositivo (como gmail o la aplicación de correo en dispositivos Apple). Estos programas solo están activos cuando los usa.

Generalmente, se comunican con un agente de transferencia de correo, o MTA (también conocido como servidor de correo, host MX e intercambiador de correo), que sirve para recibir y almacenar sus correos electrónicos.

Los correos electrónicos se almacenan de forma remota hasta que abre su MUA para revisar su correo electrónico. Los correos electrónicos son entregados por agentes de entrega de correo (MDA), que generalmente se empaquetan con el MTA.

El correo solía enviarse a un servidor de correo mediante SMTP o Protocolo simple de transferencia de correo. SMTP es un protocolo de comunicación para correo electrónico.

Incluso ahora, aunque muchos sistemas propietarios como Microsoft Exchange y programas de correo web como Gmail utilizan sus propios protocolos internamente, utilizan SMTP para transferir mensajes fuera de sus sistemas (por ejemplo, si un usuario de Gmail desea enviar un correo electrónico a un cliente de Outlook).

Luego, el correo se descargaría del servidor mediante el protocolo de oficina postal (POP3). POP3 es un protocolo de capa de aplicación que proporciona acceso a través de una red de protocolo de Internet (IP) para que una aplicación de usuario se comunique con un buzón en un servidor de correo. Puede conectarse, recuperar mensajes, almacenarlos en la computadora del cliente y eliminarlos o retenerlos en el servidor.

Fue diseñado para poder administrar conexiones temporales de Internet, como el acceso telefónico (por lo que solo se conectaría y recuperaría el correo electrónico cuando esté conectado, y le permitirá ver los mensajes cuando no esté conectado). Esto fue más popular cuando el acceso telefónico estaba más extendido.

Ahora, IMAP, Protocolo de acceso a mensajes de Internet, ha reemplazado principalmente a POP3. IMAP puede permitir que varios clientes administren el mismo buzón (para que pueda leer su correo electrónico desde su computadora de escritorio, computadora portátil y teléfono, etc. y todos sus mensajes estarán allí, organizados de la misma manera).

Finalmente, el correo web reemplazó a ambos. Webmail le permite iniciar sesión en un sitio web y recibir mensajes desde cualquier lugar o dispositivo (¡sí!), Sin embargo, debe estar conectado a Internet mientras lo usa. Si el sitio web (como gmail) es su MUA, no necesita conocer la configuración del servidor SMTP o IMAP.

¿Cómo se protege el correo electrónico?

Desafortunadamente, la seguridad no estaba realmente integrada en los protocolos de correo desde el principio (como la mayoría de los protocolos de Internet principiantes). Los servidores solo esperaban tomar cualquier mensaje de cualquier persona y pasarlo a cualquier otro servidor, lo que podría ayudar a enrutar el mensaje a su destino final (el destinatario en el campo para:).

Como era de esperar, esto se convirtió en un problema cuando Internet se expandió de unos pocos grupos gubernamentales y de investigación a algo que la mayoría del mundo usa para hacer esencialmente todo. Muy pronto, los correos electrónicos de spam y phishing se convirtieron (y siguen siendo) un gran problema para todos.

En respuesta, hemos tratado colectivamente de implementar varias medidas que impiden que las personas lean los mensajes de otras personas (cifrado) y validan que los mensajes en realidad provienen del presunto remitente (autenticación).  

La mayoría de los lugares utilizan TLS (seguridad de la capa de transporte, el reemplazo de SSL, capa de sockets seguros), un protocolo criptográfico que proporciona cifrado en tránsito. Proporciona protección cuando el mensaje se transmite, pero no cuando los datos están en reposo (por ejemplo, cuando se almacenan en su computadora).

Esto asegura que un mensaje no sea alterado o fisgoneado mientras viaja de MTA a MTA. Sin embargo, esto no verifica que el mensaje no se haya modificado durante el viaje.

Por ejemplo, si el correo electrónico pasa por varios servidores de correo antes de llegar a su destino final, el uso de TLS garantizará que esté encriptado entre los servidores, pero cada servidor podría alterar el contenido del mensaje. Para abordar eso, hemos creado SPF, DKIM y DMARC.

SPF (marco de políticas del remitente)

SPF permite al propietario de un dominio (como google.com) establecer un registro TXT en su DNS que indica qué servidores pueden enviar correo desde ese dominio (para obtener instrucciones sobre cómo hacer esto para una variedad de proveedores de alojamiento, consulte este sitio).

¿Como funciona esto?

Este registro enumera los dispositivos (generalmente por IP) que están permitidos y pueden terminar en una de las siguientes opciones:

-all = Si la verificación falla (la fuente del correo electrónico no es uno de los dispositivos enumerados), el resultado es un HardFail. La mayoría de los sistemas de correo marcarán estos mensajes como spam.

? all = = Si la verificación falla (la fuente del correo electrónico no es uno de los dispositivos enumerados) el resultado es neutral. Esto se usa normalmente para pruebas, no dominios de producción.

~ all = Si la verificación falla (la fuente del correo electrónico no es uno de los dispositivos enumerados), el resultado es un SoftFail. Esto significa que este mensaje es sospechoso, pero no es necesariamente un mal conocido. Algunos sistemas de correo marcarán estos mensajes como spam, pero la mayoría no.

Los encabezados SPF pueden ser útiles para los propios servidores, ya que procesan mensajes. Por ejemplo, si un servidor está en el borde de una red, sabe que los mensajes que recibe deben provenir de servidores en el registro SPF del remitente. Esto ayuda a los servidores a deshacerse del spam más rápido. Si bien esto suena muy bien, desafortunadamente, existen algunos problemas importantes con el SPF.

  1. SPF no le dice al servidor de correo qué hacer con el mensaje, lo que significa que un mensaje puede fallar en una verificación de SPF y aún así ser entregado.
  2. Un registro SPF no está mirando la dirección 'de' que ve el usuario, está mirando la 'ruta de retorno'. Básicamente, es el equivalente a la dirección del remitente que escribe en una carta. Le dice a los servidores de correo que manejan la carta dónde devolver el mensaje (y se almacena en los encabezados de correo electrónico, esencialmente los servidores de información técnica que utilizan para procesar el correo electrónico).

    Eso significa que puedo poner lo que quiera en la dirección from: y no afectará la verificación de SPF. De hecho, ambas direcciones de correo electrónico pueden ser falsificadas relativamente por un pirata informático. Debido a que no hay cifrado involucrado, no se puede confiar plenamente en los encabezados SPF.

  3. Los registros de SPF deben mantenerse constantemente actualizados, lo que puede ser difícil en organizaciones grandes y en constante cambio.
  4. El reenvío rompe el SPF. Esto se debe a que si [email protected] reenvía un correo electrónico de, digamos google.com, el remitente del sobre permanece sin cambios (la dirección de remitente sigue diciendo google.com). El servidor de correo receptor cree que dice ser de google.com, pero proviene de bobsburgers.com, por lo que no pasa la verificación SPF (aunque el correo en realidad proviene de google.com).

Para obtener más información sobre SPF, consulte estos artículos. Puede verificar si un dominio específico tiene registros SPF y DMARC configurados aquí.

DKIM (correo identificado con DomainKeys)

DKIM es similar a SPF. También utiliza registros TXT en el DNS del dominio remitente y proporciona cierta autenticación del mensaje en sí. Intenta proporcionar verificación de que los mensajes no se modificaron en tránsito.

¿Como funciona esto?

El dominio de envío genera un par de claves pública / privada y coloca la clave pública en el registro TXT de DNS del dominio (si no sabe qué es un par de claves pública / privada, consulte este artículo sobre criptografía).

Luego, los servidores de correo del dominio (en el límite exterior, los servidores que envían correo fuera del dominio (por ejemplo, de gmail.com a outlook.com)) usan la clave privada para generar una firma de todo el cuerpo del mensaje, incluido encabezados.

La generación de una firma generalmente requiere que el texto sea cifrado y cifrado (para obtener más detalles sobre este proceso, consulte este artículo).

Los servidores de correo de recepción usan la clave pública en el registro TXT de DNS para descifrar la firma y luego codificar el mensaje y los encabezados relevantes (cualquier encabezado que se creó mientras el correo estaba dentro de la infraestructura del remitente, por ejemplo, si varios servidores de gmail procesaron el correo electrónico antes se envió externamente a outlook.com).

Luego, el servidor verificará que los dos hash coincidan. Si lo hacen, es probable que el mensaje no esté alterado (a menos que alguien haya comprometido la clave privada del remitente) y legítimamente del presunto remitente. Si los hashes no coinciden, el mensaje no es del remitente o fue alterado por otro servidor en tránsito, o ambos.

DKIM hace un muy buen trabajo en una tarea muy específica: responder a la pregunta "¿Este correo electrónico fue alterado en tránsito o no por parte del presunto remitente?" Sin embargo, eso es todo lo que hace. No le dice cómo manejar los correos electrónicos que fallan en esta prueba, qué servidor puede haber alterado el mensaje o qué alteraciones se realizaron.  

Algunos ISP o proveedores de servicios de Internet también utilizan DKIM para determinar la reputación de su dominio (¿está enviando mucho spam? ¿Tiene poca participación? ¿Con qué frecuencia rebotan sus correos electrónicos?).

Para leer más sobre DKIM, consulte este artículo. Puede validar un registro DKIM aquí.

DMARC (autenticación, informes y conformidad de mensajes basados ​​en dominio)

DMARC es esencialmente instrucciones para servidores de correo sobre cómo manejar registros SPF y DKIM. No realiza ninguna prueba propia, pero le dice a los servidores de correo cómo manejar las comprobaciones que realizan SPF y DKIM.

Los ISP participantes verán los registros DMARC publicados y los utilizarán para determinar cómo tratar los fallos de DKIM o SPF. Entonces, por ejemplo, una marca comúnmente falsificada podría publicar un registro DMARC que dice que si DKIM o SPF fallan, elimine el mensaje.

A menudo, los ISP también le enviarán informes sobre la actividad de su dominio con la fuente del correo electrónico y si pasó / falló DKIM / SPF. Esto significa que podrá ver cuándo las personas están falsificando (pretendiendo enviar desde) su dominio o alterando sus mensajes.

Para implementar DMARC, debe crear un registro DMARC, según sus necesidades (desde monitorear su tráfico de correo electrónico para averiguar cuáles son todas sus fuentes de correo electrónico hasta solicitar que se tomen medidas, como rechazar cualquier correo electrónico que falle en DKIM o SPF). Puede obtener más información sobre cómo hacerlo aquí y aquí.

Para obtener más información sobre DMARC, consulte este artículo. Puede verificar si un dominio específico tiene registros SPF y DMARC configurados aquí.

Envolver

Ninguna de estas medidas de seguridad es perfecta, pero juntas hacen un trabajo decente ayudándonos a mejorar la seguridad de los sistemas de correo electrónico en todo el mundo.

Cuantas más organizaciones adopten estas medidas (ya sea utilizando implementaciones de código abierto o pagando por un producto), mejor será para todos. La seguridad agregada después de que se desarrolla un protocolo o producto suele ser más costosa, menos efectiva y más difícil de implementar que la seguridad integrada en el producto.

Sin embargo, la mayoría de los protocolos en los que se basa Internet actual se diseñaron para la Internet primitiva, para un pequeño grupo de entusiastas, científicos y gente del gobierno, no una red mundial en la que operamos edificios, dispositivos inteligentes, transporte público, plantas nucleares. (!), y así.

Por lo tanto, a medida que Internet ha continuado expandiéndose, debemos continuar adaptándonos y desarrollando nuevas formas de proteger los sistemas en los que confiamos.