Está en la página 1de 34

SMTP

Miguel ngel Nieto <miguelangel@irontec.com>


Irontec Internet y Sistemas sobre GNU/Linux

Irontec Curso SMTP

Introduccin DNS

El DNS evita que tengamos que aprender cientos de


IP.
Tambin nos ayuda a encontrar los servidores de
correo.
Los servidores DNS escuchan en el puerto 53 UDP.
Tcnicamente es posible imaginar Internet sin
servidores DNS.
Alguno se sabe la IP de google.com de
memoria? :)

Irontec Curso SMTP

Introduccin DNS

Los dominios pueden incluir letras, nmero y -


como nico simbolo
No pueden empezar por - y deben tener al menos
un caracter
www.irontec.com
www es un subdominio
irontec es un subdominio
com es un dominio de nivel superior (TDL)
www.irontec.com Es conocido como FQDN (tambin
llamado Fully Qualified Domain Name)
Cul es el FQDN de nuestro host?

Irontec Curso SMTP

Introduccin DNS

Existen 13 servidores en todo el mundo conocidos


como DNS Raz
Estos conocen dnde estn los servidores de
nombres autoritarios para cada zona de alto nivel
Su nombre es letra.root-servers.org, donde letra va
de A M
http://es.wikipedia.org/wiki/Servidor_Ra%C3%ADz
Suelen recibir bastantes ataques con intencin de
tirarlos abajo

Irontec Curso SMTP

Introduccin DNS

En un primer lugar se hacia uso del fichero


/etc/hosts almacenando todos los dominios
conocidos
Con el crecimiento que ha tenido Internet dicho
fichero dej de ser prctico
Es posible desactivar el uso de hosts o de los DNS
en nuestro equipo

Irontec Curso SMTP

Introduccin DNS

Existen 3 elementos fundamentales

Clientes DNS, que funcionan de forma transparente al


usuario
Servidores DNS (BIND, PowerDNS, djbdns, etc.)
Zonas de autoridad. Cada zona abarca al menos un
dominio.

Montaremos un servidor DNS y haremos uso de el a


lo largo del curso.

Irontec Curso SMTP

Registros DNS

Existen varios tipos de registros DNS a consultar,


los ms imporantes son:

A
MX
CNAME
TXT
NS
LOC
SOA
PTR

Irontec Curso SMTP

Registro A

El registro A es el que ms utilizamos a lo largo del


da
Nos ayuada a saber la IP que corresponde a un
dominio
Es necesario para navegar, si no deseamos
terminar memorizando miles de Ips en nuestra
cabeza
Para un dominio, pueden existir varias Ips. Cul
puede ser la razn para este comportamiento?
$ host -t a google.es
google.es has address 72.14.221.104
google.es has address 66.249.93.104
google.es has address 216.239.59.104
8

Irontec Curso SMTP

Registro MX

Gracias a este registro sabemos a que servidor


entregar el correo
El registro MX nos devuelve un nombre de dominio
Para un registro MX tambin podemos tener
distintas respuestas
El registro A y el registro MX no tiene porque tener
la misma mquina destino. Podemos tener la web
en un servidor y el correo en otro.
Con que IP debemos comunicarnos para entregar
un correo a gmail.com?

Irontec Curso SMTP

Registro CNAME

Cname es un Alias
Una mquina puede ser accedida desde distintos
nombres. Por ejemplo los VirtualHost de Apache.
Un Cname apunta a otro dominio, por ejemplo

miguelangelnieto.net es un dominio FQDN


wiki.miguelangelnieto.net es un CNAME que nos enlaza
a miguelangelnieto.net
Por esa razn, tanto uno como otro tienen la misma ip

$ host -t a wiki.miguelangelnieto.net
wiki.miguelangelnieto.net is an alias for miguelangelnieto.net.
miguelangelnieto.net has address 209.40.204.98

10

Irontec Curso SMTP

Registro TXT

El registro TXT nos permite incluir texto


Se suele usar para indicar datos extra del dominio
que no tengan cabida los registros DNS
Gracias a SPF el registro TXT se utiliza tambin
para evitar el SPAM y la posible suplantacin de
identidad al enviar un correo
$ host -t txt spf.irontec.com
spf.irontec.com descriptive text "v=spf1 a mx a:vpncore.irontec.com
a:miri.irontec.com -all"
$host -t txt miguelangelnieto.net
miguelangelnieto.net descriptive text "v=spf1 a mx ~all"
miguelangelnieto.net descriptive text "Miguel Angel Nieto http://miguelangelnieto.net"

Qu nos dicen esos registros SPF? Googlead :P


11

Irontec Curso SMTP

Registro NS

