37
UNESP - São José do Rio Preto Tópicos em Sistemas de Computação Prof. Dr. Adriano Mauro Cansian 1 Correio Eletrônico E-mail & SMTP Tópicos em Sistemas de Computação – 2014 Prof. Dr. Adriano Mauro Cansian [email protected] Estagiário Docente: Vinícius Oliveira [email protected] Email… 2 “Os usuários possuem uma relação de amor e ódio com o email: eles amam usálo, e odeiam quando ele não funciona.” – Craig Hunt (C) 2014 Adriano Mauro Cansian

Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

  • Upload
    ledang

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 1

Correio Eletrônico

E-mail & SMTP

Tópicos em Sistemas de Computação – 2014 Prof. Dr. Adriano Mauro Cansian [email protected] Estagiário Docente: Vinícius Oliveira [email protected]

E-­‐mail…  

2

“Os  usuários  possuem  uma  relação  de  amor  e  ódio  com  o  e-­‐mail:  eles  amam  usá-­‐lo,  e  odeiam  quando  ele  não  funciona.”    

–  Craig  Hunt  

(C) 2014 Adriano Mauro Cansian

Page 2: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 2

Sistema  de  E-­‐mail  

•  Apesar das redes sociais... •  O Correio Eletrônico ainda é uma das aplicações mais

difundidas da Internet. •  Facilidade de uso, velocidade e amplo poder de troca de

informações. •  Muitas aplicações críticas usam e-mail.

•  Sistema muito fácil de usar. •  Permite enviar mensagens de texto puro, transferir

programas, fotos, áudio vídeos, ou qualquer outro arquivo, praticamente de forma instantânea.

•  “off-line” à não depende da outra ponta estar on-line.

3 (C) 2014 Adriano Mauro Cansian

Número  de  contas  e  usuários  de  e-­‐mail  

(C) 2014 Adriano Mauro Cansian 4

Email Statistics Report, 2009-2013 Executive Summary www.radicati.com

Page 3: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 3

Worldwide  Daily  Email  Traffic,  2012  –  2016  (*)  (em  bilhões  de  mensagens)  

(C) 2014 Adriano Mauro Cansian 5

(*) estimativas THE RADICATI GROUP, INC. http://www.radicati.com/wp/wp-content/uploads/2012/04/Email-Statistics-Report-2012-2016-Executive-Summary.pdf (17.11.2014)

QuanQdade  de  contas  corporaQvas  e  pessoais(*)  (em  milhões)  

(C) 2014 Adriano Mauro Cansian 6

(*) estimativas THE RADICATI GROUP, INC. http://www.radicati.com/wp/wp-content/uploads/2012/04/Email-Statistics-Report-2012-2016-Executive-Summary.pdf (17.11.2014)

Page 4: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 4

Mas,  nem  todo  mundo  domina...  

(C) 2014 Adriano Mauro Cansian 7

(C) 2014 Adriano Mauro Cansian 8

.!

.!

.!Received: from edutec.unesp.br (edutec.unesp.br [IPv6:2801:88:1000:ead::66])!

!by ceti.nead.unesp.br (Postfix) with ESMTP id 81204EE16D!!for <[email protected]>; Fri, 14 Nov 2014 16:30:01 -0200 (BRST)!

Date: Fri, 14 Nov 2014 16:30:01 -0200!To: [email protected]!

From: Root User <[email protected]>!Reply-To: [email protected]!Subject: Informe: Ambientes Virtuais de Aprendizagem!

Message-ID: [email protected].!.!.!

Page 5: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 5

Conceitos  e  fundamentos  

E-­‐mail  e  SMTP  

Componentes  do  Correio  eletrônico  

MUA: Mail User Agent MTA: Mail Transfer Agent MDA: Mail Delivery Agent MAA: Mail Access Agent 10 (C) 2014 Adriano Mauro Cansian

Page 6: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 6

Componentes  

•  Veremos  inicialmente  o  dois  principais  componentes  à  MUA  e  o  MTA.  

