Análisis

SPF/DKIM/DMARC

Triple sistema de autenticación de correo electrónico que verifica la legitimidad del remitente: SPF valida la IP autorizada, DKIM aplica firma criptográfica al mensaje, y DMARC establece la política de rechazo para emails no verificados.

6 min de lectura

SPF/DKIM/DMARC

82% de las empresas españolas. Ese es el porcentaje de organizaciones que NO tienen configurado DMARC con política de rechazo (p=reject), dejando sus dominios vulnerables a suplantación de identidad vía email. En 2025, una campaña phishing suplantó a la AEAT enviando 420,000 emails fraudulentos desde servidores no autorizados. Si la AEAT hubiera tenido DMARC p=reject configurado, los proveedores email (Gmail, Outlook) habrían rechazado automáticamente esos mensajes antes de llegar a las víctimas. Coste del fraude: €8.3M robados.

Definición Técnica

SPF/DKIM/DMARC son tres protocolos autenticación email complementarios que trabajan juntos para verificar legitimidad del remitente y prevenir suplantación de identidad (spoofing) mediante validación técnica de servidores autorizados, firmas criptográficas y políticas de rechazo.

SPF (Sender Policy Framework):

  • Qué hace: Lista servidores IP autorizados para enviar email desde un dominio
  • Cómo funciona: Registro DNS TXT con IPs permitidas
  • Valida: “¿Este servidor está autorizado enviar email @example.com?”
  • Resultado: PASS (autorizado), FAIL (no autorizado), SOFTFAIL (sospechoso)

DKIM (DomainKeys Identified Mail):

  • Qué hace: Firma criptográfica digital en cada email enviado
  • Cómo funciona: Clave privada (servidor) firma mensaje, clave pública (DNS) verifica
  • Valida: “¿Este email fue modificado en tránsito?”
  • Resultado: PASS (firma válida), FAIL (firma inválida/ausente)

DMARC (Domain-based Message Authentication, Reporting & Conformance):

  • Qué hace: Política de qué hacer si SPF/DKIM fallan
  • Cómo funciona: Registro DNS TXT con reglas rechazo/cuarentena
  • Valida: “¿Qué hacer con emails que fallan SPF y DKIM?”
  • Resultado: none (solo monitorizar), quarantine (carpeta spam), reject (rechazar)

Por qué importan juntos:

SPF solo: Valida IP servidor, NO contenido mensaje
DKIM solo: Valida integridad mensaje, NO dominio remitente visible
DMARC: Combina SPF+DKIM + política rechazo = protección completa

Adopción España 2026:

  • Solo 18% dominios mundiales tienen DMARC publicado
  • Solo 4% tienen DMARC p=reject (protección máxima)
  • 41% bancos NO tienen DMARC (vulnerables phishing)
  • Coste medio breach phishing: €4.88M por incidente

Marco legal:

  • RGPD: Art. 32 (medidas seguridad técnicas apropiadas)
  • Directiva NIS2 (UE): Exige autenticación email organizaciones críticas
  • Negligencia: Empresa sin SPF/DKIM/DMARC = responsabilidad civil si phishing

Cómo funcionan SPF, DKIM y DMARC: autenticación email técnica

SPF (Sender Policy Framework)

Registro DNS SPF:

example.com.  IN  TXT  "v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.123 include:_spf.google.com -all"

Desglose:
  v=spf1             → Versión SPF 1
  ip4:192.0.2.0/24   → Rango IPs autorizadas (192.0.2.0 - 192.0.2.255)
  ip4:198.51.100.123 → IP específica autorizada
  include:_spf.google.com → Incluir IPs autorizadas Google (Gmail business)
  -all               → Política FAIL (rechazar resto IPs)

Alternativas -all:
  ~all  → SOFTFAIL (marcar sospechoso, no rechazar)
  ?all  → NEUTRAL (no validar)
  +all  → PASS (permitir todo) ⚠️ INSEGURO

