Ejemplo de transmisión de correo electrónico

Ejemplo de transmisión de correo electrónico

Los estándares RFC literalmente nos obligan a aceptar conexiones no cifradas en el puerto 25. Para entender por qué, debemos entender cómo funciona el envío de correos electrónicos. Pero el envío de correos electrónicos es un tema bastante complejo y creé este ejemplo junto con una tabla para intentar entenderlo todo.

¿Alguien puede leer y decirme si me equivoco en alguna parte de la explicación? Porque no estoy muy seguro de si mi comprensión del tema es correcta.


EJEMPLO

Cuando el usuario (remitente) envía un correo electrónico a través de"agente de usuario de correo" (MUA), este correo electrónico se transfiere inmediatamente a la"agente de envío de correo"(MSA) que está o no en una máquina separada. MSA preprocesa el correo electrónico y lo entrega a"agente de transferencia de correo"(MTA) en la misma máquina. Luego, el MTA (remitente) utiliza DNS y determina a qué MTA (receptor) se debe enviar el correo electrónico. Esta parte del transporte sólo se realiza a través del puerto 25. Cuando el MTA (receptor) recibe el correo electrónico, lo entrega al MSA en la misma máquina y luego el usuario (receptor) puede leer el correo electrónico usando MUA.

La comunicación entre MUA y MSA y MSA y MTA puede utilizar puertos seguros, pero la conexión entre MTA y MTA no. La siguiente tabla muestra qué protocolos se usan o se pueden usar y qué puertos se pueden usar para cada paso del ejemplo anterior. También usamos ✘ y ✔ donde hay una opción para indicar qué debería usar una configuración moderna.

# remitente receptor protocolos que podemos utilizar puertos de los respectivos protocolos
1 MUA MSA (✘) SMTP
(✔) SMTP
(✘) 25
(✔)587
2 MSA MTA (✘) SMTP
(✔) SMTP
(✘) 25
(✔)587
3 MTA MTA (✔)SMTP (✔)25
4 MTA MSA (✔)SMTP (✔)25
5 MSA MUA (✘) POP3
(✘) POP3S
(✘) IMAP
(✔) IMAPS
(✘) 110
(✘) 995
(✘) 143
(✔)993

Respuesta1

Esto se basa en la idea errónea de que los puertos tienen algo que ver con el cifrado. Sin embargo, considero que ésta es una buena pregunta, ya que brinda la oportunidad de corregir este malentendido.

Los puertos no indican cifrado, sino que se utilizan para diferentes propósitos:

  • El puerto 25se utiliza para SMTP (RFC 5321)retransmisión de mensajesentre MTA:s.
  • El puerto 587se utiliza paraenvío de mensajes(RFC 6409) de MUA a MSA.
  • Ambos se pueden cifrar con STARTTLS(RFC 3207).
  • Además, existe SMTPS que envuelve el SMTP (de MUA a MSA) dentro de TLS en el puerto 465. Este fue registrado en 1997 pero revocado en 1998, cuando STARTTLSfue estandarizado. Sin embargo, esto se ha revertido 20 años después, en 2018, comoRFC 8314ahora considera obsoleto el texto sin cifrar y recupera TLS implícito para envío POP, IMAP y SMTP.

La mayor parte del correo electrónico actual está cifrado en tránsito (entre MTA), diceInforme de transparencia de Google.

La comunicación entre MTA aún debe aprobar conexiones no cifradas para compatibilidad con versiones anteriores y, por lo tanto, es fácil para un intermediario degradar la conexión eliminando la 250-STARTTLSrespuesta que indica el soporte para la extensión. Sin embargo, si el remitente admiteDANE oportunista(RFC 7672) y el receptor tiene un TLSAregistro que indica que no necesita intentos de entrega sin cifrar (como excepción a la compatibilidad con versiones anteriores), este tipo de ataques fallarán.

La siguiente ilustración (CC BY-SA 3.0deAle2006-de-esen WikipediaAgente de envío de mensajes) muestra las diferentes funciones del servidor y las flechas azules se pueden implementar mediante diferentes variaciones de SMTP. Observe también que el mismo servidor puede tener varias funciones a la hora de entregar el mensaje.

Modelo de transferencia SMTP

Para realzar tu mesa:

# remitente receptor protocolos y puertos en uso
1 MUA MSA (✘) envío 587con STARTTLS
(✔) SMTPS 465con TLS implícito
2 MSA MTA Entrega interna (mismo servidor con dos roles)
3... MTA MTA (posiblementeMX) (✘✘) SMTP sin cifrar 25
(✘) SMTP 25con STARTTLS
(✔) SMTP 25, STARTTLSaplicado con DANE
N-1 MX MDA➔MS Entrega interna (mismo servidor con múltiples roles)
norte EM MUA (✘) IMAP 143con STARTTLS
(✔) IMAPS 993con TLS implícito

Los dos últimos pasos no pueden verse exactamente como emisor y receptor, ya que elMensaje Agente de UsuarioMUA se conecta alAlmacén de mensajesMS y extrae el mensaje en lugar de enviarlo. El MX MTA final entrega el correo al MS con una funcionalidad llamadaAgente de entrega de mensajes(MDA). ElAgente de envío de mensajes(MSA) sólo se refiere al envío de correo. Puede encontrar información más detallada sobre estas definiciones enArquitectura de correo de Internet RFC 5598.

información relacionada