P. 1
correio_electronico

correio_electronico

|Views: 91|Likes:
Publicado porTiago Caetano
TI
TI

More info:

Published by: Tiago Caetano on Dec 05, 2010
Direitos Autorais:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/15/2012

pdf

text

original

Aplicações Internet

Correio electrónico

• Correio electrónico (E-mail)
– É um dos serviços mais utilizados da Internet. – Permite, através de um conjunto de protocolos, efectuar a troca de mensagens entre hosts e, em último lugar, entre utilizadores: • Protocolo SMTP (Simple Mail Transfer Protocol) – Tem a responsabilidade de realizar a troca de mensagens entre servidores de e-mail. • Protocolos POP3 (Post Office Protocol, version 3) e IMAP (Internet Message Access Protocol) – Complementam o primeiro, na tarefa de disponibilizar este serviço aos utilizadores.

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico

• Elementos de uma mensagem de e-mail
• • • • • • • From To Cc Bcc Subject Message Attach endereço de origem, na forma utilizador@servidor endereço(s) de destino, na forma utilizador@servidor cópia da mensagem (destinatário visível) Cópia da mensagem (destinatário invisível) assunto mensagem a enviar (texto) ficheiros a enviar conjuntamente com a mensagem

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico

• Metodologia store and forward
• Cada utilizador possui uma caixa de correio (mailbox) num servidor. • O email funciona de uma forma “store and forward”. – As mensagens são guardadas no servidor até que ele seja capaz de as entregar aos respectivos servidores de destino. • A mensagem é mantida na respectiva caixa de correio do servidor de destino até que o destinatário possa lê-la. • A entrega das mensagens não é imediata. – O tempo de envio das mensagens depende da taxa de transferência, nível de utilização e prioridade do tráfego entre cliente e servidor de e-mail e entre o servidor de envio e de recepção da mensagem. – Quando se enviam ficheiros juntamente com a mensagem (em attach), a transmissão é mais demorada, como é óbvio.

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico

• História do SMTP – 1980: Mail Transfer Protocol (MTP) -RFC 772 – 1981: Proposta inicial do Simple Mail Transfer Protocol (SMTP) – RFC 788 – 1882: revisão do Simple Mail Transfer Protocol (SMTP) – RFC 821, 822 – 1995: Proposta de um mecanismo para suportar extensões ao SMTP (ESMTP)- RFC 1869 – 2001: A versão actual do Simple Mail Transfer Protocol (SMTP) - RFC 2821 + Formato das mensagens - RFC 2822 – 2002: Extensão para suportar SMTP seguro sobre TLS – RFC 3207
Nota: existem muitos mais RFC relacionados com o protocolo SMTP
Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico

• SMTP - Simple Mail Transfer Protocol (RFC821)
• O STD 10/RFC 821 define a transmissão de dados por SMTP, utilizando a representação de caracteres ASCII, de 7 bits (com um máximo de 1000 caracteres por linha). – Representação suficiente para texto em Inglês, mas inadequada para a maioria de outras línguas. – Alternativas para resolver este problema: » Extensões MIME (Multipurpose Internet Mail Extensions). » SMTP Service Extensions (RFC 1869, RFC 1652, RFC 1870). » HTML • O RFC 821 define um protocolo do tipo Cliente/Servidor. – O cliente SMTP é aquele que inicia a sessão (o que envia) e o servidor SMTP é o que responde ao pedido de estabelecimento de uma sessão (o que recebe a mensagem).

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico – SMTP (continuação) • É um protocolo simples baseado em comandos de texto ASCII, que serve para enviar mensagens de e-mail para agentes MTA (Message Transfer Agent). • A comunicação é feita tipicamente para o port TCP 25, sem encriptação (não assegura confidencialidade).

MTA #1

Comandos/Respostas SMTP

MTA #2

Internet

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico: SMTP

– Agentes de trânsito
– Simplificam a configuração dos MTAs locais. – “Escondem” os diversos sistemas individuais ao exterior.

MTA local

MTA local

MTA local

MTA trânsito

Internet

MTA trânsito

MTA local