•  Depois  entenderemos  o  protocolo  SMTP.  •  Em  seguida  veremos  os  outros  dois  componentes  à  MDA  e  MAA.  

11 (C) 2014 Adriano Mauro Cansian

Componentes  do  Correio  eletrônico  

12 (C) 2014 Adriano Mauro Cansian

Page 7: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 7

Definições  dos  componentes  •  O sistema de e-mail é formado duas entidades principais à MUA e MTA MUA - Mail User Agent MUAs são quaisquer dos programas utilizados para ler, compor, responder e dispor de

mensagens eletrônicas. Exemplos: pine, mail, Mail, elm, Pegasus Mail, Eudora, etc... MTA - Mail Transport Agent (em alguns textos Mail Transfer Agent) MTAs são programas que se encarregam de entregar mensagens a vários usuários e

redirecionar mensagens entre computadores. Os programas MTAs mais conhecidos são o sendmail e o postfix. Exemplo: Postfix (http://www.postfix.org) e Sendmail (http://www.sendmail.org)

13 (C) 2014 Adriano Mauro Cansian

MUA  e  MTA  

14 (C) 2014 Adriano Mauro Cansian

Page 8: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 8

MUA  (1)  •  MUA que normalmente existe em todos os ambientes unix chama-se

mail.

–  Geralmente o mail é apenas para os iniciados devido à sua

complexidade.

•  Existem outros programas tais como mutt, pine e elm que tornam o

trabalho com o correio eletrônico extremamente simples para usuários

comuns.

•  Opções, tanto de domínio público como comerciais, são numerosas.

•  Interfaces gráficas com suporte a MIME (Multipurpose Internet Mail

Extensions) também são populares. à veremos mais adiante

15 (C) 2014 Adriano Mauro Cansian

MUA  (2)  

16 (C) 2014 Adriano Mauro Cansian

Exemplo de um MUA com interface gráfica no sistema Mac OS X

Page 9: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 9

MTA  (1)  •  O programa MTA é necessário à a entrega de correio

eletrônico em redes raramente é uma tarefa simples.

•  Como a tarefa de transportar mensagens frequentemente se estende além dos domínios da máquina local à aumenta a necessidade de um MTA separado de um MUA.

–  MTAs mais usados: •  No Unix: Postfix e Sendmail. •  No Windows: Windows SMTP server(*) e hMailServer(**)

(*) não instalado por Default no Windows 7 e Windows 8

(**) https://www.hmailserver.com/

17 (C) 2014 Adriano Mauro Cansian

MTA  (2)  •  O MTA implementa o protocolo de transporte de mensagens (SMTP).

–  Pode enviar mensagens de uma máquina para outra na mesma rede.

–  Pode também redirecionar mensagens da rede em que se encontra para outras redes.

–  Eventualmente redes de arquitetura radicalmente diferentes. –  Lembrar que não existem somente conexões de e-mail através da Internet!

–  O MTA também RECEBE as mensagens vindas do protocolo SMTP e eventualmente outros.

–  O MTA não é apenas o SMTP.

•  Existem muitas outras redes, com arquiteturas diferentes, além de diferentes camadas de aplicação, que necessitam se comunicar adequadamente.

18 (C) 2014 Adriano Mauro Cansian

Page 10: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 10

MTA  (3)  •  O MTA roteia a mensagem recebida do programa do usuário, com

base no endereço eletrônico do destino. –  Toma decisão do que fazer.

Para as mensagens em SAÍDA: •  O MTA recebe a mensagem vinda do programa do usuário (MUA); •  Interpreta o endereço eletrônico; •  Re-escreve o endereço das maneira apropriada para a entrega; e •  Roteia a mensagem através do método correto. Para as mensagens em ENTRADA: •  O MTA interpreta o endereço; •  Envia para o módulo de entrega ao usuário

–  (MDA à visto mais adiante);

•  Ou redireciona para outro endereço. 19 (C) 2014 Adriano Mauro Cansian

MTA  (4)  

•  Além do roteamento entre programas de usuário e programas de entrega à o MTA realiza mais duas funções:

–  Implementa o protocolo SMTP

•  Simple Mail Transfer Protocol •  Padrão para mensagens na Internet à RFC-821.

– Permite criação de “aliases”.

•  Sinônimos de endereços.

20 (C) 2014 Adriano Mauro Cansian

Page 11: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 11

MTA  (5)  

21 (C) 2014 Adriano Mauro Cansian

SMTP  [RFC  821]  •  Usa TCP para a transferência confiável de mensagens de

correio do cliente ao servidor (porta 25/TCP). •  Transferência direta

–  servidor remetente envia direto ao servidor receptor. •  Três fases da transferência (do SMTP / Não confunda com TCP!):

–  Handshaking (cumprimento). –  Transferência das mensagens. –  Encerramento.

•  Interação comando/resposta –  Comandos: texto ASCII –  Resposta: código e frase de status.

•  Mensagens precisam ser em ASCII de 7-bits. 22 (C) 2014 Adriano Mauro Cansian

Page 12: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 12

SMTP  na  Internet  (1)  •  Na Internet à a recepção de e-mail ocorre

na porta 25/TCP da máquina destino. •  Ou na 465/TCP ou 587/TCP se for ssl/autenticado.

–  (exercício: administração best practice SMTP)

– O processo daemon nesta porta deve implementar o protocolo SMTP.

•  Processo (daemon) aceita as mensagens que chegam e tenta encaminhá-las à caixa postal destino, reportando eventuais erros à máquina origem.

23 (C) 2014 Adriano Mauro Cansian

SMTP  na  Internet  (2)  transmissão  direta  pelo  servidor  

24 (C) 2014 Adriano Mauro Cansian

Page 13: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 13

SMTP  na  Internet  (3)  transmissão  via  SMTP  server  intermediário  ISP  

25 (C) 2014 Adriano Mauro Cansian

Operação  do  SMTP  (1)  

•  SMTP à todo baseado em texto. – Tendo estabelecido uma conexão à porta 25

do servidor, a máquina cliente aguarda uma resposta do servidor.

– O servidor envia uma linha texto indicando se está ou não preparado para receber email.

– Se o servidor aceita receber email, significa que o cliente SMTP aceita a recepção.

– Ocorre o “delivery”.

26 (C) 2014 Adriano Mauro Cansian

Page 14: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 14

Operação  do  SMTP  (2)  (diálogo  SMTP)  

27 (C) 2014 Adriano Mauro Cansian

Operação  do  SMTP  (3)  

28 (C) 2014 Adriano Mauro Cansian

Page 15: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 15

Exemplo  de  diálogo  e  interação  SMTP  

S: 220 doces.br C: HELO consumidor.br S: 250 Hello consumidor.br, pleased to meet you C: MAIL FROM: <[email protected]> S: 250 [email protected]... Sender ok C: RCPT TO: <[email protected]> S: 250 [email protected] ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Voce gosta de chocolate? C: Que tal sorvete? C: . S: 250 Message accepted for delivery C: QUIT S: 221 doces.br closing connection

29 (C) 2014 Adriano Mauro Cansian Observe a linha em branco terminando com um “ . ”

(C) 2014 Adriano Mauro Cansian 30 Fonte:  hfp://computernetworkingsimplified.com/applicaQon-­‐layer/overview-­‐email-­‐works/      (17.11.2014)  

Page 16: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 16

SMTP  Reply  codes  

31 (C) 2014 Adriano Mauro Cansian

Alguns  códigos  SMTP  agrupados  por  comando  

32 (C) 2014 Adriano Mauro Cansian

Page 17: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 17

SMTP  •  SMTP usa conexões persistentes. •  SMTP requer que a mensagem (cabeçalho e corpo)

sejam em ASCII de 7-bits à já mencionado. •  Portanto, algumas cadeias de caracteres não

são permitidas numa mensagem. –  Por exemplo: <CR/LF>.<CR/LF>!

•  Uma vez que é usado pelo servidor SMTP para reconhecer o final da mensagem.!

•  Assim, em alguns casos, a mensagem necessita ser codificada. –  Geralmente em base-64 ou “quoted printable”.

33 (C) 2014 Adriano Mauro Cansian

Exemplos  de  interação  

Page 18: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 18

Computador “B” em destino.dom

Computador “A” em origem.dom

Entre  computadores  sempre  on-­‐line  

Remetente

Editor de

Mensagem

Agente de

Transporte

Agente de

Distribuição Local

Caixa Postal

Destinatário

Notificador Visualizador

de Mensagem

SMTP

Agente de

Transporte

De: [email protected] Para: [email protected]

35 (C) 2014 Adriano Mauro Cansian

Computador “B”

ISP

ISP

Computador “A”

Dois  computadores  via  ISP  (1)  Remetente

Editor de

Mensagem

Agente de

Transporte

Agente de

Distribuição Local Caixa Postal

Destinatário Visualizador

de Mensagem

SMTP

Agente de

Transporte

De: [email protected] Para: [email protected]

Agente de

Transporte

SMTP

Caixa Postal . . . . .

POP ou IMAP

Agente de

Transporte

Agente de

Transporte

envio

recepção

36 (C) 2014 Adriano Mauro Cansian

Page 19: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 19

Dois  computadores  via  ISP  (2)  

(C) 2014 Adriano Mauro Cansian 37

Processo  completo  via  ISP  com  POP3  

(C) 2014 Adriano Mauro Cansian 38

Page 20: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 20

Email  Gateway  /  relay  

39 (C) 2014 Adriano Mauro Cansian

empresa.dom

dep1.empresa.dom

dep2.empresa.dom

Mail  Relay  ou  “bounce”  

Remetente “A” Editor

de Mensagem SMTP

Agente de

Transporte

Agente de

Distribuição Local

Remetente “B” Editor

de Mensagem

Agente Transporte

RELAY

Agente de

Distribuição Local

Caixa Postal

Caixa Postal . . . . . . . .

Caixa Postal

Caixa Postal . . . .

De: [email protected] Para: xxxxxxxxxxxxx

De: [email protected] Para: xxxxxxxxxxxxx

SMTP

40 (C) 2014 Adriano Mauro Cansian

Page 21: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 21

SPAM  e  relays  abertos  

Spammer

Editor de

Mensagem

Agente de

Transporte

Agente de

Transporte

De: [email protected] Para: xxxxxxxxxxxxxx

Agente de

Transporte

De: [email protected] Para: xxxxxxxxxxxxxx

. . . . . . . . . . . . . . .

relay1.dom

relay9.dom

De: [email protected] Para: xxxxxxxxxxxxxx

41 (C) 2014 Adriano Mauro Cansian

Entrega  final:  MDA  e  MUA  

MAA: Mail Access Agent

MDA: Mail Delivery Agent

42 (C) 2014 Adriano Mauro Cansian

Page 22: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 22

MDA  e  MAA  (1)  

•  Já mencionado: MTA e MUA:

•  Agora veremos os outros dois componentes do sistema de correio eletrônico:

•  MDA: Mail Delivery Agent •  MAA - Mail Access Agent:

43 (C) 2014 Adriano Mauro Cansian

MDA  e  MAA  (2)  •  Agora veremos os outros dois componentes do sistema de correio

eletrônico: •  MDA: Mail Delivery Agent

•  Entrega no mailbox •  Processamento de filtragem

•  Mais usado: Procmail •  MAA - Mail Access Agent: •  Acesso a servidores remotos para recuperação de mensagens (“recebimento”).

–  POP (Post Office Protocol) – porta 110 •  Transmite mensagens apenas da caixa postal do servidor para a do

cliente. –  IMAP (Internet Message Access Protocol) – porta 143

•  Sincroniza as caixas postais do servidor e do cliente.

44 (C) 2014 Adriano Mauro Cansian

Page 23: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 23

MDA:  Mail  Delivery  Agent  

•  Agente de Distribuição Local. –  Responsável por entregar e arquivar a mensagem

na caixa postal correta. •  Tem capacidade de filtrar mensagens.

–  Alguns tem capacidade de processamento de retorno (auto-responders).

•  Agentes mais conhecidos: –  Maildrop (default). –  Procmail. –  Binmail. –  Safecat.

45 (C) 2014 Adriano Mauro Cansian

MAA  -­‐  a  “entrega  final”  •  Os mecanismos apresentados até aqui

funcionam em máquinas capazes de enviar ou receber e-mail. –  Na maior parte dos casos, essa premissa é falsa.

•  Usuário tem o seu PC conectado a uma LAN. •  A LAN é que tem os servidores de email.

•  A transferência do email numa caixa postal para o PC do usuário é feita através dos protocolos –  POP3 (Post Office Protocol) ou –  IMAP (Internet Message Access Protocol).

46 (C) 2014 Adriano Mauro Cansian

Page 24: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 24

Entrega  final:  MDA  e  MUA  

47 (C) 2014 Adriano Mauro Cansian

Procmail ou outros

MAA:  Mail  Access  Agent  

•  SMTP  à  entrega  (armazena?)  no  servidor  do  receptor.  •  MAA:  Mail  Access  Agent  :  recupera  do  servidor.  

–  POP3:  Post  Office  Protocol  [RFC  1939]  •  Mecanismo  simples  cliente–servidor  de  transferência.  

–  IMAP:  Internet  Message  Access  Protocol  [RFC  1730]  •  Mais  comandos  e  mais  opções  (mais  complexo).  •  Acesso  a  mensagens  armazenadas  no  servidor.  

servidor de correio do remetente

SMTP SMTP POP3 ou IMAP

servidor de correio do receptor

agente de usuário

agente de usuário

48 (C) 2014 Adriano Mauro Cansian

Page 25: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 25

POP3  

49 (C) 2014 Adriano Mauro Cansian

Até  aqui  vimos  todos    os  componentes  do  Correio  eletrônico  

50 (C) 2014 Adriano Mauro Cansian

Procmail ou outros

Page 26: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 26

Anatomia  de  um  E-­‐mail  

Cabeçalho,  envelope,  body  MIME  

Formato  de  uma  mensagem  de  e-­‐mail  

RFC  822:  padrão  para  formato  de  mensagem  de  texto:  

•  Linhas  de  cabeçalho,  p.ex.,  –  To:  (obQdo  do  ENVELOPE)  –  From:  –  Subject:  

•  São  diferentes  dos  comandos  de  smtp!  

•  Corpo  –  a  “mensagem”,  somente  de  

caracteres  ASCII  .  –  Termina  com  um  “.”  ponto  

cabeçalho

corpo

linha em branco

52 (C) 2014 Adriano Mauro Cansian

Page 27: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 27

Envelope  e  header  (2)  

(C) 2014 Adriano Mauro Cansian 53

Envelope  e  header  (1)  

54 (C) 2014 Adriano Mauro Cansian

Page 28: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 28

Campos  de  header  (1)  

55 (C) 2014 Adriano Mauro Cansian

Campos  de  header  (2)  

56 (C) 2014 Adriano Mauro Cansian

Page 29: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 29

Exem

plo  de

 header  E

-­‐mail  

57

Delivered-To: [email protected]!Received: by 10.70.38.201 with SMTP id i9csp238353pdk;! Mon, 14 Oct 2014 14:46:10 -0700 (PDT)!X-Received: by 10.58.207.15 with SMTP id ls15mr3600453vec.17.1381787170131;! Mon, 14 Oct 2014 14:46:10 -0700 (PDT)!Return-Path: [email protected]!Received: by angel.acmesecurity.org (Postfix)!

!id 217BCDEBAC; Mon, 14 Oct 2014 18:46:07 -0300 (BRT)!Delivered-To: [email protected]!Received: by angel.acmesecurity.org (Postfix, from userid 65534)!

!id 1FC24DEBAF; Mon, 14 Oct 2014 18:46:07 -0300 (BRT)!X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on!

!angel.acmesecurity.org!X-Spam-Level: !X-Spam-Status: No, score=0.9 required=4.0 tests=FREEMAIL_FROM,HTML_MESSAGE,!

!RCVD_IN_DNSWL_LOW,SUBJ_ALL_CAPS,T_FREEMAIL_DOC_PDF autolearn=no version=3.3.2!Received: from mail-qe0-f49.google.com (mail-qe0-f49.google.com [209.85.128.49])!

!(using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits))!!(No client certificate requested)!!by angel.acmesecurity.org (Postfix) with ESMTPS id CD606DEBAC!!for <[email protected]>; Mon, 14 Oct 2014 18:46:00 -0300 (BRT)!

