*********************************************************************************************
-
¿Cuál te gusta más: SPF o SenderID? (1 de 2)-
¿Cuál te gusta más: SPF o SenderID? (2 de 2)*********************************************************************************************
Muchas veces, por falta de tiempo, no me meto en todos los detalles del funcionamiento de
SenderID y
Sender Policy Framework, es decir, en las pequeñas diferencias que existen entre ellos, pero a raíz de una petición de explicación sobre un caso concreto, he creído que era conveniente pararse un poco sobre ello. El asunto comienza con un mail enviado a Hotmail en el que, aparentemente, el mail llega desde un dominio con una política
–all en el registro SPF.

Figura 1: Correo con dirección falsa en la bandeja de entrada de Hotmail.Para replicar este caso, como habéis visto en la figura 1, he seleccionado el dominio de
lacaixa.es que tienen esa política en su registro SPF de tipo
Hardfail y el servicio de
Enviar a un amgio de una web que re-escribe los campos necesarios para explicar como funcionan los registros.

Figura 2: Registro SPF de lacaixa.esSin embargo, enviamos un correo falso a Gmail y a Hotmail y obtenemos que entra en ambos, pero con algunas diferencias, que nos servirán para explicar los sutiles detalles de estas implementaciones. Si observamos, el correo, además de entrar perfectamente en la bandeja de entrada de Hotmail, entra también en la bandeja de Gmail. Como se puede ver, si vemos los detalles del mensaje se están mostrando los campos
From: y
Reply to: que, como se puede ver, ambos tienen la información es la misma, una dirección de correo de
lacaixa.es.

Figura 3: Correo visto en Gmail con detalles mostradosSin embargo, si miramos el correo original, vamos a entender porque Gmail lo hace tan rematadamente mal - ¡Alerta: opinión personal! -.

Figura 4: Original del correo mostrado en Gmail.comComo se puede ver, el cálculo del valor SPF dice que la política es
hardfail, y por lo tanto, siguiendo la política del registro SPF de
lacaixa.es debería eliminarlo. ¿Esto es así? Vamos a pensar un poco sobre ello.
Si echamos un vistazo al
RFC2822 donde se definen los campos de un mensaje, podremos ver que en el apartado 3.6. se definen varios posibles campos para el originario de un mensaje.

Figura 5: Campos de posibles originarios de un mensajePara ello, hay que entender una sutil diferencia entre quién se supone que escribe el mensaje y quién se supone que lo envía. Para entender el orden de prioridad de los campos vamos a analizar la diferencia entre
From: y
Sender:. Tal y como dice el estándar, se supone que mail from es el originario de la carta, el contenido, del mensaje en sí, mientras que sender, es el originario de enviar ese mensaje. Es decir, ¿quién se supone que creo el mensaje?
From:. ¿Quién se supone que lo envío?
Sender:. Así, este orden de precedencia, a la hora de averigüar quién envía un mensaje, hay que entenderlo para
Resent-sender:,
Resent-From:,
From: y
Sender:. Por supuesto, a esto hay que añadir las implicaciones de los campos
"X" com
X-Sender:,
X-Resent-Sender:, etc… ya que los campos
"X", implican extensiones al estándar que algunos servidores de correo electrónico implementan de manera distinta. Por spuesto, si no hay ningún valor más, el valor que vale es el de
From:.
Bien, dicho esto… ¿debería Gmail bloquear ese mensaje? Mi respuesta es que no, pero que lo hace aún peor que peor - ¡Alerta: Opinión personal!. Vamos por partes.
Si analizamos ese mensaje de correo, podemos ver que tiene tres campos muy significativos con valores, que son
Sender:,
X-Sender: y
Return-Path:. El campo
Sender: - y su versión extendida
X-Sender: - marcan la dirección del que envió este correo a nuestro servidor, mientras que
Return-Path: es un campo de traceo y monitorización que utilizan los servidores de correo para dejar claro que ese mensaje se originó en ellos. Así,
Return-Path: lo añade el servidor que genera el primer mensaje de correo, dejando claro dónde se originó.
Conociendo esto, si Gmail aplica la política
hardfail con el campo
From:, estará impidiendo que ningún
Sender:, envíe un correo en su nombre… y entonces se le acabaron las listas de correo a esta dirección de correo. Si jesus@lacaixa.es intentara suscribirse a alguna lista de correo en la que hubiera un reenviador de los correos, sus mensajes nunca llegarían a las direcciones destino de Gmail.
Dicho esto, el siguiente paso es buscar información sobre este caso, pues la cosa se torna muy turbia aquí. Si miramos la Wikipedia [
Sender Policy Framework], en la información sobre el filtro SPF dice claramente:
“the owner of the example.com domain can designate which machines are authorized to send e-mail with the sender e-mail address ending in "@example.com"”Así que hay que mirar quién es el sender y, tal y como dice la Wikipedia y en todas las explicaciones, esto debe ser mirado en los campos
From: y
Sender:. Lo suyo sería mirarlo en el campo
Return-Path:, pero muchas implementaciones decidieron hacerlo con
Sender: y
From:, porque son los primeros valores que hay que entregar del mensaje y se puede bloquear el correo al principio. Ahora bien,
si aparecen los dos… ¿cuál es el que debería utilizarse? Según el
RFC4408 del estándar SPF debería ser solo la dirección en
From:, pero si quieres que te funcione el filtro SPF
sin cepillarte las listas de correo, lo que deberías hacer es aplicar el valor
Sender:, como hacen muchos servidores de correo y
From: solo cuando no aparezca
Sender:.
Por el contrario, si aplicamos el valor de
Sender:, esto implicaría que hay que comprobar el registro SPF del dominio que aparezca en el
Sender:, por lo que si el DominioB está enviando un correo en nombre de un usuario del DominioA, entonces se aplicaría la política SPF del DominioB y si ese usuario de
Sender: lo hace desde un servidor autorizado por el SFP del DominioB, entonces podría enviar un correo del DominoA.
Como puedes observar Gmail:
PRIMERO: Gmail aplica
From: y no
Sender:.
SEGUNDO: No elimina el correo aún cuando lee la política del dominio que él ha decidio.
TERCERO: No muestra ninguna alerta al usuario.
Divertido, ¿verdad? Tranquilo, que aún aún hay mucho más, espera a ver la segunda parte para tomar partido.
Saludos Malignos!
*********************************************************************************************
-
¿Cuál te gusta más: SPF o SenderID? (1 de 2)-
¿Cuál te gusta más: SPF o SenderID? (2 de 2)*********************************************************************************************