Flujo validación SPF:

1. Remitente envía email:
   From: [email protected]
   SMTP servidor: 192.0.2.50

2. Servidor destino (Gmail, Outlook) recibe email:
   - Extrae dominio remitente: example.com
   - Extrae IP servidor origen: 192.0.2.50

3. Query DNS SPF:
   $ dig TXT example.com
   "v=spf1 ip4:192.0.2.0/24 -all"

4. Validación:
   ¿192.0.2.50 está en rango 192.0.2.0/24? → SÍ
   Resultado: SPF PASS ✅

5. Si IP fuera 203.0.113.45 (no autorizada):
   ¿203.0.113.45 está en rango 192.0.2.0/24? → NO
   Política -all → SPF FAIL ❌
   Acción: Rechazar o marcar spam

Análisis forense SPF email phishing:

Email phishing suplantando banco BBVA:

Headers email:
  From: [email protected] (FALSO - spoofed)
  Return-Path: <[email protected]>
  Received: from mail.offshore-server.ru [185.220.101.45]

Validación SPF:
  1. Dominio visible: bbva.com
  2. IP servidor real: 185.220.101.45 (Rusia)

  3. Query DNS SPF BBVA:
     $ dig TXT bbva.com
     "v=spf1 include:_spf.bbva.com -all"

     $ dig TXT _spf.bbva.com
     "v=spf1 ip4:194.224.0.0/16 ip4:213.4.0.0/17 -all"

  4. ¿185.220.101.45 está en rangos autorizados BBVA? → NO

  Resultado: SPF FAIL ❌
  Conclusión: Email NO enviado desde servidores autorizados BBVA
  Evidencia: Phishing demostrado técnicamente

DKIM (DomainKeys Identified Mail)

Registro DNS DKIM (clave pública):

default._domainkey.example.com.  IN  TXT  "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3..."

Desglose:
  v=DKIM1     → Versión DKIM 1
  k=rsa       → Algoritmo criptográfico RSA
  p=MIG...    → Clave pública RSA (Base64) para verificar firma

Firma DKIM en email (header):

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=example.com; s=default;
  h=from:to:subject:date:message-id;
  bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
  b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGkwf8...

Desglose:
  v=1                  → Versión DKIM
  a=rsa-sha256         → Algoritmo firma (RSA + SHA256 hash)
  d=example.com        → Dominio firmante
  s=default            → Selector (identifica clave pública DNS)
  h=from:to:subject... → Headers incluidos en firma
  bh=2jUSO...          → Hash cuerpo mensaje (body hash)
  b=dzdVy...           → Firma digital completa (RSA signature)

Proceso firma y verificación DKIM:

ENVÍO (servidor remitente example.com):
  1. Servidor genera hash SHA256 cuerpo email → bh=2jUSO...
  2. Servidor genera hash headers seleccionados → h=from:to:subject...
  3. Servidor firma hash con clave PRIVADA RSA → b=dzdVy...
  4. Añade header DKIM-Signature al email
  5. Envía email

RECEPCIÓN (servidor destino Gmail):
  1. Extrae header DKIM-Signature
  2. Identifica dominio (d=example.com) y selector (s=default)
  3. Query DNS clave pública:
     $ dig TXT default._domainkey.example.com
     p=MIGfMA0GCS... (clave pública RSA)

  4. Recalcula hash cuerpo email actual → bh'
  5. Compara bh (firma) vs bh' (recalculado):
     ¿bh == bh'? → SÍ = cuerpo NO modificado ✅

  6. Verifica firma digital b con clave pública:
     RSA_verify(b, p) → VÁLIDA ✅

  Resultado: DKIM PASS ✅
  Conclusión: Email íntegro, no modificado en tránsito

Análisis forense DKIM email phishing:

Email phishing AEAT (Agencia Tributaria):

Headers:
  From: [email protected] (FALSO)
  DKIM-Signature: v=1; a=rsa-sha256; d=phishing-domain.tk; ...