Received: by mail-qe0-f49.google.com with SMTP id a11so639104qen.8! for <[email protected]>; Mon, 14 Oct 2014 14:45:58 -0700 (PDT)!Mon, 14 Oct 2014 14:45:58 -0700 (PDT)!Received: by 10.49.35.137 with HTTP; Mon, 14 Oct 2014 14:45:57 -0700 (PDT)!Date: Mon, 14 Oct 2014 18:45:57 -0300!Message-ID: <CAEEv5YB=fTMxeUaj=Ht4PrfEFvfT5hVotipuWF0qXJdRWjsr5g@mail.gmail.com>!Subject: NADA COMO SER FAMOSO ;-)!From: Otavio Cunha <[email protected]>!To: Adriano Cansian <[email protected]>!Content-Type: multipart/mixed; boundary=001a11c2c0d4b6de6504e8ba64b6!!

(C) 2014 Adriano Mauro Cansian

Formato  MIME  

Ou:  enviando  mensagens  mulQmídia  em  algo  

que  foi  feito  pra  enviar  texto  puro.    

Page 30: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 30

MIME    (MulApurpose  Internet  Mail  Extension)    

Além de texto, pode ser necessário enviar e receber outros tipos de informação, tais como: –  Mensagens em linguagens com caracteres

especiais. –  Mensagens em outros alfabetos. –  Mensagens em linguagens pictográficas (ex.

chinês). – Mensagens com outras mídias.

