Recientemente estuve leyendo acerca de la sintaxis de registro de Sender Policy Framework (SPF) en OpenSPF.com.
Sender Policy Framework (SPF) es un sistema simple de validación de correo electrónico diseñado para detectar la falsificación de correo electrónico al proporcionar un mecanismo para permitir que los intercambiadores de correo reciban que el correo entrante proveniente de un dominio provenga de un host autorizado por los administradores de ese dominio. - Wikipedia
Noté que la sintaxis de SPF nos permite usar el "mecanismo existente". A continuación se ofrece un ejemplo:
En el siguiente ejemplo, la IP del cliente es 1.2.3.4 y el dominio actual es example.com.
v=spf1 exists:example.com -all
.Si example.com no se resuelve, el resultado es un error. Si se resuelve, este mecanismo resulta en una coincidencia. - OpenSPF.com
Si estoy en lo cierto, solo a example.com
se le permite enviar correos electrónicos, todos los demás remitentes están marcados como SPAM debido a la marca de error -all
. Supongamos que usé el registro SPF anterior en el dominio example.org
.
Entonces, example.org
le permite a example.com
enviar correos electrónicos con el nombre de example.org
.
Ahora supongamos que el dominio example.com
expira y es libre para registrarse nuevamente y el registro SPF anterior en example.org
permanece sin cambios (lea: señala a example.com). En este caso, el registro SPF de example.org
fallará en todos los correos electrónicos ya que el único dominio permitido ya no existe.
Ahora si un atacante registra el dominio example.com
disponible. Entonces, ¿puede enviar SPAM en nombre de example.org, mientras que el registro SPF no lo impedirá?
En otras palabras, ¿debería estar marcado el uso del SPF como un mecanismo de riesgo potencial? O, ¿el uso del mecanismo SPF "existe" introduce un riesgo de seguridad?
Lo mismo se aplica a include:
, ptr:
, a:
y mx:
cuando apuntan a un dominio no registrado.