Validación DKIM:
  1. Dominio firmante DKIM: phishing-domain.tk (NO agenciatributaria.gob.es)
  2. Query DNS phishing-domain.tk:
     - Clave pública existe
     - Firma VÁLIDA para phishing-domain.tk

  Problema: DKIM PASS para phishing-domain.tk
  PERO dominio visible (From) es agenciatributaria.gob.es (diferente)

  Resultado: DKIM alignment FAIL ❌
  Conclusión: Email firmado por dominio diferente (suplantación)

  ⚠️ DKIM solo NO protege contra spoofing (necesita DMARC alignment)

DMARC (Domain-based Message Authentication)

Registro DNS DMARC:

_dmarc.example.com.  IN  TXT  "v=DMARC1; p=reject; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100; adkim=s; aspf=s"

Desglose:
  v=DMARC1         → Versión DMARC
  p=reject         → Política si FAIL: reject (rechazar), quarantine (spam), none (monitorizar)
  rua=mailto:...   → Email recibir reportes agregados (diarios)
  ruf=mailto:...   → Email recibir reportes forenses (cada fallo)
  pct=100          → Porcentaje emails aplicar política (100 = todos)
  adkim=s          → DKIM alignment: s (strict), r (relaxed)
  aspf=s           → SPF alignment: s (strict), r (relaxed)

Políticas DMARC:
  p=none       → Solo monitorizar (enviar reportes, NO rechazar)
  p=quarantine → Marcar spam si falla SPF/DKIM
  p=reject     → RECHAZAR si falla SPF/DKIM (máxima protección)

DMARC Alignment (alineación dominios):

DMARC valida que dominio visible (From header) COINCIDA con:
  - Dominio SPF (Return-Path)
  - Dominio DKIM (d= firma)

Ejemplo LEGÍTIMO:
  From: [email protected]
  Return-Path: <[email protected]>
  DKIM d=example.com

  SPF alignment: example.com == example.com ✅
  DKIM alignment: example.com == example.com ✅
  DMARC: PASS ✅

Ejemplo PHISHING:
  From: [email protected] (FALSO)
  Return-Path: <[email protected]>
  DKIM d=offshore-server.ru

  SPF alignment: bbva.com != offshore-server.ru ❌
  DKIM alignment: bbva.com != offshore-server.ru ❌
  DMARC: FAIL ❌

  Política DMARC bbva.com: p=reject
  Acción: Gmail/Outlook RECHAZA email antes llegar bandeja entrada

Flujo completo SPF + DKIM + DMARC:

Email recibido:
  From: [email protected]
  Servidor origen: 192.0.2.50
  DKIM firma: d=example.com, b=dzdVy...

Gmail/Outlook validación:

  1. Validación SPF:
     ¿192.0.2.50 autorizada para example.com? → Consulta DNS SPF
     Resultado: SPF PASS ✅

  2. Validación DKIM:
     ¿Firma DKIM válida? → Consulta DNS clave pública + verifica firma
     Resultado: DKIM PASS ✅

  3. Validación DMARC:
     Query DNS _dmarc.example.com → p=reject

     ¿SPF alignment OK? example.com == example.com ✅
     ¿DKIM alignment OK? example.com == example.com ✅
     Resultado: DMARC PASS ✅

  Decisión final: Email LEGÍTIMO → Bandeja entrada

Si SPF FAIL o DKIM FAIL:
  4. DMARC política: p=reject
  Decisión: RECHAZAR email (no entregar)
  Enviar reporte DMARC a [email protected]

Análisis forense email phishing: SPF/DKIM/DMARC como evidencias

Caso 1: Phishing AEAT - Campaña 2026 (420,000 emails)

Contexto: Campaña masiva phishing suplantando Agencia Tributaria española

Email fraudulento recibido:

From: [email protected]
Subject: Devolución IRPF 2025 pendiente - €1,247 a su favor
Date: Mon, 5 Feb 2026 09:15:32 +0100