•  Propósito do MIME é acrescentar regras de codificação para outros tipos de informação que não sejam texto puro.

59 (C) 2014 Adriano Mauro Cansian

Evolução  •  RFC-821: Protocolo SMTP (1982) •  RFC-822: Standard for the Format

ofARPA Internet Text Messages (1982) •  RFC-2045 e RFC-2046- Multipurpose Internet

Mail Extensions (MIME) Part-I e Part-II (1996)

•  RFC-2822: Internet Message Format (2001)

– Revisa e atualiza o RFC-822 •  (torna este obsoleto).

(C) 2014 Adriano Mauro Cansian 60

Page 31: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 31

Formato  de  uma  mensagem  MIME  •  MIME: multimedia mail extension: RFC 2045 e 2046 •  Linhas adicionais no cabeçalho da mensagem. declaram tipo

do conteúdo MIME.

From: [email protected] To: [email protected] Subject: Imagem de uma bela torta MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data

tipo, subtipo de dados multimídia,

declaração parâmetros

método usado para codificar dados

versão MIME

Dados codificados

61 (C) 2014 Adriano Mauro Cansian

Tipos  MIME    Fomato:  Content-Type: tipo/subtipo; parâmetros  Text  •  sub-­‐Qpos:    plain, html,

charset=“iso-8859-1”, ascii

