Envío de Correo con Postfix
Resumen de una línea
Configuración de Postfix para enviar correos con autenticación SPF, DKIM, DMARC y seguridad en tránsito.
Caso: Correo Desde Servidor a Internet
Escenario
Usuario A (servidor.com)
└─ SMTP
└─> Servidor Postfix (servidor.com)
└─ Consulta DNS: ¿dónde va usuario@destino.com?
└─ SMTP 25 → Servidor destino
└─ Verifica SPF/DKIM/DMARC
└─ Entrega o rechaza
Problema: Spam y Spoofing
Cualquier servidor puede enviar correo fingiendo ser cualquier dominio:
MAIL FROM: <ceo@banco.com> ← Mentira fácil
Solución: Mecanismos de autenticación.
Autenticación: SPF
SPF (Sender Policy Framework) - Registro DNS que autoriza IPs
midominio.com TXT "v=spf1 ip4:192.0.2.1 -all"
Significado:
v=spf1: Versión SPFip4:192.0.2.1: Solo esta IP puede enviar-all: Rechazar otros (otros:~all= spam,?all= aceptar)
Verificación en servidor destino:
- Correo llega de IP X
- Servidor consulta DNS de midominio.com
- ¿IP X está autorizada?
- Sí → Pasa SPF; No → Falla SPF
Autenticación: DKIM
DKIM (DomainKeys Identified Mail) - Firma digital del correo
Generación de Claves
opendkim-genkey -D /etc/dkimkeys -d midominio.com -s selector1Crea:
selector1.private- Clave privada (en servidor)selector1.txt- Clave pública (en DNS)
Configuración Postfix
# /etc/opendkim.conf
Mode sv
Domain midominio.com
KeyFile /etc/dkimkeys/selector1.private
Selector selector1
Socket inet:8892@localhost
# /etc/postfix/main.cf
milter_protocol = 2
smtpd_milters = inet:localhost:8892
Publicar en DNS
selector1._domainkey.midominio.com TXT "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANB..."
Verificación:
- Correo llega firmado
- Servidor obtiene clave pública de DNS
- Verifica firma: ¿valida?
- Sí → Pasa DKIM; No → Falla DKIM
Autenticación: DMARC
DMARC (Domain-based Message Authentication, Reporting and Conformance) - Política unificada
_dmarc.midominio.com TXT "v=DMARC1; p=quarantine; adkim=r; aspf=r; rua=mailto:admin@midominio.com"
Parámetros:
p=quarantine- Acción si falla (none/quarantine/reject)adkim=r- Alineación DKIM relajadaaspf=r- Alineación SPF relajadarua=- Correo para reportes
Decisión DMARC:
- ¿SPF pasa O DKIM pasa? → Aceptar
- ¿Ambos fallan? → Aplicar política (p=)
Mejores Prácticas
-
Implementar progresivamente:
- Mes 1: SPF
- Mes 2: DKIM
- Mes 3: DMARC (p=none)
- Mes 4: DMARC (p=quarantine)
- Mes 5: DMARC (p=reject)
-
Monitorear reportes DMARC para encontrar servidores legales que fallan
-
IP limpia: Listas negras (DNSBL)
- No estar en listas negras de spam
- Validar con mxtoolbox.com
-
Configuración TLS:
smtp_tls_security_level = may smtpd_tls_security_level = may
Lecturas Relacionadas
- SPF, DKIM y DMARC - Profundización — Blog con estrategia unificada y reportes
Relaciones
Conecta con
- Postfix — Servidor MTA
- SPF — Autenticación por DNS
- DKIM — Firma digital criptográfica
- DMARC — Política unificada
- TLS — Cifrado transport-layer
- Fundamentos de Correo Electrónico — Protocolos SMTP
Fuentes
- ¿Qué hacer para que llegue a buen puerto? — Detalles técnicos SPF/DKIM/DMARC
- SPF, DKIM y DMARC - Profundización — Blog de profundización