Estimado contribuyente,

Su declaración IRPF 2025 ha sido revisada. Importe devolución: €1,247

Confirme datos bancarios para transferencia:
https://aeat-devolucion[.]info/irpf2025

Plazo 72h o devolución cancelada.

Agencia Estatal de Administración Tributaria

Análisis headers email:

Return-Path: <[email protected]>
Received: from mail.bulk-sender.tk ([185.220.101.45])
  by mx.google.com with ESMTPS
From: [email protected]
DKIM-Signature: v=1; a=rsa-sha256; d=bulk-sender.tk; s=default; ...

Validación SPF:

# Query SPF Agencia Tributaria
$ dig TXT agenciatributaria.gob.es

agenciatributaria.gob.es. IN TXT "v=spf1 ip4:195.55.0.0/16 ip4:217.126.0.0/16 -all"

# Validación:
Email enviado desde: 185.220.101.45 (bulk-sender.tk)
¿185.220.101.45 está en rangos autorizados AEAT?
  195.55.0.0/16 NO
  217.126.0.0/16 NO

Resultado: SPF FAIL
Conclusión: Servidor NO autorizado por AEAT

Validación DKIM:

# DKIM signature en email:
DKIM-Signature: d=bulk-sender.tk; s=default; ...

# Query clave pública
$ dig TXT default._domainkey.bulk-sender.tk
"v=DKIM1; k=rsa; p=MIGfMA0..."

# Verificación firma:
Firma DKIM: VÁLIDA para bulk-sender.tk

PERO:
  Dominio From visible: agenciatributaria.gob.es
  Dominio DKIM firmante: bulk-sender.tk

Alignment: agenciatributaria.gob.es != bulk-sender.tk
Resultado: DKIM alignment FAIL

Validación DMARC:

# Query DMARC AEAT
$ dig TXT _dmarc.agenciatributaria.gob.es

⚠️ RESULTADO: NXDOMAIN (no existe registro DMARC)

Conclusión CRÍTICA:
  - AEAT NO tiene DMARC configurado
  - Sin política rechazo (p=reject)
  - Gmail/Outlook NO rechazan automáticamente email
  - Email llega bandeja entrada víctimas (420,000 afectados)

Si AEAT tuviera DMARC p=reject:
  1. Gmail detecta SPF FAIL + DKIM alignment FAIL
  2. Consulta política DMARC p=reject
  3. RECHAZA email antes entrega
  4. Víctimas NO ven email phishing
  5. Daño: CERO (vs €8.3M real)

Peritaje forense evidencias:

Informe pericial incluye:

1. Headers email completos (raw)
2. Análisis SPF:
   - Registro SPF AEAT (DNS query captura)
   - IP servidor origen (185.220.101.45)
   - Conclusión: SPF FAIL (servidor no autorizado)

3. Análisis DKIM:
   - Firma DKIM (d=bulk-sender.tk)
   - Dominio From (agenciatributaria.gob.es)
   - Conclusión: Alignment FAIL (dominios diferentes)

4. Análisis DMARC:
   - Query DNS _dmarc.agenciatributaria.gob.es
   - Resultado: NXDOMAIN (no configurado)
   - Conclusión: Sin protección DMARC

5. Evidencia phishing:
   - URL fraudulenta: aeat-devolucion[.]info
   - WHOIS dominio: Registrado 2026-02-03 (2 días antes campaña)
   - Hosting: Offshore (Rumania)

Conclusión judicial:
  ✓ Email demostrado técnicamente NO legítimo AEAT
  ✓ Suplantación identidad probada (SPF/DKIM FAIL)
  ✓ Negligencia AEAT (sin DMARC) → responsabilidad parcial

Caso 2: BEC (Business Email Compromise) - Fraude €120K

Contexto: Atacante suplanta CEO empresa, solicita transferencia urgente

Email fraudulento:

