LESI PL Comunicação de Dados 1 SMTP Simple Mail Transfer Protocol 6128 João Paulo Pereira Dourado 6408 Ricardo Manuel Lima da Silva Mouta 7819 António Daniel Gonçalves Pereira
2 Estrutura da apresentação Introdução História Descrição do SMTP Modelo SMTP Sessão SMTP Segurança e Spam Simulação (Packet Tracer) Perguntas e Respostas
Introdução 3 O e-mail foi a primeira aplicação chave que despontou na então ARPANET (Advanced Research Projects Agency Network), o SMTP foi o protocolo padronizado para transmitir e-mail. Quando Jonathan Postal escreveu a definição do SMTP RFC 821 em 1982, a Internet era minúscula comparada com a perspetiva atual. A configuração inicial do SMTP focou-se mais na fiabilidade do que na segurança e a sua popularidade contribui tanto para a adoção da arquitetura TCP/IP como na proliferação da Internet.
4 História As primeiras formas de mensagens eletrónicas datam dos anos 60. As pessoas comunicavam através de sistemas desenvolvidos especificamente para mainframes governamentais ou empresariais. À medida que mais computadores se interligavam (especialmente na ARPANET), foram desenvolvidas normas para possibilitar utilizadores de diferentes sistemas trocarem e-mails.
5 História Devido aos recursos físicos da época, os utilizadores partilhavam computadores com sistemas onde: cada utilizador possuía uma conta; cada computador era identificado por um nome; a rede onde o computador se encontrava conectado, era identificada por outro nome, também conhecido por domínio. O sistema de e-mail criado adotou esta mesma arquitetura, onde para enviar uma mensagem a um utilizador da rede, era necessário endereçar: a conta do utilizador; o computador; a rede a que o utilizador pretendido se encontrava conectado;
História 6 Supondo que um utilizador se identificava com a conta xpto, no computador com o nome posto007 e este estivesse conectado à rede com o nome ipca.pt, para enviar um e-mail a este utilizador, teríamos de endereçar o email para xpto@posto007.ipca.pt. Esta regra mantem-se até hoje, tendo apenas evoluído na medida em que atualmente, apenas é necessário indicar qual a rede em que a conta do utilizador se encontra, ficando assim o exemplo anteriormente dado como xpto@ipca.pt.
7 História O SMTP tem origem de normas desenvolvidas durante os anos 70. As raízes do e-mail apontam para duas implementações descritas em 1971: Mail Box Protocol descrito no RFC 196, permitia que um documento de texto ASCII fosse impresso ou armazenado como ficheiro num host remoto; O programa SNDMSG, que segundo o RFC 2235, foi desenvolvido para enviar mensagens de email numa rede distribuída (ARPANET). Implementações posteriores incluem o FTP Mail e Mail Protocol, ambos de 1973.
História 8 A ARPANET tornou-se na Internet moderna por volta de 1980 e Jonathan Postel propôs o Mail Transfer Protocol que começou a remover a dependência do FTP no e- mail. O SMTP foi publicado como RFC 788 em Novembro de 1981 por Jonathan Postal e mais tarde atualizado em Agosto de 1982 como RFC 821 pelo mesmo.
História 9 A maioria dos utilizadores ajudou-se mutuamente, configurando os seus servidores de e-mail como "retransmissores abertos". Isso significava que cada host cooperativo aceitava e- mail endereçado para outros sistemas e retransmitia-o para o seu destino final. Desta forma, a transferência de e-mail na jovem Internet teve uma oportunidade razoável de eventual entrega.
10 História Várias atualizações foram feitas ao longo do tempo, sendo a ultima o RFC 5321, datado de Outubro de 2008. ESMTP (Extended Simple Mail Transfer Protocol) e é definido no RFC 2821. As grandes diferenças são: suporte para envio de multimédia por email; permite a clientes de e-mail especificar um mecanismo de segurança com um servidor de email, autenticar a transação e negociar um perfil de segurança.
Descrição do SMTP 11 SMTP é o protocolo padrão para envio de e-mail através de redes IP (Internet Protocol). Usa por norma a porta 25 (ou 465 para conexão criptografada via SSL). Tem como objetivo transmitir e-mails com fiabilidade e eficiência. Originalmente o protocolo suportava apenas texto simples ASCII.
12 Descrição do SMTP Standards como o MIME (Multipurpose Internet Mail Extensions) foram desenvolvidos para codificar ficheiros binários de modo a serem enviados via SMTP. O SMTP constitui-se como um protocolo puro da camada de aplicação, e não se preocupa com os serviços de transporte que o suportam. Pode usar uma conexão TCP, ou simplesmente um canal de fluxo de dados ordenados e fiável com um mecanismo qualquer para a comunicação entre processos.
Descrição do SMTP 13 O SMTP é um protocolo apenas de envio. Para download de e-mail de um servidor, é necessário um cliente de e-mail que suporte o protocolo POP3 ou IMAP, o que se verifica no caso da maioria dos clientes de e-mail atuais. Lançado logo depois do RFC 788 o Sendmail foi um dos primeiros (se não o primeiro) MTA (Mail Transfer Agent, servidor de e-mail) a implementar o SMTP, outros MTA s populares são o PostFix, Qmail, Exim, entre outros.
Modelo do SMTP 14 Utilizador Sistema de Ficheiros cliente-smtp (Remetente) SMTP comandos/ respostas e mensagem servidor-smtp (Destinatário) Sistema de Ficheiros O modelo SMTP resume-se basicamente a dois componentes, o cliente-smtp e o servidor-smtp.
15 Modelo do SMTP Utilizador Sistema de Ficheiros cliente-smtp (Remetente) SMTP comandos/ respostas e mensagem servidor-smtp (Destinatário) Sistema de Ficheiros Um utilizador, ao desejar enviar uma mensagem, utiliza a interface do sistema de e-mail para a compor. Solicita ao sistema que a entregue ao destinatário e este armazena uma cópia da mensagem na sua spool (área de armazenamento), junto com a hora, data e a identificação do remetente e do destinatário.
16 Modelo do SMTP Utilizador Sistema de Ficheiros cliente-smtp (Remetente) SMTP comandos/ respostas e mensagem servidor-smtp (Destinatário) Sistema de Ficheiros A transferência da mensagem é executada por um processo em background. O cliente-smtp determina o endereço de um host adequado e a correr um servidor-smtp, resolvendo o nome do domínio de destino para um host intermediário (Mail exchanger) ou para o host de destino final, e tenta estabelecer uma conexão TCP com o servidor-smtp.
17 Modelo do SMTP Utilizador Sistema de Ficheiros cliente-smtp (Remetente) SMTP comandos/ respostas e mensagem servidor-smtp (Destinatário) Sistema de Ficheiros Se a conexão for estabelecida com sucesso, o cliente-smtp envia uma cópia da mensagem para o servidor-smtp, que a armazena na sua spool. Caso a mensagem seja transferida com sucesso, o servidor-smtp avisa o cliente-smtp que recebeu e armazenou uma cópia da mensagem. Quando recebe a confirmação de entrega e armazenamento, o cliente-smtp elimina a cópia da mensagem que mantinha na sua spool local.
18 Modelo do SMTP Utilizador Sistema de Ficheiros cliente-smtp (Remetente) SMTP comandos/ respostas e mensagem servidor-smtp (Destinatário) Sistema de Ficheiros Se a mensagem, por algum motivo, não for transmitida com sucesso, o cliente-smtp anota o horário da tentativa e suspende a sua execução. Periodicamente o cliente-smtp acorda e verifica se existem mensagens a serem enviadas na área de spool e tenta transmiti-las. Se uma mensagem não for enviada por um período, por exemplo de dois dias, o servidor de e-mail devolve a mensagem ao remetente, informando que não conseguiu transmiti-la.
19 Modelo do SMTP Uma mensagem SMTP divide-se em duas partes: Cabeçalho Onde são especificadas as informações necessárias para a transferência da mensagem e que é composto por linhas, que contem uma palavra-chave seguida de um valor, como por exemplo: Identificação do remetente: (palavra-chave "to:" seguida do seu endereço xpto@meudominio.pt ); Identificação do destinatário; Assunto da mensagem; Corpo Onde são transportadas as informações da mensagem propriamente dita. O formato do texto é livre e as mensagens são transferidas no formato texto. As duas partes são separados por uma linha em branco.
20 Modelo do SMTP Os utilizadores do sistema de e-mail são localizados através de um par de identificadores. A especificação do nome (dominio) do host de destino; A identificação da conta do utilizador; Um remetente pode enviar simultaneamente várias cópias de uma mensagem, para diferentes destinatários utilizando o conceito de lista de distribuição (um nome que identifica um grupo de utilizadores).
Modelo do SMTP 21 O formato dos endereços SMTP é o seguinte: nome_local@nome_do_dominio Onde o nome_do_dominio identifica o domínio ao qual a máquina de destino pertence (esse endereço deve identificar um grupo de maquinas gerido por um servidor de e-mail). O nome local identifica a conta do destinatário.
Modelo do SMTP 22 O SMTP especifica como o sistema de e-mail transfere mensagens de uma máquina para outra. O módulo de interface com utilizador e a forma como as mensagens são armazenadas não são definidos pelo SMTP.
23 Sessão SMTP Na maioria dos computadores, uma conexão pode ser estabelecida usando o comando telnet no cliente, como por exemplo: telnet www.exemplo.pt 25, que abre uma ligação SMTP entre o cliente e o servidor através da porta 25.
Sessão SMTP 24 HELO meudominio.pt 220 smtp.exemplo.pt ESMTP Postfix MAIL FROM: xpto@meudominio.pt 250 HELO meudominio.pt RCPT TO: pessoax@exemplo.pt 250 Ok DATA Mensagem de e-mail QUIT 250 Ok 354 End data with <CR><LF>.<CR><LF> 250 Ok 221 Bye
Sessão SMTP 25 S: 220 smtp.exemplo.pt ESMTP Postfix C: HELO meudominio.pt S: 250 Hello meudominio.pt C: MAIL FROM: xpto@meudominio.pt S: 250 Ok C: RCPT TO: pessoax@exemplo.pt S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR><LF> C: From: Xpto <xpto@meudominio.pt> C: To: Pessoa X <pessoax@exemplo.pt> C: Date: Wed, 3 April 2013 23:45:13 C: Subject: Mensagem de teste C: C: Boa noite, C: Isto é uma mensagem de teste. C: Cumprimentos, C: Xpto C:. S: 250 Ok C: QUIT S: 221 Bye {O servidor encerra a conexão}
Segurança e Spam 26 Host s retransmissores abertos estiveram entre as primeiras vítimas do fluxo de spam. Nos primórdios na Internet comercial, as ligações de alta velocidade eram proibitivamente caras para o público em geral e pequenas empresas. Os spammers rapidamente aprenderam que era fácil enviar um pequeno número de mensagens (com listas de milhares de destinatários) para servidores corporativos abertos e estes enviavam sem objeções essas mensagens para os seus destinatários.
27 Segurança e Spam Os administradores notaram picos súbitos nas suas contas de serviços de consumo. O primeiro passo para combater esta situação foi encerrar os retransmissores abertos. Alguns levaram a ideia mais à frente e decidiram não só fechar os seus próprios sistemas, como não aceitar mais mensagens de outros retransmissores abertos. Eventualmente começaram a partilhar as suas listas desses retransmissores com os seus parceiros, e permitiam que vizinhos consultassem os seus servidores para obter estes dados. Este foi o início das primeiras "listas negras de DNS", e elas foram altamente controversas.
Segurança e Spam 28 Um grande número de pessoas com muito pouca experiência em segurança informática, navega online. Conexões de alta velocidade cada vez mais baratas. Nova epidemia espalhou-se por toda a internet, mais visivelmente como worms. Propagam-se através dos clientes de e-mail populares.
29 Segurança e Spam Há infeções mais insidiosas que se espalham entre computadores rapidamente. Algumas permanecem adormecidas para evitar chamar a atenção para si mesmas e esperam por instruções de outro sistema. Os hackers utilizam normalmente bots para infetar um grande número de computadores. Estes computadores formam uma rede ou uma Botnet. Os hackers utilizam as botnets para enviar mensagens de spam, disseminar vírus, atacar computadores e servidores e cometer outros tipos de crimes e fraudes.
Segurança e Spam 30 Uma resposta para estes problemas é a autenticação do remetente. O Sender Policy Framewor (ou SPF) é centrado em torno de um outro registo DNS especializado que lista os servidores autorizados a transmitir e-mails a partir de um determinado domínio. Outra medida comum é simplesmente fazer cumprir a norma SMTP e rejeitar mensagens que não respeitem a mesma. Isto é muito eficaz, porque poucos, se algum, worm ou transmissor de spam se incomoda a cumprir.
SMTP 31
32 Simulação SMTP no Packet Tracer
33 Perguntas & Respostas
Agradecimentos 34 Um agradecimento especial ao docente por toda a disponibilidade demonstrada. Sem o professor nada disto teria sido possível =) a6128@alunos.ipca.pt a6408@alunos.ipca.pt a7819@alunos.ipca.pt João Paulo Pereira Dourado Ricardo Manuel Lima da Silva Mouta António Daniel Gonçalves Pereira