MTA local

MTA local

Organização #1

Organização #2
Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico

• As mensagens SMTP são constituídas por:
• Cabeçalho (ou envelope)
– Definido no RFC 822. – É terminado por uma linha nula (uma linha vazia antes da sequência <CRLF>).

• Conteúdo:
– Todo o conteúdo antes de uma linha em branco pertence ao corpo da mensagem (sequências de linhas que contêm caracteres ASCII).

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico: SMTP

• Alguns comandos SMTP
– HELO: identifica o emissor SMTP ao receptor; o argumento deste comando deverá conter o nome da máquina que pretende estabelecer uma comunicação ao servidor SMTP. – EHLO: identifica o emissor SMTP ao receptor; o argumento deste comando deverá conter o nome da máquina que pretende estabelecer uma comunicação ao servidor SMTP. O servidor SMTP envia de seguida a lista de extensões SMTP que suporta – MAIL: inicia uma transacção de dados de mail para uma mailbox. – SEND: inicia uma transacção de dados de mail para um terminal. – SOML (SEND or MAIL): inicia uma transacção de dados de mail para um terminal; Se o terminal não estiver disponível, inicia uma transacção de dados de mail para uma mailbox. – SAML (SEND and MAIL): inicia uma transacção de dados de mail em simultâneo para um terminal e para uma mailbox.

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico: SMTP

– Lista de comandos SMTP (continuação)
– RCPT: identifica um destinatário individual para a mensagem; múltiplos destinatários são declarados utilizando vários comandos RCPT. – DATA: indica que os dados que se seguem fazem parte da mensagem; os dados são caracteres ASCII; podem ser utilizados vários comandos DATA; a mensagem termina com a sequência <CRLF>.<CRLF>. – RSET: aborta a transacção corrente de mail. – VRFY: pede ao receptor para confirmar a existência de um determinado utilizador. – EXPN: pede ao receptor para confirmar a existência de uma determinada mailing-list. – HELP: pede ao receptor para enviar ajuda sobre um determinado comando. – NOOP: verifica se o receptor está activo (é uma espécie de ping para e-mail). – QUIT: fecha o canal de comunicação. – TURN: pede ao receptor para trocar de funções com o emissor; se aceitar, o antigo receptor torna-se emissor e o antigo emissor passa a receptor.

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico: SMTP – SMTP (continuação) • Exemplo de sessão
>>> HELO gestor.est.ipcb.pt 250 Nice to meet you >>> MAIL From:<benfiquista@mail.est.ipcb.pt > 250 < benfiquista@mail.est.ipcb.pt >... Sender ok >>> RCPT To:< portista@gmail.com > 250 < portista@gmail.com >... Recipient ok >>> DATA 354 Enter mail, end with “.” on a line by itself
Este ano vamos ser campeões! Todas as respostas têm um código numérico no início da linha. Exemplos: 250 - Requested mail action okay, completed 354 - Start mail input; end with <CRLF>.<CRLF> 221 <domain> - Service closing transmission channel

>>> . 250 Mail accepted >>> QUIT 221 mail.est.ipcb.pt delivering mail

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico

• ESMTP – Extended Simple Mail Transfer Protocol – Define várias extensões ao SMTP – Definido na RFC 2821 – Substitui o HELO por EHLO – A resposta do servidor mostra as extensões suportadas Cliente: EHLO cliente.teste.pt Servidor: 250-servidor.com Hello cliente.teste.pt Servidor: 250-PIPELINING Servidor: 250-SIZE 10280032 Servidor: 250 HELP

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico

• Algumas extensões SMTP:
– 8BITMIME: Permite a transmissão de dados codificados em octetos (8 bits); – SMTP-AUTH: suporta autenticação dos clientes antes de estes terem acesso aos serviços SMTP; – CHUNKING: permite o envio de mensagens grandes em vários blocos (chunks); – HELP: fornece informações de ajuda – PIPELINING: suporta o envio de vários comandos SMTP de uma vez, melhorando assim o desempenho – SIZE: permite indicar o tamanho de uma mensagem prestes a ser enviada para um servidor SMTP. Compete ao servidor aceitar ou não esta mensagem – STARTTLS: suporta SMTP sobre TLS, garantindo confidencialidade e autenticação nas transações SMTP

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico: POP3