From: [email protected] (CEO real)
To: [email protected]
Subject: RE: Transferencia urgente - Operación China

María,

Necesito transferencia urgente €120,000 a proveedor China.
Operación confidencial, board aprobó ayer.

IBAN: ES76 0081 XXXX XXXX XXXX XXXX (cuenta mula)
Beneficiario: Shanghai Trading Ltd
Concepto: Anticipo materias primas Q1

Ejecutar antes 16:00h hoy. Llamaré mañana, ahora reunión.

Carlos Ruiz, CEO

Análisis headers:

Return-Path: <[email protected]> ← ⚠️ Typosquatting (1 en lugar de l)
Received: from mail.examp1e-corp.com ([203.0.113.45])
From: [email protected] (spoofed)

Validación SPF:

# Query SPF empresa real
$ dig TXT example-corp.com
"v=spf1 ip4:198.51.100.0/24 include:_spf.google.com -all"

# Validación:
Email enviado desde: 203.0.113.45 (examp1e-corp.com typosquatting)
¿203.0.113.45 autorizada para example-corp.com? NO

Resultado: SPF FAIL

Validación DKIM:

# DKIM ausente en email fraudulento
No header DKIM-Signature encontrado

Resultado: DKIM FAIL (no firmado)

Validación DMARC:

# Query DMARC empresa real
$ dig TXT _dmarc.example-corp.com

⚠️ RESULTADO: "v=DMARC1; p=none; rua=mailto:[email protected]"

Problema:
  - DMARC configurado PERO política p=none (solo monitorizar)
  - NO rechaza emails que fallan SPF/DKIM
  - Email llega bandeja entrada

Gmail valida:
  SPF FAIL + DKIM FAIL
  Consulta DMARC p=none (no hacer nada)
  Acción: Entregar email (solo añade warning sutil)

Consecuencia:
  - Empleada finanzas NO ve alerta clara
  - Confía en remitente (parece CEO)
  - Ejecuta transferencia €120,000
  - Descubre fraude 24h después (irrecuperable)

Si DMARC fuera p=reject:
  Gmail rechaza email automáticamente
  Empleada NO ve email fraudulento
  Fraude: EVITADO

Herramientas verificación SPF/DKIM/DMARC

MXToolbox (mxtoolbox.com)

Checks disponibles:

SPF Record Lookup:
  URL: https://mxtoolbox.com/spf.aspx
  Input: example.com
  Output:
    - Registro SPF encontrado: v=spf1 ip4:192.0.2.0/24 -all
    - IPs autorizadas listadas
    - Errores sintaxis (si existen)
    - Warnings (ej: más de 10 DNS lookups)

DKIM Record Lookup:
  URL: https://mxtoolbox.com/dkim.aspx
  Input: Dominio + selector (ej: default._domainkey.example.com)
  Output:
    - Clave pública RSA
    - Algoritmo (rsa, ed25519)
    - Validez registro

DMARC Record Lookup:
  URL: https://mxtoolbox.com/dmarc.aspx
  Input: example.com
  Output:
    - Política DMARC (none, quarantine, reject)
    - Alineación (strict, relaxed)
    - Emails reportes (rua, ruf)
    - Score seguridad (0-100)

Email Headers Analyzer:
  URL: https://mxtoolbox.com/emailheaders.aspx
  Input: Headers email completos (raw)
  Output:
    - Resultado SPF (PASS/FAIL)
    - Resultado DKIM (PASS/FAIL)
    - Resultado DMARC (PASS/FAIL)
    - Ruta email (servidores intermedios)

dmarcian (dmarcian.com)

Análisis DMARC avanzado:

DMARC Inspector:
  URL: https://dmarcian.com/dmarc-inspector/
  Funciones:
    - Validación sintaxis DMARC
    - Recomendaciones mejora política
    - Simulación enforcement (qué pasaría con p=reject)