Image  •  sub-­‐Qpos  exemplos  :  jpeg,

gif, tiff.

Video  •  sub-­‐Qpos  exemplos  :  mpeg,

quicktime, MP4  

Audio  •  Sub-­‐Qpos  exemplos  :  basic  

(8-­‐bit  codificado  mu-­‐law),  32kadpcm (codificação  32  kbps),  MP3  

 

ApplicaQon  •  Outros  dados  que  precisam  

ser  processados  por  um  leitor  para  serem  “visualizados”.  

•  subQpos  exemplos  :  msword, octet-stream

62 (C) 2014 Adriano Mauro Cansian

Page 32: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 32

Delimitador  MIME  From: [email protected] To: [email protected] Subject: Imagem de uma bela torta MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=98766789 --98766789 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain caro Bernardo, Anexa a imagem de uma torta deliciosa. --98766789 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data --98766789--

delimitador

63 (C) 2014 Adriano Mauro Cansian

MIME  

64 (C) 2014 Adriano Mauro Cansian

Page 33: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 33

Tipos  e  subQpos  

65 (C) 2014 Adriano Mauro Cansian

Aliases  

Page 34: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 34

Aliases  (1)  •  “Aliases” são sinônimos de endereços de e-mail

–  à muito importantes para o servidor MX.

