En el universo de las TI existe el viejo concepto de la arquitectura AAA (del inglés, Authentication, Authorisation and Accounting). Cada una de estas tres aes tiene sus propios objetivos, que, de forma muy resumida, serían los siguientes: – Autenticación: Elemento utilizado como prueba de identidad (QUIÉN) – Autorización: Elemento utilizado para definir qué se […]
En el universo de las TI existe el viejo concepto de la arquitectura AAA (del inglés, Authentication, Authorisation and Accounting). Cada una de estas tres aes tiene sus propios objetivos, que, de forma muy resumida, serían los siguientes:
– Autenticación: Elemento utilizado como prueba de identidad (QUIÉN)
– Autorización: Elemento utilizado para definir qué se puede hacer (DÓNDE)
– Contabilización: Elemento informativo (QUÉ/CUÁNDO)
Cuando pienso en la autenticación de correo electrónico (término genérico para referirse a los protocolos DMARC, SPF y DKIM), siempre recuerdo mis orígenes como hombre de «datos y comunicaciones» y estos tres protocolos me parecen una versión aliñada (con mucha vinagreta) del clásico AAA.
Imaginemos que la empresa AAAP-Email es una marca que disfruta de la alta estima de su equipo de TI y, por tanto, no quieren que otros usuarios la utilicen para fines ilícitos. Para mitigar el riesgo de que su dominio aaap.email se utilice para fines de phising, han implementado la siguiente configuración AAAP que voy a detallar ahora.
Contents
¿Qué son DKIM, SPF y DMARC y cual es su objectivo?
Autenticación (DKIM)
Este sería el registro TXT incluido en el DNS del dominio:
“v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDV5OtEvd65r2LA2+qJBX3BmgbZw9ToHstygvbVIwv2N76NrJMq1d+C8KpXhC5EzO/3tKkKXNg8K3c1a8WQX4n1kkP7q5dcMyibBC209szXsLBoipr7G6nZFruE5cKTSQQ++4xuNzALWvtWeFnmOhfUdRWh693mFOvlX7j9ZId44wIDAQAB”
Las matemáticas nos ayudan a comprobar que el mensaje fue procesado por ALGUIEN (dice que lo fue) que ha utilizado la parte «secreta» del dominio y que está intacto:
“—–BEGIN RSA PRIVATE KEY—–
MIICXAIBAAKBgQDV5OtEvd65r2LA2+qJBX3BmgbZw9ToHstygvbVIwv2N76NrJMq
1d+C8KpXhC5EzO/3tKkKXNg8K3c1a8WQX4n1kkP7q5dcMyibBC209szXsLBoipr7
G6nZFruE5cKTSQQ++4xuNzALWvtWeFnmOhfUdRWh693mFOvlX7j9ZId44wIDAQAB
AoGAFZzB4PpGbQC5u7783cd+Q3eqxYoyExo5eGKfSj32UXSkfnA3lpZxtStYKuui
OTVz8dWBVxi2iK3jp7QyDDp7F/O8p6doEAWVYZyJe5SAMLQKrJ7x8bjzntkga35C
kPNlzSUvTACTxTf2JPedy97uvpVvqI7OrZ6Lls+XD8MwCiECQQD7VjI9qqb71L3h
7b4XlhYMhaEivOST0wu9unsEJiytsZjLzUIA/XTO5MyDKyvoFU+99kDSlCo0uZeJ
85ckg3vZAkEA2dzgsyKe4ohk1IDAmGZCrRUufEH1BGx/Ydi7YJCaBk1LEVf8DCU4
TpFItegoAacR5BzALpR74u7oWSOs1PARGwJBAK58huCc6tSGO1TwMjo5rhD/bICr
VpzxtYMARYr53aawVv2WAC6jx0YjPYAKpq62rOeaYCJRToPQHM5e2B03UvECQBQB
ZljMuw5OPAQPdqAH8+N06HncjKVFWUUg48PwQ1SE0HndPHXZDRyZ1rVthg7wyoHJ
6hPc6qtiCM/2qK49BTUCQDUSBxiOyanPw0d4GhGDh4QUcBDDsumyKwxnBNP1aF5t
VLT8LzzIWYiC7Zmfq3JfI0FidDr9vygPFE5VfRU7Q8E=
—–END RSA PRIVATE KEY—–“
(Aunque me encantan las matemáticas, ¡qué alivio me da saber que esto lo hace una máquina! :))
Su objectivo es firmar el mensaje cuya autenticidad e integridad validará el punto de conexión. Utiliza una relación matemática entre componentes numéricos muy largos. Uno de ellos se anuncia públicamente en un registro DNS, mientras que el otro está muy protegido («secreto») y solo lo conoce el emisor.
Autorización (SPF)
Es una instrucción pública de la entidad (de nuevo a través de un registro DNS) que permite que las IP envíen mensajes.
Tecnicamente estamos ante un registro DNS que permite que las IP envíen e-mails (DÓNDE) desde aaap.email, pero en este caso específico solo a los servidores de correo del dominio (ms) como se detalla:
“v=spf1 mx -all»
Ten en cuenta que el SPF es el más antiguo de todos y, por tanto, su instrucción de directiva también es básica: «-all» es sinónimo de error y «~all», de fallo leve (ya que puede tratarse de una prueba).
Contabilización (DMARC)
DMARC son las siglas en inglés para Domain-based Message Authentication, Reporting & Conformance y establece QUÉ hay que hacer con los mensajes que no superan la autenticación y/o autorización (DKIM/SPF), así como a quién y cuándo hay que enviar los informes sobre QUÉ ha pasado en el dominio.
“v=DMARC1; p=reject; rua=mailto:dmarc@aaap.email; ruf=mailto:forensic@aaap.email; rf=afrf; pct=100;”
El ingrediente extra del DMARC es que establece una directiva para los mensajes que no cumplan el SPF y/o el DKIM.
Conclusión
Ahora, si algún listillo intenta utilizar el dominio y envía mensajes clonados (por decirlo bonito) con intención de hacer phising, los servidores de correo electrónico del receptor van a solicitar los DNS del dominio para todos los elementos en los que necesitan verificar si son genuinos y están intactos, y si en realidad proceden de fuentes autorizadas y si hay un error, qué medidas se deben llevar a cabo siguiendo la instrucción de directiva del dominio, lo que significa en este caso rechazo (indicado por p=reject; mi directiva es rechazo si error). De este modo, el riesgo se reduce.
Esos mensajes nunca llegarán a su destino. Esta es una de las razones por qué son tan importantes la configuración manual de DKIM, SPF y DMARC. La marca permanecerá intacta y, por tanto, mantendrá su reputación.