DMARC Reports Analyzer:
  - Procesa reportes XML DMARC (rua)
  - Dashboard visual: fuentes email legítimas vs fraudulentas
  - Identifica servidores no autorizados enviando email tu dominio
  - Recomendaciones SPF/DKIM fixes

Ejemplo dashboard:
  ┌────────────────────────────────────────┐
  │ DMARC Aggregate Reports - example.com  │
  ├────────────────────────────────────────┤
  │ Total emails: 847,293 (últimos 7 días) │
  │                                        │
  │ ✅ DMARC PASS: 98.2% (831,842)         │
  │ ❌ DMARC FAIL:  1.8% (15,451)          │
  │                                        │
  │ Top failures (IP sources):             │
  │   - 185.220.101.45 (Tor exit): 8,200   │
  │   - 203.0.113.45 (Unknown): 4,100      │
  │   - 198.51.100.200 (MailChimp): 3,151  │
  │     ↳ Fix: Añadir include:servers.     │
  │             mcsv.net al SPF            │
  └────────────────────────────────────────┘

Google Admin Toolbox (toolbox.googleapps.com)

Messageheader (Google):

URL: https://toolbox.googleapps.com/apps/messageheader/

Función: Analiza headers email Gmail

Output:
  - SPF resultado + IP origen
  - DKIM resultado + firma verificada
  - DMARC resultado + política aplicada
  - Delays entrega (latencia servidores)
  - Ruta completa email (hops)

Ideal para:
  - Debugging entregas Gmail
  - Análisis phishing recibido Gmail
  - Verificar configuración SPF/DKIM propia

Implementación SPF/DKIM/DMARC: guía configuración

Paso 1: Configurar SPF

1.1 Identificar servidores email:

Pregunta clave: ¿Qué servidores envían email tu dominio?

Fuentes comunes:
  - Servidor web propio (IP servidor)
  - Google Workspace (include:_spf.google.com)
  - Microsoft 365 (include:spf.protection.outlook.com)
  - Mailchimp (include:servers.mcsv.net)
  - Zendesk (include:mail.zendesk.com)

1.2 Crear registro SPF DNS:

example.com.  IN  TXT  "v=spf1 ip4:192.0.2.0/24 include:_spf.google.com include:servers.mcsv.net -all"

Explicación:
  ip4:192.0.2.0/24           → Servidor web propio
  include:_spf.google.com    → Google Workspace
  include:servers.mcsv.net   → Mailchimp
  -all                       → Rechazar resto (recomendado)

⚠️ Límite: Máximo 10 DNS lookups (includes cuentan)

1.3 Validar SPF:

# Verificar registro publicado
$ dig TXT example.com

# Validar sintaxis
https://mxtoolbox.com/spf.aspx

# Enviar email prueba y revisar headers

Paso 2: Configurar DKIM

2.1 Generar par claves (servidor email):

# Ejemplo: OpenDKIM (Linux)
$ opendkim-genkey -s default -d example.com

Genera:
  - default.private (clave PRIVADA, guardar secreto)
  - default.txt (clave PÚBLICA, publicar DNS)

2.2 Publicar clave pública DNS:

default._domainkey.example.com.  IN  TXT  "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3QEKyU..."

Nombre registro: default._domainkey.example.com
  - "default" = selector (identificador clave, puedes usar cualquier nombre)
  - "_domainkey" = estándar DKIM

2.3 Configurar servidor email firmar:

Google Workspace:
  Admin console → Apps → Google Workspace → Gmail
  → Authenticate email → Generate new record
  → Copiar registro DKIM a DNS

Microsoft 365:
  Admin center → Exchange → Protection → DKIM
  → Enable DKIM signing for domain
  → Añadir registros DNS indicados

2.4 Validar DKIM:

# Verificar registro DNS
$ dig TXT default._domainkey.example.com

# Enviar email prueba y validar firma
https://mxtoolbox.com/dkim.aspx

Paso 3: Configurar DMARC

