Correo Electronico y DNS Flashcards
Que normativa rige el correo electronico
RFC822 –> solo texto
MIME –> para adjuntos, con fichero de distintos tipos
Estructura de un mensaje RFC822:
From:
Date:
To:
Subject:
Message-id:
In-Reply-to:
Received: Para auditoria, traza MTA
Return-Path: auditoria:
CC:
Rreply-to:
+< CRLF>
Body(texto)
Qué agentes tiene y para que sirven en el envio de un correo electronico
MUA: Mail User Agent. Son nuestros clientes de correo
MTA: Mail Transfer Agent. Serviodor de correo
MSA: Mail Submission Agent. Mini MTA, no tiene todas la funciones de un MTA. Podemos tener uno por departamento para descargar al MTA. Obligatorio autenticación.
MDA: Mail Delivery Agent. Lo guarda en disco Mail Spool.
Mail Spool: Almacen externo de correos-e
MAA: Mail Access Agent. Consulta el correo. IMAP/POP3
Estructura de la extension MIME
Sirve para adjuntar datos ‘no de texto’ a los correos electronicos
MIME-Versión: 1.0
Content-type: multipart/mixed; boundary=”frontera”
This is a multi-part message in MIME format.
–frontera
Content-type: text/plain
Este es el cuerpo del mensaje
–frontera
Content-type: application/octet-stream
Content-transfer-encoding: base64
PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+RXN0ZSBlcyBlbCBjdWVy
cG8gZGVsIG1lbnNhamU8L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cic=\
–frontera–
Flujo de funcionamiento de correo e
———-Nuestra empresa ——–
MUA (Outlook) — msg (SMTP) + IP/Puerto –>MTA (MS Exchange) –>
NOTA: necesitamos conocer IP/Puerto donde mandar nuestro mensaje dentro de nuestra empresa (Servidor de correo), pero no sabemos donde ‘enviarlo’, usamos servidores DNS
–Nuestra empresa –
– Internet—-
–> ?????????????????????? —>
–Internet —–
—–Empresa destino
–> MTA(ElQueSea) –> MDA –> Mail Spool <—> MAA <—> MUA (ElQueSea)
—–Empresa destino
Tabla de un servidor DNS
Puerto 53 TCP/UDP.
Cuando consultamos por los servicios del dominio nos encontramos la tabla con lo que ofrece. Ej.: ibm.com nos mortrará su web en A / AAAA su servidor de correo en MX etc.
Entradas en la tabla
A: IP v4
AAAA: IPv6
MX: Servidores de correo electronico
SRV: Para publicar servicios. ej.: voip
SOA: Información de DNS y dominiio. Caracter informativo
TXT: para protocolo spf. publicar direcciones ip de correo y la clave publica RSA de la entidad, para que los receptores de correo puedan validar la firma.
¿Qué son los ficheros .ost / .pst?
Son ficheros de Outlook(MUA) donde almacenan los correos en local que ya se han descargado del MAA
Cómo funciona DNS
Si ponemos un ejemplo para entenderlo. Queremos ir a www.ibm.com pero nosotros no conocemos la ip de ibm solo su nombre:
1.- Mandamos la peticion a nuestro servidor DNS local, que no sabe resolverla.
2.- Vamos a los servidores DNS raices(Root Server), que están publicados, que no sabe la ip de la dirección pero ‘sabe quien la sabe’ y nos redirige al servidor que gestiona los .com (en este caso, .net, .org lo que sea) llamados Top-Level Domain.
3.- Vamos al Top-Level Domain (TLD) que resuelva los dominios .com. En nuestro caso nos redirige a los servidores de ibm, pero sin saber la IP concreta del servicio.
4.- El servidor del dominio (empresa) , llamado DNS autoritativo, mira a a ver en su tabla DNS que servicio queremos. En este caso queremos ir a la web nos devolverá A/AAAA. Si fuese un correco electronico mirariamos MX. etc.
Protocolo POP3
Protocolo orientado a descarga. No deja los correos en el servidor (por defecto)
Puerto: 110 // 995 con seguridad (SSL/TLS)
- USER: Autenticacion
- PASS: Autenticacion
- LIST: Lista mensajes solo con un numero y un tamaño
- RETR nºmsg: Devuelve el mensje completo que le pidas por numero
- DELE: NO borra, marca para borrado. Con RSET se puede desmarcar y así podríamos mantenerlos en el serviodor)
- STAT: Devuelve el número total de mensajes y la suma de sus tamaños
- QUIT: nos vamos y lo que esté marcado para borrar, se borra
Ejemplo:
S: <wait for connection on TCP port 110>
C: <open>
S: +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
C: APOP mrose c4c9334bac560ecc979e58001b3e22fb
S: +OK mrose's maildrop has 2 messages (320 octets)
C: STAT
S: +OK 2 320
C: LIST
S: +OK 2 messages (320 octets)
S: 1 120
S: 2 200
S: .
C: RETR 1
S: +OK 120 octets
S: <the POP3 server sends message 1>
S: .
C: DELE 1
S: +OK message 1 deleted
C: RETR 2
S: +OK 200 octets
S: <the POP3 server sends message 2>
S: .
C: DELE 2
S: +OK message 2 deleted
C: QUIT
S: +OK dewey POP3 server signing off (maildrop empty)
C: <close>
S: <wait></wait></close></open>
Como se realiza la comunicación segura con un protocolo orientado a texto como ocurre con los correos electronicos
POP3/ SMTP / IMAP/ FTP / LDAP / HTTP – Nivel de aplicación
SSL /TLS –> Canal seguro (cifrado simetrico - garantiza confidencialidad)
TCP
IP
Ethernet
Protocolo IMAP
Protocolo a moverte por carpetas. Permite no descargar correos completos, podemos descargar las cabeceras y luego cuando entremos en el correo descargarlo.
Puerto: 143 / 993 con seguridad SSL/TLS
- LOGIN: Autenticación
- LIST: Para listar carpetas
- STATUS:
- SELECT: entramos en carpetas (similar a cd de linux)
- FETCH: Se pueden recuperar ciertas partes del mensaje. pe. el asunto
- SEARCH: Realizar búsquedas por distintos campos
- STORE: Se pueden especificar distintos tipos de flags. pe. marca para borrar
- SPUNGE: se borran los que esten marcados para borrar.
Ejemplo dialogo:
C: <open>
S: * OK IMAP4rev1 Service Ready
C: a001 login mrc secret
S: a001 OK LOGIN completed
C: a002 select inbox
S: * 18 EXISTS
S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S: * 2 RECENT
S: * OK [UNSEEN 17] Message 17 is the first unseen message
S: * OK [UIDVALIDITY 3857529045] UIDs valid
S: a002 OK [READ-WRITE] SELECT completed
C: a003 fetch 12 full
S: * 12 FETCH (FLAGS (\Seen) INTERNALDATE "17-Jul-1996 02:44:25 -0700"
RFC822.SIZE 4286 ENVELOPE ("Wed, 17 Jul 1996 02:23:25 -0700 (PDT)"
"IMAP4rev1 WG mtg summary and minutes"
(("Terry Gray" NIL "gray" "cac.washington.edu"))
(("Terry Gray" NIL "gray" "cac.washington.edu"))
(("Terry Gray" NIL "gray" "cac.washington.edu"))
((NIL NIL "imap" "cac.washington.edu"))
((NIL NIL "minutes" "CNRI.Reston.VA.US")
("John Klensin" NIL "KLENSIN" "MIT.EDU")) NIL NIL
"<B27397-0100000@cac.washington.edu>")
BODY ("TEXT" "PLAIN" ("CHARSET" "US-ASCII") NIL NIL "7BIT" 3028
92))
S: a003 OK FETCH completed
C: a004 fetch 12 body[header]
S: * 12 FETCH (BODY[HEADER] {342}
S: Date: Wed, 17 Jul 1996 02:23:25 -0700 (PDT)
S: From: Terry Gray <gray@cac.washington.edu>
S: Subject: IMAP4rev1 WG mtg summary and minutes
S: To: imap@cac.washington.edu
S: Cc: minutes@CNRI.Reston.VA.US, John Klensin <KLENSIN@MIT.EDU>
S: Message-Id: <B27397-0100000@cac.washington.edu>
S: MIME-Version: 1.0
S: Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
S:
S: )
S: a004 OK FETCH completed
C a005 store 12 +flags \deleted
S: * 12 FETCH (FLAGS (\Seen \Deleted))
S: a005 OK +FLAGS completed
C: a006 logout
S: * BYE IMAP4rev1 server terminating connection
S: a006 OK LOGOUT completed</open>
Protocolo SMTP (ESMTP)
Protocolo para envio de correos
Puerto: 25 / 465, 587 y 2525 con seguridad.
NOTA: Puerto 25 se esta quedando para intercambio de correos entre servidores SMTP Relay
Puerto 465 iterrcambio implicito, automaticamente vamos sobre SSL/TLS
Puertos 587/2525 explicito, empezamos la comunicación sin seguridad y cambiamos a modo seguro
- HELO: para establecer conexión (EHLO para preguntar por canal seguro)
- MAIL FROM: Emisor
- RCPT TO: Destinatarios
- DATA:
from:
to:
cc/bcc:
date:
subject:
….. - QUIT:
- EHLO: Establece la conexión
- STARTTLS: Cambiamos de modo NO seguro a modo SI seguro
- AUTH PLAIN: Autenticación
Ejemplo SMTP:
S: 220 smtp.example.com ESMTP Postfix
C: HELO relay.example.org
S: 250 Hello relay.example.org, I am glad to meet you
C: MAIL FROM:bob@example.org
S: 250 Ok
C: RCPT TO:alice@example.com
S: 250 Ok
C: RCPT TO:theboss@example.com
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: From: "Bob Example" <bob@example.org>
C: To: "Alice Example" <alice@example.com>
C: Cc: theboss@example.com
C: Date: Tue, 15 Jan 2008 16:02:43 -0500
C: Subject: Test message
C:
C: Hello Alice.
C: This is a test message with 5 header fields and 4 lines in the message body.
C: Your friend,
C: Bob
C: .
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye
{The server closes the connection}</LF></CR></LF></CR>
Ejemplo ESMTP:
S: 220 smtp2.example.com ESMTP Postfix
C: EHLO bob.example.org
S: 250-smtp2.example.com Hello bob.example.org [192.0.2.201]
S: 250-SIZE 14680064
S: 250-PIPELINING
S: 250 HELP
Como se realiza una comunicación segura explicita
En una comunicación explicita, empezamos en modo no seguro y cuando validamos que el servidor es capaz de comunicarse en modo seguro cambiamos.
S: <waits for connection on TCP port 25>
C: <opens>
S: 220 mail.example.org ESMTP service ready
C: EHLO client.example.org ****Mandamos el hello 'seguro'
S: 250-mail.example.org offers a warm hug of welcome
S: 250 STARTTLS ***El server nos contesta que es capaz de funcionar con TLS
C: STARTTLS ***Cliente se pone en modo seguro
S: 220 Go ahead
C: <starts>
C & S: <negotiate>
C & S: <check>
C: EHLO client.example.org[4]</check></negotiate></starts></opens>
Qué clientes de correo conoces
IBM Lotus Notes
Microsoft Outlook/Express/Windows mail
Mozilla Thunderbird
EM Client
Que servidores de correo conoces
IBM Lotus Domino
Microsoft Exchange
Zimbra
Exim
Postfix
SendMail
Qmail
¿En que consiste la tecnica spf? (Sender Politicy Sender)
En publicar en tus tablas de DNS las ips desde donde mandarías tus correos, de tal manera que un destinatario pueda ir a tu servidor DNS y consultar el registro TXT con tus ips. Si la ip con la que te llega un correo no corresponde a una de las publicadas en el servidor del dominio, entonces se está suplantando la identidad.