31
SPF: Luchando contra el SPAM Toni de la Fuente Diaz [blyx.com] 12 Septiembre'04 Congreso NoConName Palma de Mallorca

Spf Noconname 2004

Embed Size (px)

DESCRIPTION

Conferencia sobre SPF, Sender Policy Framework. Cómo funciona y cómo se implementa.

Citation preview

Page 1: Spf Noconname 2004

SPF:Luchando contra el SPAM

Toni de la Fuente Diaz [blyx.com]12 Septiembre'04

Congreso NoConNamePalma de Mallorca

Page 2: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Contenido:

" Introducción" Funcionamiento del correo electrónico" Falsificación de correo electrónico" SPF (Sender Policy Framework):

! Concepto y características! Anatomía! Sintaxis! Ejemplos y análisis! Integración con MTAs! Caso práctico (qmail)! Demostración

Page 3: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

¿Preguntas?:P

Page 4: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

" ¿Que es SPAM?! Spam es correo no deseado y no solicitado.! Más del 80% de los correos electrónicos recibidos por

cualquier ISP al día son spam.

" ¿Por qué los Spammers hacen SPAM?! Por dinero.! Ahorro en anunciar ciertos productos.! Gusanos con propio motor SMTP! ...

" Coste del SPAM: - Pérdida de productividad (4.4s/mensaje) y de recursos del

servidor (ancho de banda y almacenamiento).

Introducción:

Page 5: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

" SpamAssassin

" BlackLists basadas en DNS

" WhiteLists

" Filtros Ballesianos : Teorema de Bayes# $

" Filtros en los clientes

" Control de ancho de banda

" Uso intensivo del cortafuegos (trafico saliente puerto 25/TCP).

Métodos utilizados para acabar con el SPAM:

Page 6: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

¿Cómo funciona el correo electrónico?

Page 7: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Estructura de un mensaje de correo electronico:

Envelope:

mail from: [email protected] (Return-Path)rcpt to: [email protected] (Delivered-To)

Header:

From: [email protected]: AsuntoTo: [email protected]:Reply-To:Message-ID:ETC...

Page 8: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

$ telnet smtp.dominio.com 25Trying 211.35.214.2...Connected to smtp.dominio.com.Escape character is '^]'.220 smtp.dominio.com ESMTPmail from: [email protected] okrcpt to: [email protected] okdata354 go aheadFrom: [email protected]: ayyyy lereee lereeeTo: [email protected] Adiooooooosss!!! .250 ok 1088708435 qp 3884quit221 smtp.dominio.comConnection closed by foreign host.

Una sesión especial:

Page 9: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Return-Path: <[email protected]>Delivered-To: [email protected]

Received: (qmail 3884 invoked from network); 1 Jul 2004 18:59:20 -0000Received: from unknown (231.254.21.33) by 0 with SMTP; 1 Jul 2004 18:59:20 -0000From: [email protected]: ayyyy lereee lereeeTo: [email protected]: pop://toni%[email protected]: Thu, 01 Jul 2004 20:57:36 +0200Message-Id: <1088708256.2240.177.camel@flame>Mime-Version: 1.0Adiooooooosss!!!

Resultado, fuente del mensaje recibido:

¿Quien recibe el correo? [email protected] Aunque aparecerá en el cliente [email protected] procedente de [email protected]

Page 10: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Falsear direcciones de correo es fácil:

SPAMMER

Page 11: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

SPF = Sender Policy Framework

• SPF (antes llamado Sender Permitted From) permite a los servidores de correo identificar y bloquear envíos falsificados haciendo una simple consulta al DNS sobre el registro TXT del dominio origen.

• Gran parte de las empresas y asociaciones ya publican sus registros SPF como Google, AOL, gnu.org, oreilly.com, wanadoo.es, etc.

• Cómo se si mi proveedor publica SPF?host –t txt ya.com

Basado en:RMX: Reverse Mail eXchangerDMP: Designated Mailers Protocol

Page 12: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Características para la implementación de SPF

• Implica a los protocolos DNS (sólo TXT) y SMTP (necesita modificación).

• La adopción de SPF puede ser asimétrica, no es necesario que otros utilicen SPF.

• Uso de SMTP Autenticado muy recomendable. Usuarios viajeros con MTA propios, etc.

• Hay otras iniciativas como M$ Caller-ID o M$ SenderID. SPF es compatible.

• Web del proyecto: http://spf.pobox.com/

RFCs:http://spf.pobox.com/spf-draft-200406.txthttp://spf.pobox.com/draft-ietf-marid-protocol-00.txt

Page 13: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Anatomía de un registro SPF:

Page 14: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Con SPF:

Page 15: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Existen asistentes para configuración de la zona TXT para SPF:http://spf.pobox.com/wizard.htmlhttp://old.spf.infinitepenguins.net/create.php

Sintaxis http://spf.pobox.com/mechanisms.html

Ejemplo:

Sólo los MX de blyx.com pueden enviar correos de @blyx.com:

En BIND:blyx.com. IN TXT "v=spf1 mx -all"

En tinydns/djbdns:'blyx.com:v=spf1 mx -all:600