NS = Name Server
Con NS asociamos un servidor de nombres con un
dominio en concreto
Un dominio puede tener una cantidad cualquiera de
servidores de nombres
$ host -t ns miguelangelnieto.net
miguelangelnieto.net name server ns1.vpslink.com.
miguelangelnieto.net name server ns2.vpslink.com.

Es recomendable que sean como mnimo dos y que


estos estn fisicamente separados

12

Irontec Curso SMTP

Registro LOC

Sirve para indicar las coordenadas del dominio, que


suele corresponder con la localizacin de la
empresa o del servidor que aloja el contenido
host -t loc irontec.com
irontec.com location 27 53 36.240 N 82 31 10.920 W 7.00m 100m 100m
2m

13

Irontec Curso SMTP

Registro SOA

Proporciona informacin sobre la zona


$ host -t soa irontec.com
irontec.com has SOA record ns.irontec.com. sistemas.irontec.com.
2009022502 10800 7200 604800 172800

Veremos el significado de cada valor con la


configuracin de nuestro propio DNS

14

Irontec Curso SMTP

Registro PTR

PTR es un registro inverso


Sabemos la IP, pero queremos conocer el dominio
Se suele usar mucho en servidores de correo. Hay
algunos servidores que si tu dominio no dispone de
PTR, se rechazan los correos
host -t ptr 209.40.204.98
98.204.40.209.in-addr.arpa domain name pointer miguelangelnieto.net.

15

Irontec Curso SMTP

Cacheo de DNS

Casi todos los servidores DNS que consultamos


cachean las respuestas
Gracias a esto las respuestas son ms rapidas y los
servidores soportan menos carga
Pero si realizamos un cambio DNS de nuestros
dominios, estos tardarn en llegar a los usuarios
hasta que los cacheos desaparezcan y los cambios
se repliquen

16

Irontec Curso SMTP

Cacheo de DNS

Se puede comprobar el tiempo que tarda en resolver


una consulta mediante el comando dig
Primera resolucin a esdebian.org
;; Query time: 188 msec
Seguna resolucin a esdebian.org
;; Query time: 8 msec
Se nota una ligera diferencia.
Comprobad si nuestro DNS actual cachea resultados.

17

Irontec Curso SMTP

Elegir un servidor DNS

Existen algunas utilidades en Internet que hacen


comparativas del tiempo de respuesta de los DNS
Nos podemos aprovechar de dichas utilidades para
usar en cada momento el DNS que mejor resultados
nos de
http://bandaancha.eu/analizador-dns
Los servidores DNS se aaden a resolv.conf
Cambiad de dns y resolved dominios, para notar las
posibles diferencias

18

Irontec Curso SMTP

Protocolo SMTP

SMTP (simple mail transfer protocolo)


RFC 2821
Puerto TCP 25 por defecto. Es posible cambiarlo,
pero nadie excepto nosotros sabra el puerto de
escucha
Es un protocolo sencillo y simple, creado para ser
agil y sin tener en cuenta la seguridad
Esto ha provocado el crecimiento de ataques a
travs del correo
Spam/Virus las mayores amenazas

19

Irontec Curso SMTP

Protocolo SMTP

Existen varios elementos que intervienen en el envio


y entrega de un correo

MTA: es un servidor de correo. Puede ser intermedio o


destino final. Existen muchos, Postfix, Qmail,
Sendmail y... tengo que decirlo... Exchange.
MUA: mail user agent. Es el cliente de correo utilizado
por el cliente. Evolution, Thunderbird... Outlook.
MDA: mail delivery agent. Es una aplicacin,
generalmente instalada junto al MTA, que se encarga
de entregar el correo en el buzn del usuario

20

Irontec Curso SMTP

Protocolo SMTP

Cuando un MTA no es el destinatario de un correo,


este se lo debe entregar a otro y as hasta llegar a
su destino.
Este comportamiento es conocido como Relay.
A la hora de configurar el Relay de nuestro servidor
hay que tener especial cuidado en no convertirnos
en un OpenRelay o terminaremos siendo fuente de
Spam.

21

Irontec Curso SMTP

Protocolo SMTP

Contenido del Mensage (RFC 822):

Est formado por cabeceras, una lnea en blanco y el


cuerpo.
Hay un conjunto de cabeceras predefinidas. Ejemplos:

From: Dice quien escribi el mensaje.

Sender: Dice quien envi realmente el mensaje.

Reply-To: Dice a quien se debe responder.

La sintaxis es: Nombre: valor


Si el valor debe ocupar varias lneas basta con empezar
con un espacio a partir de la segunda.
Las definidas por el usuario deben empezar con X-.

22

Irontec Curso SMTP