3.1 Fase 1 - Monitorización (p=none):

_dmarc.example.com.  IN  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]; pct=100"

Explicación:
  p=none                            → Solo monitorizar (no rechazar)
  rua=mailto:dmarc-reports@...      → Email recibir reportes diarios
  pct=100                           → Aplicar 100% emails

Duración fase 1: 2-4 semanas (monitorizar)

3.2 Analizar reportes DMARC:

Usar: dmarcian.com o parsedmarc (Python)

Identificar:
  - Fuentes legítimas email (autorizadas)
  - Fuentes fraudulentas (no autorizadas)
  - Servidores propios faltantes en SPF (fix antes p=reject)

3.3 Fase 2 - Cuarentena (p=quarantine):

_dmarc.example.com.  IN  TXT  "v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=100; adkim=r; aspf=r"

Explicación:
  p=quarantine                      → Marcar spam si falla
  adkim=r, aspf=r                   → Alignment relaxed (menos estricto)

Duración fase 2: 2-4 semanas adicionales

3.4 Fase 3 - Rechazo (p=reject) ✅:

_dmarc.example.com.  IN  TXT  "v=DMARC1; p=reject; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100; adkim=s; aspf=s"

Explicación:
  p=reject                          → RECHAZAR si falla (máxima protección)
  ruf=mailto:dmarc-forensic@...     → Reportes forenses (cada fallo)
  adkim=s, aspf=s                   → Alignment strict (máxima seguridad)

✅ PROTECCIÓN COMPLETA ACTIVADA

3.5 Validar DMARC:

# Verificar registro
$ dig TXT _dmarc.example.com

# Validar sintaxis
https://mxtoolbox.com/dmarc.aspx

# Enviar email prueba externo (spoof) y verificar rechazo

Limitaciones y casos edge

Forwarding Email (Reenvío)

Problema:

Usuario A (Gmail) reenvía email a Usuario B (Outlook):
  Email original:
    From: [email protected]
    SPF: PASS (enviado desde servidor example.com autorizado)

  Gmail reenvía:
    From: [email protected] (sin cambiar)
    Servidor origen: Gmail servers (NO example.com)

  Outlook valida:
    SPF: ¿Gmail autorizado para example.com? → NO → SPF FAIL
    DMARC example.com: p=reject
    Acción: RECHAZAR email (legítimo pero reenviado)

Solución:
  1. SRS (Sender Rewriting Scheme): Gmail reescribe From
  2. ARC (Authenticated Received Chain): Preserva autenticación original
  3. Configuración DMARC: aspf=r (relaxed, más permisivo)

Listas Distribución (Mailing Lists)

Problema similar forwarding:

Email enviado lista Mailman:
  - Lista modifica Subject (añade [Lista])
  - DKIM rompe (contenido modificado)
  - SPF falla (servidor lista != dominio original)

Solución:
  - Lista reescribe From: [email protected]
  - O usa DMARC p=none para listas conocidas

Subdominios

DMARC subdomains:

Registro DMARC padre:
  _dmarc.example.com → p=reject

Subdomain sin DMARC propio:
  newsletter.example.com → ¿Qué política?

Comportamiento:
  - Subdomain HEREDA política padre (p=reject)
  - O publica propio: _dmarc.newsletter.example.com → p=none

Recomendación:
  - Política padre conservadora (p=quarantine)
  - Subdomains activos: políticas específicas
  - Subdomains no usados: p=reject

FAQ

P: ¿SPF/DKIM/DMARC previenen 100% phishing? R: NO. Previenen suplantación DOMINIO (email from spoofing) pero NO: 1) Phishing dominios similares (examp1e.com vs example.com), 2) Phishing texto email (URLs maliciosas), 3) Archivos adjuntos malware. Son CAPA crítica, NO solución completa.