NOTA: all es equivalente a +all

Page 16: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Prefijos:

v = versión de SPF, actualmente es spf1a = registros A en DNSmx = registros MX en DNSptr = registros PTR (resolución inversa) en DNSip4/ip6 = declaración de ip o rangos Ipv4 o Ipv6all = redes e IP restantesinclude = comprueba registro SPF de otro dominio y pasa al siguiente operadorexist = si existen registros SPF de otro dominio

Modificadores:exp = (explanation) respuesta en caso de rechazo (pj. explicar como utilizar smtp-auth)redirect = consulta el registro SPF de otro dominio

Operadores (mechanism):

- fail~ softfail + pass ? neutral

Page 17: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Informe de los fails por IP (no aparece en spf v2):

“v=spf1 mx [email protected] -all"

Si blyx.com sólo fuera un dominio de web y no envía correo:

blyx.com. TXT "v=spf1 -all"

Otros ejemplos:

Page 18: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Registro SPF y comprobación:

http://spf.infinitepenguins.net/register.phphttp://spf.infinitepenguins.net/earlyadopters.php

Page 19: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Prueba satisfactoria:

# spfquery -i 212.163.0.2 -s [email protected] -h blyx.compasspolicy result: (pass) from rule (ip4:212.163.0.0/26)(null)

Prueba fallida:

# spfquery -i 212.163.0.134 -s [email protected] -h blyx.comfailpolicy result: (fail) from rule (-all)See http://spf.pobox.com/[email protected]&ip=212.163.0.134&receiver=spfquery

Comprobación con libspf: (www.libspf.org)

Page 20: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Comprobación:

Page 21: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

AOL:

Análisis de algunos registros SPF:

aol.com text"v=spf1 ip4:152.163.225.0/24 ip4:205.188.139.0/24 ip4:205.188.144.0/24 ip4:205.188.156.0/23 ip4:205.188.159.0/24 ip4:64.12.136.0/23 ip4:64.12.138.0/24 ptr:mx.aol.com ?all"

wanadoo.es text "v=spf1 +a:allow.spf.wanadoo.es ?all"

WANADOO:

Ejecuta: # nslookup allow.spf.wanadoo.es

Interesante ¿verdad?

Implementación interesante de SPF:

Page 22: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Desventajas:

- Problemas con los reenvios de correo:

Solución: Protocolo SRS (Sender Rewriting Scheme) marcas de camino, MTA original: seguimiento de correo. http://www.libsrs2.org

- Usuarios móviles con MTA propios:

Solución: SMTP-AUTH

Page 23: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

¿Qué hago en mi servidor SMTP?

Paquetes y parches disponibles para MTAs en:http://spf.pobox.com/downloads.html

Mail::SPF::Query ! Módulo de Perl que permite la implementación con Sendmail, paquetes RedHat, Fedora y Debian.

Postfix - http://spf.pobox.com/postfix-policyd.txt + Mail::SPF::Query

Sendmail-milter - http://spf.pobox.com/sendmail-milter-spf-1.41.pl

qmail - http://www.saout.de/misc/spf/

Exim - http://spf.pobox.com/exim4.spf.acl-2.09.txt

Courier - http://search.cpan.org/search?query=Courier::Filter::Module::SPF

http://www.libspf2.org/ - Librerias en C para Sendmail y Qmail

http://www.wayforward.net/spf/ - Librerias en Python

https://sourceforge.net/projects/spfjava/ - Librerias en Java

Page 24: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Caso práctico: ímplementación con qmail

2- Parchear, compilar, instalar: Parche simple:

http://www.saout.de/misc/spf/qmail-spf-rc2.patch Parche con soporte ldap, smtp-auth, tls:

http://www.saout.de/misc/spf/other/

1- Publicar los registros SPF en el dns: Añadir en la zona /var/named/blyx.com.db:blyx.com. IN TXT "v=spf1 mx -all"

3- Configurar qmail (/var/qmail/control):· spfbehavior: valor ideal 3

*mas info: # man 8 qmail-smtpd

Page 25: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

0: Never do SPF lookups, don't create Received-SPF headers1: Only create Received-SPF headers, never block2: Use temporary errors when you have DNS lookup problems3: Reject mails when SPF resolves to fail (deny)4: Reject mails when SPF resolves to softfail5: Reject mails when SPF resolves to neutral6: Reject mails when SPF does not resolve to pass

spfbehavior: Comportamiento de nuestro MTA

Configura el comportamiento del MTA según las respuestas SPF obtenidas. El valor por defecto es 0 (off). Los valores son de 0 a 6:

Page 26: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

$ telnet smtp.blyx.com 25Trying 213.14.251.3...Connected to 213.14.251.3.Escape character is '^]'.220 smtp.blyx.com ESMTPmail from: [email protected] okrcpt to: [email protected] See http://spf.pobox.com/why.html?sender=atacante%40aol.com&ip=216.89.87.65&receiver=213.14.251.3 (#5.7.1)quit221 smtp.blyx.comConnection closed by foreign host.

