260 likes | 340 Views
Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores. Redes de Computadores III. Protocolos de E-Mail SMTP ( Simple Mail Transport Protocol ) POP 3 (Post Office Protocol versão 3) IMAP (Internet Message Access Protocol)
E N D
Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Redes de Computadores III Protocolos de E-Mail SMTP (Simple Mail Transport Protocol) POP 3 (Post Office Protocol versão 3) IMAP (Internet Message Access Protocol) Professor Eduardo Maroñas Monks 2011
SUMÁRIO • Histórico • Funcionalidades • Protocolos • Aplicações • Segurança • Referências Bibliográficas Prof. Eduardo M. Monks - Redes de Computadores III 2
Laboratório da empresa BBN com os dois computadores onde foi trocado o primeiro e-mail em rede Histórico • Nos anos 60, em sistemas de timesharing, havia o envio de e-mail para usuários na mesma máquina • Primeira mensagem de e-mail enviada em rede (ARPANET): 1971 • Ray Tomlinson foi o primeiro a enviar e-mail e a utilizar o símbolo de @ • Protocolo SMTP • RFC 821 (1982) • Evolução dos protocolos anteriores para envio de mensagens eletrônicas • Projetado para transferir mensagens de forma confiável e eficiente. • Protocolo POP • RFC 1081 POP3 (1988) • Criado para facilitar hosts receberem e-mails sem necessitar de conexão permanente com a rede • A versão 3 do protocolo é a mais utilizada Prof. Eduardo M. Monks - Redes de Computadores III 3
MIME Histórico • Protocolo IMAP • RFC 3501 IMAP4 (2003) • Protocolo similar ao POP • O objetivo é manter os e-mails no servidor, ao contrário do POP que pressupõe o donwload das mensagens para o host • Padrão MIME (Multipurpose Internet Mail Extensions) • Definido em 1996 na RFC 2045 • A mensagem de e-mail, originalmente, era limitada ao código ASCII com 128 caracteres (sem acentos) • Define formas de envio por e-mail de arquivos binários, codificações de idiomas, múltiplas partes no corpo da mensagem Caracteres disponíveis na tabela ASCII 7-bit Prof. Eduardo M. Monks - Redes de Computadores III 4
Componentes • User Agent (UA): cliente de e-mail para o usuário final • Message Transfer Agent (MTA): responsável pela comunicação com os hosts remotos e a transmissão/recepção de e-mail (cliente e servidor) • Mail Exchanger (MX): host designado para gerenciar os e-mails em um domínio (DNS) Prof. Eduardo M. Monks - Redes de Computadores III 5
Componentes • User Agent (UA): cliente de e-mail para o usuário final • “leitor de correio” • Composição, edição, leitura de mensagens de correio • Ex.: Eudora, Outlook, Pine, Mozilla Thunderbird • Mensagens de entrada e de saída são armazenadas no servidor Prof. Eduardo M. Monks - Redes de Computadores III 6
Componentes • Message Transfer Agent (MTA): responsável pela comunicação com os hosts remotos e a transmissão/recepção de e-mail (cliente e servidor) • Caixa postal contém mensagens que chegaram (ainda não lidas) para o usuário • Fila de mensagens contém as mensagens de correio a serem enviadas • Protocolo SMTP permite aos servidores de correio trocarem mensagens entre si • Cliente: servidor de correio que envia • “Servidor”: servidor de correio que recebe • Comparação entre servidores de e-mail (Wikipedia) Prof. Eduardo M. Monks - Redes de Computadores III 7
Componentes • Mail Exchanger (MX): host designado para gerenciar os e-mails em um domínio (DNS) • Baseado no nome do domínio, o MTA busca o endereço do host responsável por receber e-mails • Neste caso, haverá duas buscas no DNS, uma para saber o MX do domínio e outra para saber o IP do host • Após isto, o servidor responsável pelo envio de e-mail transfere a mensagem para o servidor destino • Exemplo: Ferramenta nslookup Prof. Eduardo M. Monks - Redes de Computadores III 8
Funcionalidades • SMTP • Usa TCP para transferência confiável de mensagens de correio do cliente ao servidor, porta 25, 465 (modo seguro) • Transferência direta: servidor que envia para o servidor que recebe • Três fases de transferência • Handshaking (apresentação) • Transferência de mensagens • Fechamento • Interação comando/resposta • Comandos: texto ASCII • Resposta: código de status e frase • Mensagens devem ser formatadas em código ASCII de 7 bits Prof. Eduardo M. Monks - Redes de Computadores III 9
Funcionalidades • 1) Alice usa o agente de usuário (UA) para compor a mensagem e “para” bob@someschool.edu • 2) O agente de usuário dela envia a mensagem para o seu servidor de correio; a mensagem é colocada na fila de mensagens. • 3) O lado cliente do SMTP abre uma conexão TCP com o servidor de correio do Bob. • 4) O cliente SMTP envia a mensagem de Alice pela conexão TCP. • 5) O servidor de correio de Bob coloca a mensagem na caixa de correio de Bob. • 6) Bob invoca seu agente de usuário para ler a mensagem. Prof. Eduardo M. Monks - Redes de Computadores III 10
S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection Protocolo • Mensagens do protocolo SMTP Prof. Eduardo M. Monks - Redes de Computadores III 11
Protocolo • Mensagens do protocolo SMTP SMTP: protocolo para trocar mensagens de e-mail RFC 822: padrão para mensagens do tipo texto: • linhas de cabeçalho, ex.: • To: • From: • Subject: diferente dos comandos HTTP • corpo • a “mensagem”, ASCII somente com caracteres header linha em branco body Prof. Eduardo M. Monks - Redes de Computadores III 12
Protocolo • Formato das mensagens: RFC 822 • A mensagem possui envelope e conteúdo • O envelope contém as informações necessárias para a transmissão e entrega da mensagem • O conteúdo é definido na RFC 822 • A mensagem é uma sequência de linhas de texto • No cabeçalho são linhas que obedecem um formato pré-determinado (palavra-chave: argumentos) • No corpo da mensagem, são linhas de texto sem nenhum padrão definido Prof. Eduardo M. Monks - Redes de Computadores III 13
From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data Protocolo • MIME (Multipurpose Internet Mail Extensions) • Padrão para possibilitar o envio de anexos binários, internacionalização de texto nas mensagens • RFC 2045, 2056 • Linhas adicionais no cabeçalho declaram o tipo de conteúdo MIME Versão da MIME Método usado para codificar dados Dados multimídia tipo, subtipo, declaração de parâmetro Dados codificados Prof. Eduardo M. Monks - Redes de Computadores III 14
Protocolo • POP3 e IMAP • SMTP: entrega e armazena no servidor do destino • Protocolo de acesso: recupera mensagens do servidor • POP: Post Office Protocol [RFC 1939] • Autorização (agente <-->servidor) e download • TCP, porta 110, 995 (modo seguro) • IMAP: Internet Mail Access Protocol [RFC 1730] • Mais recursos (mais complexo) • Manipulação de mensagens armazenadas no servidor • TCP, porta 143, 993 (modo seguro) • Webmail: interface web para acesso ao e-mail. Exemplos: Gmail, Hotmail, Yahoo! Mail etc. Prof. Eduardo M. Monks - Redes de Computadores III 15
Protocolo • POP3 S: +OK POP3 server ready C: user alice S: +OK C: pass hungry S: +OK user successfully logged on • Sessão Fase de autorização • comandos do cliente: user: declara nome do usuário pass: password respostas do servidor +OK -ERR Fase de transação,cliente: list: lista mensagens e tamanhos retr: recupera mensagem pelo número dele: apaga quit C: list S: 1 498 S: 2 912 S: . C: retr 1 S: <message 1 contents> S: . C: dele 1 C: retr 2 S: <message 1 contents> S: . C: dele 2 C: quit S: +OK POP3 server signing off Prof. Eduardo M. Monks - Redes de Computadores III 16
Protocolo • IMAP • Sessão Prof. Eduardo M. Monks - Redes de Computadores III 17
Protocolo • POP3 vs IMAP • Mais sobre POP3 • O exemplo anterior usa o modo “download-and-delete” • Bob não pode reler o e-mail se ele trocar o cliente • “download-and-keep”: cópias das mensagens em clientes diferentes • POP3 é stateless através das sessões • IMAP • Mantém todas as mensagens em um lugar: o servidor • Permite que o usuário organize as mensagens em pastas • IMAP mantém o estado do usuário através das sessões: • Nomes das pastas e mapeamentos entre os IDs da mensagem e o nome da pasta Prof. Eduardo M. Monks - Redes de Computadores III 18
Funcionalidades • Resumo • Servidor SMTP – é um serviço que aceita mensagens smtp de clientes e servidores, locais ou remotos, e repassa para o servidor smtp de destino • Servidor POP – é um serviço que possibilita recuperar (normalmente, fazer o download e apagar do servidor) aos e-mails contidos na caixa postal do usuário • Servidor IMAP – é um serviço que mantêm os e-mails no servidor organizado em pastas. O cliente de e-mail sincroniza os e-mails locais com os remotos • MIME – uma padrão de codificação usado para codificar anexos de formatos diferentes de texto e texto. O protocolo SMTP requer que toda a transmissão seja no formato texto (codificação ASCII) Prof. Eduardo M. Monks - Redes de Computadores III 19
Protocolo • Formato das mensagens • SMTP • Envio de e-mail de lobo@alcateia.com.br para emmonks@alcateia.com.br Prof. Eduardo M. Monks - Redes de Computadores III 20
Protocolo • Formato das mensagens • POP3 • Sessão para download e remoção de uma mensagem no servidor Prof. Eduardo M. Monks - Redes de Computadores III 21
Protocolo • Formato das mensagens • IMAP • Sessão para sincronização da pasta INBOX Prof. Eduardo M. Monks - Redes de Computadores III 22
Fonte: http://www.campaignmonitor.com/stats/email-clients/ Aplicações • Clientes • Existem diversos clientes de e-mail, com as mais diversas funcionalidades • Modo gráfico e texto • A forma mais comum de acesso do usuário ao serviço de e-mail é por meio de webmail (interface web) • Normalmente, os clientes de e-mail possuem implementações para os protocolos SMTP, POP3, IMAP e os modos seguros correspondentes • Os clientes mais comuns de acesso ao e-mail são: • Microsoft Outlook • Mozilla Thunderbird • Eudora • Pegasus Mail Prof. Eduardo M. Monks - Redes de Computadores III 23
Fonte: http://www.mailradar.com/mailstat/ Aplicações • Servidores • Existem servidores que implementam apenas o protocolo SMTP, outros somente POP3 e IMAP e alguns poucos todos os protocolos • Os servidores de SMTP possuem recursos para adicionar filtragem de e-mail, autenticação, modo seguro com SSL e outras funcionalidades relacionadas ao recebimento de e-mail • Os servidores POP3 e IMAP, possuem recursos de segurança, limite de quotas em disco e configurações relacionadas ao formato da caixa postal do usuário • Formatos de caixas postais no Unix: mbox ou maildir • Os servidores de código-fonte aberto mais comuns são: • Sendmail • Postfix • Exim • Os servidores comerciais mais comuns são: • Microsoft Exchange • Lotus Notes Prof. Eduardo M. Monks - Redes de Computadores III 24
Fonte: http://www.cert.br/stats/spam/ Segurança • Ataques mais comuns ao SMTP : • Negação de serviço (DOS) • Falsificação de e-mails (origem forjada) • Mensagens não solicitadas: SPAM, vírus • Mais de 98% dos e-mails são spams (Fonte: http://spamwars.com/stats.html) • Ataques mais comuns ao POP3/IMAP: • Tentativa de descoberta de senha por força bruta • Captura de senhas • Negação de serviço (DOS) • Soluções • Utilizar mecanismos de filtragem de e-mail • Utilizar SSL para envio e recuperação de mensagens • Firewall e proxies de e-mail Prof. Eduardo M. Monks - Redes de Computadores III 25
Referências Bibliográficas • DENT,D. Kyle. Postfix- The Definitive Guide. O´Reilly, 2003. • MIME • http://www.networkworld.com/news/2011/020111-mime-internet-email.html?page=1 • IMAP - http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol • POP3 - http://en.wikipedia.org/wiki/Post_Office_Protocol • SMTP: • http://tools.ietf.org/html/rfc821 • http://tools.ietf.org/html/rfc5321 • The History of Electronic Mail - http://www.multicians.org/thvv/mail-history.html • Reflections on the 25th Anniversary of Spam - http://www.templetons.com/brad/spam/spam25.html • The First Network Email - http://openmap.bbn.com/~tomlinso/ray/firstemailframe.html Prof. Eduardo M. Monks - Redes de Computadores III 26