•  São usados para: –  Criar nomes “falsos” ou apelidos para contas de usuários

verdadeiros. –  Redirecionar (forward) e-mail para outros hosts ou endereços. –  Criar listas de distribuição de mensagens.

•  Os aliases são definidos no arquivo –  /etc/aliases (ou equivalente no seu sistema).

•  Em alguns sistemas este arquivo de aliases pode ser –  /usr/lib/aliases

67 (C) 2014 Adriano Mauro Cansian

Aliases  (2)  •  Sintaxe de configuração /etc/aliases

nome_do_alias: destinatario [, destinatario, ...]! •  Nome_do_alias à é o nome para onde o e-mail é endereçado (o

endereço para o qual ele chega). •  recipient à é o nome verdadeiro para onde o e-mail deve ser

entregue. •  O recipient pode ser à um username válido, o nome de outro alias,

ou um endereço de e-mail completo, contendo username e hostname. –  Vários recipients podem ser associados a um único alias

à forma-se uma lista de distribuição.

68 (C) 2014 Adriano Mauro Cansian

Page 35: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 35

Exemplo  /etc/aliases  

69 (C) 2014 Adriano Mauro Cansian

.forward  •  Em adição ao redirecionamento fornecido pelo /etc/

aliases o sistema de e-mail permite definir endereços de redirecionamento pessoal (forward).