• Post Office Protocol, Version 3 (POP3)
– Protocolo standard (STD 53), descrito no RFC 1939. – Suporta funções básicas (download e eliminação) na obtenção de mensagens de correio electrónico a partir de um servidor de mailboxes. – Na interacção com o Servidor, o Cliente envia comandos e o Servidor reage com respostas. – As respostas podem conter até 512 caracteres e começam com um indicador de estado, que traduz se a resposta é positiva (+OK) ou negativa (-ERR).

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico: POP3

• Modo de funcionamento:
– Os clientes POP3 estabelecem conexões TCP com o servidor usando tipicamente o porto 110. – Quando a conexão é estabelecida, o servidor POP3 envia uma mensagem de saudação ao cliente, entrando a sessão em modo authentication state. – De seguida, o cliente tem de enviar a identificação para o servidor. – Se este verifica o ID com sucesso, a sessão entra em modo transaction state. – A partir deste momento, o cliente pode aceder à mailbox. – Quando o cliente envia o comando QUIT, a sessão entra em update state, e a conexão é terminada.

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico: POP3

• Comandos mais importantes:
– USER name: username para autenticação. – PASS password: password para autenticação. – STAT: obtém o número e o tamanho total das mensagens. – LIST [msg]: se for especificado o número da mensagem, é indicado o seu tamanho; se nenhum número não for indicado, são listados os tamanhos de todas as mensagens. – RETR msg: solicita o envio da mensagem com o número msg para o cliente. – DELE msg: solicita a eliminação da mensagem especificada. – NOOP: O servidor não faz nada, apenas envia uma resposta positiva. – RSET: este comando cancela pedidos anteriores de eliminação de mensagens, se eles existirem (dentro de uma mesma sessão). – QUIT: se enviado em modo authorization state, termina apenas a conexão TCP; se enviado em transaction state, actualiza a mailbox (elimina as mensagens de pedidos anteriores) e por fim termina a conexão TCP.

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico: IMAP4

• Internet Message Access Protocol, Version 4 (IMAP4)
– Descrito no RFC 2060. – Protocolo de manuseamento de caixas de correio electrónico, similar ao POP3. – Os servidores IMAP4 armazenam mensagens de múltiplos utilizadores, que podem ser acedidas por pedidos de clientes. – Os clientes IMAP4 apresentam mais capacidades de interacção com os servidores, do que no POP3. – Permite que os clientes acedam e controlem múltiplas mailboxes ao mesmo tempo. – Mantém as mensagens no Servidor, replicando-as para os clientes e sincronizando as mailboxes entre os clientes e o servidor. – Os clientes IMAP4 podem especificar critérios para o carregamento de mensagens (Ex: tamanho máximo, …).

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico: IMAP4

– IMAP4 (continuação) • Suporta três modelos de gestão das mailboxes:
– Offline: o cliente liga-se periodicamente ao servidor e copia as mensagens, sendo de seguida eliminadas do servidor (modelo utilizado pelo POP3). – Online: o cliente efectua alterações no servidor (o e-mail é processado remotamente neste). – Disconnected: mistura dos dois modelos anteriores. O cliente copia as mensagens e efectua alterações localmente. Mais tarde, faz o upload destas alterações para o servidor.

• Os servidores IMAP4 normalmente respondem aos comandos dos clientes no porto 143.
– Após o período de estabelecimento da conexão TCP, ambos trocam dados interactivamente, com o cliente a enviar comandos e o servidor a enviar respostas.

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico: IMAP4

– Uma sessão IMAP4 passa por diferentes estados:
• • • • Non-Authenticated: o cliente envia identificação para o servidor. Authenticated: o cliente tem de seleccionar a mailbox que vai utilizar. Selected: a mailbox foi seleccionada com sucesso. Logout: a conexão é terminada, após um pedido do cliente, ou por qualquer outro motivo.

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Correio electrónico: IMAP4