Captura del tráfico con tcpdump:22:37:57.291209 smtp.blyx.com.32771 > chico.rediris.es.domain: 36152+ [1au] TXT? aol.com. (36) (DF)22:37:57.708396 chico.rediris.es.domain > smtp.blyx.com.32771: 36152* 1/4/5 TXT[|domain] (DF)

Demostración:

En DNS: blyx.com text = "v=spf1 mx -all"

En MTA: /var/qmail/control/spfbehavior = 6

Page 27: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Return-Path: <[email protected]>Delivered-To: [email protected]: (qmail 21460 invoked by uid 508); 9 Sep 2004 15:48:51 -0000Received: from unknown (HELO fcmx1.nostracom.com) (212.163.0.13) by pop.nostracom.com with SMTP; 9 Sep 2004 15:48:51 -0000Received: (qmail 17947 invoked by uid 600); 9 Sep 2004 15:51:56 -0000Received: from 182.red-80-24-243.pooles.rima-tde.net (80.24.243.182) by212.163.0.13 with SMTP; 9 Sep 2004 15:51:56 -0000Received-SPF: neutral (212.163.0.13: 80.24.243.182 is neither permitted nor denied by SPF record at aol.com)X-Evolution-Source: pop://toni%[email protected]/From:Date: Thu, 09 Sep 2004 17:47:46 +0200Subject: No SubjectMessage-Id: <[email protected]>Mime-Version: 1.0

Análisis de cabeceras:Caso neutral ?all

Page 28: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Análisis de cabeceras:Caso pass -all

Return-Path: <[email protected]>Delivered-To: [email protected]: (qmail 18251 invoked by uid 508); 8 Sep 2004 19:59:11 -0000Received: from unknown (HELO fcmx1.nostracom.com) (212.163.0.13) bypop.nostracom.com with SMTP; 8 Sep 2004 19:59:11 -0000Received: (qmail 17466 invoked by uid 600); 8 Sep 2004 20:02:18 -0000Received: from mta201.info.redhat.com (65.125.54.186) by 212.163.0.13 with SMTP; 8 Sep 2004 20:02:18 -0000Received-SPF: pass (212.163.0.13: SPF record at b.info.redhat.com designates 65.125.54.186 as permitted sender)Date: Wed, 8 Sep 2004 20:04:12 -0000Message-ID: <bz0214fa94ddcqbh1mccmbv7qgpamb.187926463.2492@mta201.info.redhat.com>List-Unsubscribe: <mailto:[email protected]>From: "Red Hat" <[email protected]>To: [email protected]: Under the Brim | Red Hat | September 2004

Page 29: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Análisis de cabeceras:Caso none sin SPF declarado

Return-Path: <[email protected]>Delivered-To: [email protected]: (qmail 32142 invoked by uid 508); 3 Sep 2004 20:41:21 -00Received: from unknown (HELO fcmx1.nostracom.com) (212.163.0.13) bypop.nostracom.com with SMTP; 3 Sep 2004 20:41:21 -0000Received: (qmail 21366 invoked by uid 600); 3 Sep 2004 20:44:29 000Received: from 19.red-80-26-109.pooles.rima-tde.net (HELO iol.ie) (80.26.109.19) by 212.163.0.13 with SMTP; 3 Sep 2004 20:44:29 -0000Received-SPF: none (212.163.0.13: domain at noconname.org does notdesignate permitted sender hosts)Received: from peron (hugo.iol.ie [192.168.0.2]) by iol.ie(Postfix) with SMTP id 8521D23 for <[email protected]>; Fri, 3 Sep 2004 22:49:43 +0200 (CEST)Message-ID: <008d01c491f6$f830b320$0200a8c0@peron>From: <[email protected]>To: "Toni dlF. Diaz" <[email protected]>

Page 30: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Tipo Nombre Función

SOA Start Of Authority Define una zona representativa del DNS

Zona NS Name Server Identifica los servidores de zona, delega subdominios A Dirección IPv4 Traducción de nombre a dirección AAAA Dirección IPv6 original Actualmente obsoleto

Básicos A6 Dirección IPv6 Traducción de nombre a dirección IPv6 PTR Puntero Traducción de dirección a nombre DNAME Redirección Redirección para las resoluciones inversas IPv6 MX Mail eXchanger Controla el enrutado del correo KEY Clave pública Clave pública para un nombre de DNS

Seguridad NXT Next Se usa junto a DNSSEC para las respuestas negativas SIG Signature Zona autenticada/firmada CNAME Canonical Name Nicks o alias para un dominio LOC Localización Localización geográfica y extensión

Opcionales RP Persona responsable Especifica la persona de contacto de cada host SRV Servicios Proporciona la localización de servicios conocidos TXT Texto Comentarios o información sin cifrar

Securizar el Servidor DNS Bind: http://www.ziries.com/contenido.php?opcion=articulo-bind

Apuntes:

Page 31: Spf Noconname 2004

SPF: Luchando contra el SPAMToni dlF. Diaz [blyx.com] Septiembre 2004!

Se permite la copia y difusión total o parcial por cualquier medio y la traducción a otros idiomas, siempre que se haga referencia al autor Toni de la Fuente Diaz = http://blyx.com y se incluya esta nota. :wq

¡¡¡GRACIAS!!!