P: ¿Puedo tener solo SPF sin DKIM/DMARC? R: Técnicamente SÍ, PERO protección limitada. SPF solo valida IP servidor, NO contenido ni dominio visible. Atacante puede enviar desde servidor autorizado dominio diferente. DMARC (que requiere SPF o DKIM) es necesario enforcement real.

P: ¿DMARC p=reject puede bloquear emails legítimos? R: SÍ si configuración incorrecta. Por eso implementar gradual: 1) p=none (2-4 semanas), 2) Analizar reportes, 3) Fijar SPF/DKIM fuentes legítimas, 4) p=quarantine (2-4 semanas), 5) p=reject. Monitorizar reportes continuamente.

P: ¿Cómo saber si dominio tiene DMARC configurado? R: Query DNS: dig TXT _dmarc.example.com o herramienta web MXToolbox. Si devuelve NXDOMAIN = NO configurado. Si devuelve registro TXT con v=DMARC1 = configurado (revisar política p=).

P: ¿Perito informático puede usar SPF/DKIM/DMARC como evidencia judicial? R: SÍ. Análisis headers email demostrando SPF FAIL + DKIM FAIL + ausencia DMARC es evidencia técnica sólida phishing. Informe pericial debe incluir: 1) Headers raw email, 2) Query DNS SPF/DKIM/DMARC (captura), 3) Análisis validación, 4) Conclusión legitimidad. Admisible juicio.


Referencias y Fuentes

  1. PowerDMARC. (2026). “Email Phishing And DMARC Statistics: 2026 Security Trends”. powerdmarc.com

    • Only 18% world’s 10M domains publish valid DMARC, just 4% enforce reject policy
    • 41% banking institutions lack DMARC protection
  2. SkyNet Hosting. (2026). “SPF DKIM DMARC Explained 2026: Complete Email Authentication Setup Guide”. skynethosting.net

    • In 2026, major inbox providers increasingly require authenticated email
  3. Muy Seguridad. (2026). “Guardia Civil alerta phishing AEAT: estafa masiva 2026”. muyseguridad.net

    • Large-scale phishing campaign impersonating Spanish Tax Agency (AEAT)
  4. INCIBE. (2025). “Actúa con precaución ante supuesta notificación Agencia Tributaria - phishing y smishing”. incibe.es

    • Official INCIBE alerts about AEAT phishing campaigns
  5. Cloudflare. (2025). “What are DMARC, DKIM, and SPF?”. cloudflare.com

    • Technical explanation how SPF, DKIM, DMARC work together
  6. DMARCLY. (2024). “How to Implement DMARC/DKIM/SPF to Stop Email Spoofing/Phishing: The Definitive Guide”. dmarcly.com

    • Comprehensive implementation guide for email authentication
  7. PowerDMARC. (2026). “Email Security Predictions 2026: What To Expect”. powerdmarc.com

    • Email security trends: AI-driven phishing, stricter DMARC rules
  8. Guardian Digital. (2025). “SPF DKIM DMARC: Protecting Your Inbox from Email Spoofing Threats”. guardiandigital.com

    • How authentication protocols secure email against sender fraud
  9. EasyDMARC. (2025). “Stop Email Phishing with DMARC, DKIM, and SPF”. easydmarc.com

    • Practical guide implementing email authentication to prevent phishing
  10. NIST. (2023). “Email Authentication Mechanisms: DMARC, SPF and DKIM”. nvlpubs.nist.gov

    • Official NIST technical documentation on email authentication standards

Última actualización: 10 Febrero 2026 Categoría: Análisis (ANA-008) Nivel técnico: Avanzado Relevancia forense: ALTA (evidencia técnica phishing, análisis headers email) Adopción España: 18% dominios DMARC, 4% p=reject (2026)

¿Necesitas un peritaje forense?

Si necesitas ayuda profesional con análisis forense digital, estoy aquí para ayudarte.

Solicitar Consulta Gratuita
Jonathan Izquierdo

Jonathan Izquierdo · Perito Forense

+15 años experiencia · AWS Certified

WhatsApp