• Vantagens do IMAP sobre o POP:
– Permite vários clientes ligados simultâneamente na mesma mailbox; – Permite a criação de múltiplas mailboxes no servidor; – Permite três modos de operação: offline, online e disconnected; – Permite downloads parciais de objectos MIME; – Associa estados a mensagens no servidor (lida/não lida/respondida/etc); – Permite operações do lado do servidor (pesquisas, etc)

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Servidores de Correio Electrónico

• Configuração de um servidor de e-mail (Linux)
– No campo do transporte e encaminhamento de mensagens existem vários programas, dos quais se destacam o sendmail, Smail e Qmail. O sendmail é um dos mais usados na Internet. – O sendmail normalmente é usado na versão para Linux. Os principais ficheiros de configuração são:

/etc/sendmail.cf /etc/aliases

Ficheiro de configuração principal (muito complexo).

Endereços alternativos, listas de mail e para redireccionar endereços locais para outros servidores /etc/mail/access Lista de computadores que podem usar este servidor para enviar e-mail (relaying) /etc/sendmail.mc Ficheiro master para criar o sendmail.cf de forma automática /etc/lib/sendmail-cf Directoria onde está o software para gerar o sendmail.cf a partir do sendmail.mc
Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Servidores de Correio Electrónico

• Configuração de um servidor de e-mail (Linux)
– As caixas de correio são ficheiros que guardam as mensagens de e-mail dos utilizadores (directoria /var/spool/mail) – No linux as caixas de correio são automaticamente criadas quando se inserem novos utilizadores (adduser <login novo user>) – A seguir à criação das caixas de correio, a gestão de aliases é a tarefa mais importante de um administrador de e-mail. Os aliases são um mecanismo para redireccionamento das mensagens. Um utilizador poderá possuir por exemplo três endereços mail diferentes, sendo as mensagens redireccionadas para a mesma mailbox. – As mailing-lists servem para definir um endereço cujas mensagens são redireccionadas para varios utilizadores (ex. allusers@est.ipcb.pt) – O redireccionamento também pode ser feito com registos MX no servidor DNS

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Servidores de Correio Electrónico

• Configuração de um servidor de e-mail (Linux)
# Basic system aliases -- these MUST be present. MAILER-DAEMON: postmaster postmaster: root # General redirections for pseudo accounts. bin: root daemon: root games: root ingres: root nobody: root system: root toor: root uucp: root # Well-known aliases. manager: root dumper: root operator: root # trap decode to catch security attacks decode: root # Person who should get root's mail root: ci allusers: carlos, maria, sandra, luis, catarina

Mailing-list

alexandre.fonte: adf, a.fonte@outroservidor.pt, alex.fonte@aindaoutro.com

Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

Aplicações Internet
Servidores de Correio Electrónico

• Configuração de um servidor de e-mail (Linux)
• • As mensagens podem ser enviadas directamente para o servidor destino, ou podem ser encaminhadas por servidores intermédios (relays). Uma vantagem evidente é economia de largura de banda, pois provavelmente a ligação ao nosso ISP é mais rápida que aos servidores destinatários. Assim, as mensagens são entregues ao relay que depois se encarrega de as encaminhar para o destino. Para usar o servidor do ISP como relay deve-se acrescentar a linha seguinte no ficheiro sendmail.mc e voltar a reconstruir o sendmail.cf define(‘SMART_HOST’, ‘smtp.telepague.pt’) Devido aos spammers é cada vez menos habitual fazer relay, pois podem usar estes servidores não sendo detectados. Para impedir que o nosso servidor seja usado por terceiros, deve configurar-se o ficheiro /etc/mail/access de forma a limitar ao máxima os computadores que podem usar o serviço de relay Localhost est.ipcb.pt 10.1. 212.55.157.1 correio.est.ipcb.pt 193.137.234.1 Spammer.com RELAY RELAY RELAY RELAY RELAY RELAY REJECT

/estas msg são explicitamente rejeitadas mesmo que se destinem a utilizadores locais
Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

You're Reading a Free Preview

Descarregar
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->