•  Usuário à pode definir o redirecionamento desejado em seu arquivo ~/.forward (no seu home-dir pessoal). –  O MDA verifica este arquivo após verificar os aliases do

sistema, e antes de realizar a entrega final para o usuário. •  Se o .forward existe para o usuário, ele realiza a

entrega conforme a configuração deste arquivo. •  A sintaxe é a mesma usada no /etc/aliases.

(C) 2014 Adriano Mauro Cansian 70

Page 36: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 36

Esquema  geral  do  e-­‐mail  

(C) 2014 Adriano Mauro Cansian 71

Resumo  Neste tópico vimos: 1.  Todos os fundamentos importantes sobre e-mail.

–  Todos os componentes: MUA, MTA, SMTP, MDA, MAA, …

2.  Funcionamento detalhado do e-mail e do SMTP. –  Interações para envio de uma mensagem, headers e

envelope. 3.  Anatomia de um email. 4.  Formato MIME. 5.  Aliases e forward. (C) 2014 Adriano Mauro Cansian 72

Page 37: Correio Eletrônico - ACME! Cybersecurity Researchadriano/aulas/topicos/2014/6-topic... · Subject: Informe: Ambientes Virtuais de Aprendizagem! ... • Simple Mail Transfer Protocol

UNESP - São José do Rio Preto Tópicos em Sistemas de Computação

Prof. Dr. Adriano Mauro Cansian 37

Orientações  para  estudo  Créditos - este material foi produzido a partir do livro: Hunt, Craig – “TCP/IP Network Administration” – Edit. O’Reilly & Associates, Inc. - 1.a Edição - Capítulo 10, pag. 213. Figuras e textos de outros autores utilizados com finalidade didática.

(C) 2014 Adriano Mauro Cansian 73