Protocolo SMTP
punisher:~$ telnet irontec.com 25
Trying 82.194.71.224...
Connected to irontec.com.
Escape character is '^]'.
220 ironmail.irontec.com ESMTP Postfix (Debian/GNU)
helo irontec.com
250 ironmail.irontec.com
mail from: iker@irontec.com
250 2.1.0 Ok
rcpt to: miguelangel@irontec.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Subject: Esto es una prueba
From: iker@irontec.com
To: elamo@irontec.com
Hola,
Este mensaje es una prueba.
.
250 2.0.0 Ok: queued as EE7E717D3E1
quit
221 2.0.0 Bye
Connection closed by foreign host.

23

Irontec Curso SMTP

Protocolo SMTP
Return-Path: <iker@irontec.com>
X-Original-To: miguelangel@irontec.com
Delivered-To: miguelangel@irontec.com
Received: from irontec.com (106.85-87-85.dynamic.clientes.euskaltel.es
[85.87.85.106]) by ironmail.irontec.com (Postfix) with SMTP id EE7E717D3E1
for <miguelangel@irontec.com>; Sun, 8 Mar 2009 13:33:24 +0100 (CET)
Subject: {Spam?} Esto es una prueba
From: iker@irontec.com
To: elamo@irontec.com
Message-Id: <20090308123330.EE7E717D3E1@ironmail.irontec.com>
Date: Sun, 8 Mar 2009 13:33:24 +0100 (CET)
X-MailScanner-ID: EE7E717D3E1.E1FC5
X-Irontec-MailScanner: Not scanned: please contact your Internet E-Mail
Service Provider for details
X-Irontec-MailScanner-SpamCheck: spam, SpamAssassin (no almacenado,
puntaje=4.103, requerido 4, BAYES_50 0.00, RDNS_DYNAMIC 0.10,
RELAYCOUNTRY_ES 0.00, SPF_FAIL 4.00, SPF_HELO_FAIL 0.00)
X-Irontec-MailScanner-SpamScore: ssss
X-Irontec-MailScanner-From: iker@irontec.com
X-Irontec-MailScanner-To: miguelangel@irontec.com
X-Spam-Status: Yes
X-Evolution-Source: imap://miguelangel@ironmail.irontec.com/
Mime-Version: 1.0

24

Irontec Curso SMTP

Protocolo SMTP

http://www.septeto.com/documentos/smtp.html

2xx todo funciona correctamente


3xx se acet el comando pero se esperaban mas datos
4xx error temporal, el cliente tendr que reintentarlo
5xx el comando se rechazo, no habr reintento

Los mensajes se suelen reintentar una media de 4


das. Por lo que si el servidor se cae, hay tiempo
suficiente para ponerlo en marcha y no perder
ningn mensaje.
Es un valor modificable en el servidor de correo

25

Irontec Curso SMTP

Postfix

Postfix

Incoming: El correo que entra de internet o viene de


forma local (pickup) se queda en incoming.
Active: Los mensajes que se estn intentando enviar en
este mismo instante
Deferred: Mensajes que no pueden enviar
Hold: Los mensajes que dejamos en Hold se quedan
ah hasta que alguien los saque
Corrupt: Mensajes que no se pueden leer o que estn
daados se mueven a esta cola

26

Irontec Curso SMTP

Postfix

Postfix

27

Irontec Curso SMTP

Spam

El Spam se ext extendiendo a otros medios

Dispositivos mviles
Blogs
Foros
Usenet
IRC

El Spam de correo electrnico continua en primer


lugar
A medida que las protecciones evolucionan, tambin
lo hace el Spam

28

Irontec Curso SMTP

Spam

29

Irontec Curso SMTP

Spam

Las medidas de proteccin contra el Spam se


pueden activar a dos niveles. En el propio MTA o en
una aplicacin externa que analice los mensajes
Generalmente en el MTA se aplican las medidas
rpidas y faciles, de forma que la gestin de correos
no se vuelva lenta
El trabajo duro se deja a una aplicacin externa

30

Irontec Curso SMTP

Spam

Algunas comprobaciones de Spam a nivel MTA son:

RBL (Real Time Block List). Las ms famosas son


spamhaus y spamcop. Hay que tener especial
cuidado con cuales elegimos
Helo checks. Se comprueba si los dominios existen o
no.
Rcpt to: Comprobamos si la direccin de destino existe.
Si esta comprobacin no se realiza seremos origen
de Spam.

31

Irontec Curso SMTP

Spam

La herramienta externa ms utilizada para detectar


Spam es SpamAssassin
El antivirus Clamav
Para unir estas herramientas con nuestro MTA
existen varias soluciones

Mailscanner
Amavis

32

Irontec Curso SMTP

Spam

Amavis

33

Irontec Curso SMTP

Spam

MailScanner

34

También podría gustarte