correio_electronico

download correio_electronico

of 24

Transcript of correio_electronico

  • 8/8/2019 correio_electronico

    1/24

    Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Correio electrnico (E-mail) um dos servios mais utilizados da Internet.

    Permite, atravs de um conjunto de protocolos, efectuar a trocade 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.

    ProtocolosPOP3 (Post Office Protocol, version 3)e IMAP (InternetMessage Access Protocol)

    Complementam o primeiro, na tarefa de disponibilizar esteservio aos utilizadores.

    Aplicaes InternetCorreio electrnico

  • 8/8/2019 correio_electronico

    2/24

    Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Elementos de uma mensagem de e-mail From endereo de origem, na forma utilizador@servidor To endereo(s) de destino, na forma utilizador@servidor

    Cc cpia da mensagem (destinatrio visvel)

    Bcc Cpia da mensagem (destinatrio invisvel)

    Subject assunto Message mensagem a enviar (texto)

    Attach ficheiros a enviar conjuntamente com a mensagem

    Aplicaes InternetCorreio electrnico

    mailto:utilizador@servidormailto:utilizador@servidor
  • 8/8/2019 correio_electronico

    3/24

    Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Metodologia store and forward Cada utilizador possui uma caixa de correio (mailbox) num servidor.

    O email funciona de uma formastore and forward. As mensagens so 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 destinoat que o destinatrio possa l-la.

    A entrega das mensagens no imediata. O tempo de envio das mensagens depende da taxa de transferncia, nvel

    de utilizao e prioridade do trfego entre cliente e servidor de e-mail eentre o servidor de envio e de recepo da mensagem.

    Quando se enviam ficheiros juntamente com a mensagem (em attach), atransmisso mais demorada, como bvio.

    Aplicaes InternetCorreio electrnico

  • 8/8/2019 correio_electronico

    4/24

    Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Histria do SMTP

    1980: Mail Transfer Protocol (MTP) -RFC 772

    1981: Proposta inicial do Simple Mail Transfer Protocol(SMTP) RFC 788

    1882: reviso do Simple Mail Transfer Protocol (SMTP) RFC 821, 822

    1995: Proposta de um mecanismo para suportar extenses aoSMTP (ESMTP)- RFC 1869

    2001: A verso actual do Simple Mail Transfer Protocol

    (SMTP) - RFC 2821 + Formato das mensagens - RFC 2822 2002:Extenso para suportar SMTP seguro sobre TLS RFC

    3207

    Nota: existem muitos mais RFC relacionados com o protocolo SMTP

    Aplicaes InternetCorreio electrnico

  • 8/8/2019 correio_electronico

    5/24

    Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    SMTP - Simple Mail Transfer Protocol (RFC821) O STD 10/RFC 821 define a transmisso de dados por SMTP, utilizando arepresentao de caracteres ASCII, de 7 bits (com um mximo de 1000caracteres por linha).

    Representao suficiente para texto em Ingls, mas inadequada para amaioria de outras lnguas.

    Alternativaspara resolver este problema: Extenses 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 sesso (o que envia) e o servidor

    SMTP o que responde ao pedido de estabelecimento de uma sesso (oque recebe a mensagem).

    Aplicaes InternetCorreio electrnico

  • 8/8/2019 correio_electronico

    6/24

    Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    SMTP (continuao) um protocolo simples baseado em comandos de texto ASCII, queserve para enviar mensagens de e-mail para agentes MTA (MessageTransfer Agent).

    A comunicao feita tipicamente para o port TCP 25, semencriptao (no assegura confidencialidade).

    Aplicaes InternetCorreio electrnico

    Internet

    MTA#1

    MTA#2

    Comandos/Respostas SMTP

  • 8/8/2019 correio_electronico

    7/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Agentes de trnsito Simplificam a configurao dos MTAs locais. Escondem os diversos sistemas individuais ao exterior.

    Aplicaes InternetCorreio electrnico: SMTP

    MTA

    trnsito

    MTA

    trnsito

    MTAlocal

    MTA

    local

    MTA

    local

    MTAlocal

    MTA

    local

    MTA

    local

    Organizao #1 Organizao #2

    Internet

  • 8/8/2019 correio_electronico

    8/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    As mensagens SMTP so constitudas por: Cabealho (ou envelope) Definido no RFC 822. terminado por uma linha nula (uma linha vazia antes da

    sequncia ).

    Contedo: Todo o contedo antes de uma linha em branco pertence ao corpo

    da mensagem (sequncias de linhas que contm caracteresASCII).

    Aplicaes InternetCorreio electrnico

  • 8/8/2019 correio_electronico

    9/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Alguns comandos SMTP HELO: identifica o emissor SMTP ao receptor; o argumento deste comando dever conter o

    nome da mquina que pretende estabelecer uma comunicao ao servidor SMTP.

    EHLO: identifica o emissor SMTP ao receptor; o argumento deste comando dever conter onome da mquina que pretende estabelecer uma comunicao ao servidor SMTP. O servidor

    SMTP envia de seguida a lista de extenses SMTP que suporta MAIL: inicia uma transaco de dados de mail para uma mailbox.

    SEND: inicia uma transaco de dados de mail para um terminal.

    SOML (SEND or MAIL): inicia uma transaco de dados de mail para um terminal; Se oterminal no estiver disponvel, inicia uma transaco de dados de mail para uma mailbox.

    SAML (SEND and MAIL): inicia uma transaco de dados de mail em simultneo para umterminal e para uma mailbox.

    Aplicaes InternetCorreio electrnico: SMTP

  • 8/8/2019 correio_electronico

    10/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Lista de comandos SMTP (continuao) RCPT: identifica um destinatrio individual para a mensagem; mltiplos destinatrios so

    declarados utilizando vrios comandos RCPT.

    DATA: indica que os dados que se seguem fazem parte da mensagem; os dados socaracteres ASCII; podem ser utilizados vrios comandos DATA; a mensagem termina com a

    sequncia .. RSET: aborta a transaco corrente de mail.

    VRFY: pede ao receptor para confirmar a existncia de um determinado utilizador.

    EXPN: pede ao receptor para confirmar a existncia de uma determinada mailing-list.

    HELP: pede ao receptor para enviar ajuda sobre um determinado comando.

    NOOP: verifica se o receptor est activo ( uma espcie de ping para e-mail). QUIT: fecha o canal de comunicao.

    TURN: pede ao receptor para trocar de funes com o emissor; se aceitar, o antigo receptortorna-se emissor e o antigo emissor passa a receptor.

    Aplicaes InternetCorreio electrnico: SMTP

  • 8/8/2019 correio_electronico

    11/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    SMTP (continuao) Exemplo de sesso

    Aplicaes InternetCorreio electrnico: SMTP

    >>> HELO gestor.est.ipcb.pt250 Nice to meet you>>> MAIL From:

    250 < [email protected] >... Sender ok>>> RCPT To:< [email protected] >250 < [email protected] >... Recipient ok>>> DATA354 Enter mail, end with . on a line by itself

    Este ano vamos ser campees!>>> .250 Mail accepted>>> QUIT221 mail.est.ipcb.pt delivering mail

    Todas as respostas tm um cdigonumrico no incio da linha. Exemplos:

    250 - Requested mail action okay,completed

    354 - Start mail input; end with.

    221 - Service closingtransmission channel

  • 8/8/2019 correio_electronico

    12/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    ESMTP Extended Simple Mail Transfer Protocol Define vrias extenses ao SMTP

    Definido na RFC 2821

    Substitui o HELO por EHLO

    A resposta do servidor mostra as extenses suportadas

    Aplicaes InternetCorreio electrnico

    Cliente: EHLO cliente.teste.ptServidor: 250-servidor.com Hello cliente.teste.pt

    Servidor: 250-PIPELININGServidor: 250-SIZE 10280032Servidor: 250 HELP

  • 8/8/2019 correio_electronico

    13/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Algumas extenses SMTP: 8BITMIME: Permite a transmisso de dados codificados em octetos (8 bits);

    SMTP-AUTH: suporta autenticao dos clientes antes de estes terem acesso aosservios SMTP;

    CHUNKING: permite o envio de mensagens grandes em vrios blocos (chunks);

    HELP: fornece informaes de ajuda

    PIPELINING: suporta o envio de vrios 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 no esta mensagem

    STARTTLS: suporta SMTP sobre TLS, garantindo confidencialidade eautenticao nas transaes SMTP

    Aplicaes InternetCorreio electrnico

  • 8/8/2019 correio_electronico

    14/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Post Office Protocol, Version 3 (POP3) Protocolo standard (STD 53), descrito no RFC 1939. Suporta funes bsicas (download e eliminao) na obteno de mensagens de

    correio electrnico a partir de um servidor de mailboxes.

    Na interaco com o Servidor, o Cliente envia comandos e o Servidor reage com

    respostas. As respostas podem conter at 512 caracteres e comeam com um indicador deestado, que traduz se a resposta positiva (+OK) ou negativa (-ERR).

    Aplicaes InternetCorreio electrnico: POP3

  • 8/8/2019 correio_electronico

    15/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Modo de funcionamento: Os clientes POP3 estabelecem conexes TCP com o servidor usando tipicamente oporto 110.

    Quando a conexo estabelecida, o servidor POP3 envia uma mensagem desaudao ao cliente, entrando a sessoem modo authentication state.

    De seguida, o cliente tem de enviar a identificao para o servidor. Se este verifica o ID com sucesso, a sesso entra em modo transaction state.

    A partir deste momento, o cliente pode aceder mailbox.

    Quando o cliente envia o comando QUIT, a sesso entra em update state, e aconexo terminada.

    Aplicaes InternetCorreio electrnico: POP3

  • 8/8/2019 correio_electronico

    16/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Comandos mais importantes: USERname: username para autenticao. PASSpassword: password para autenticao.

    STAT: obtm o nmero e o tamanho total das mensagens.

    LIST [msg]: se for especificado o nmero da mensagem, indicado o seu tamanho; se

    nenhum nmero no for indicado, so listados os tamanhos de todas as mensagens. RETRmsg: solicita o envio da mensagem com o nmero msg para o cliente.

    DELE msg: solicita a eliminao da mensagem especificada.

    NOOP: O servidor no faz nada, apenas envia uma resposta positiva.

    RSET: este comando cancela pedidos anteriores de eliminao de mensagens, se elesexistirem (dentro de uma mesma sesso).

    QUIT: se enviado em modo authorization state, termina apenas a conexo TCP; se enviadoem transaction state, actualiza a mailbox (elimina as mensagens de pedidos anteriores) e porfim termina a conexo TCP.

    Aplicaes InternetCorreio electrnico: POP3

  • 8/8/2019 correio_electronico

    17/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Internet Message Access Protocol, Version 4 (IMAP4) Descrito no RFC 2060. Protocolo de manuseamento de caixas de correio electrnico, similar ao

    POP3.

    Os servidores IMAP4 armazenam mensagens de mltiplos utilizadores,

    que podem ser acedidas por pedidos de clientes. Os clientes IMAP4 apresentam mais capacidades de interaco com os

    servidores, do que no POP3.

    Permite que os clientes acedam e controlem mltiplas mailboxes aomesmo tempo.

    Mantm as mensagens no Servidor, replicando-as para os clientes esincronizando as mailboxes entre os clientes e o servidor.

    Os clientes IMAP4 podem especificar critrios para o carregamento demensagens (Ex: tamanho mximo, ).

    Aplicaes InternetCorreio electrnico: IMAP4

  • 8/8/2019 correio_electronico

    18/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    IMAP4 (continuao) Suporta trs modelos de gesto 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 alteraes no servidor (o e-mail processado

    remotamente neste). Disconnected: mistura dos dois modelos anteriores. O cliente copia as mensagense efectua alteraes localmente. Mais tarde, faz o upload destas alteraes para oservidor.

    Os servidores IMAP4 normalmente respondem

    aos comandos dos clientes no porto 143. Aps o perodo de estabelecimento da conexo TCP, ambos trocam dadosinteractivamente, com o cliente a enviar comandos e o servidor a enviar respostas.

    Aplicaes InternetCorreio electrnico: IMAP4

  • 8/8/2019 correio_electronico

    19/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Uma sesso IMAP4 passa por diferentesestados: Non-Authenticated: o cliente envia identificao para o servidor.

    Authenticated: o cliente tem de seleccionar a mailbox que vai utilizar.

    Selected: a mailbox foi seleccionada com sucesso. Logout: a conexo terminada, aps um pedido do cliente, ou por

    qualquer outro motivo.

    Aplicaes InternetCorreio electrnico: IMAP4

  • 8/8/2019 correio_electronico

    20/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Vantagens do IMAP sobre o POP: Permite vrios clientes ligados simultneamente na mesma mailbox;

    Permite a criao de mltiplas mailboxes no servidor;

    Permite trs modos de operao: offline, online e disconnected; Permite downloads parciais de objectos MIME;

    Associa estados a mensagens no servidor (lida/no lida/respondida/etc);

    Permite operaes do lado do servidor (pesquisas, etc)

    Aplicaes InternetCorreio electrnico: IMAP4

  • 8/8/2019 correio_electronico

    21/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Configurao de um servidor de e-mail (Linux)

    No campo do transporte e encaminhamento de mensagens existem vriosprogramas, dos quais se destacam o sendmail, Smail e Qmail. O sendmail um dosmais usados na Internet.

    O sendmail normalmente usado na verso para Linux. Os principais ficheiros deconfigurao so:

    Directoria onde est o software para gerar o sendmail.cfa partir do sendmail.mc

    /etc/lib/sendmail-cf

    Ficheiro master para criar o sendmail.cf de formaautomtica

    /etc/sendmail.mc

    Lista de computadores que podem usar este servidor paraenviar e-mail (relaying)

    /etc/mail/access

    Endereos alternativos, listas de mail e pararedireccionar endereos locais para outros servidores

    /etc/aliases

    Ficheiro de configurao principal (muito complexo)./etc/sendmail.cf

    Aplicaes InternetServidores de Correio Electrnico

  • 8/8/2019 correio_electronico

    22/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    Configurao de um servidor de e-mail (Linux) As caixas de correio so ficheiros que guardam as mensagens de e-mail dosutilizadores (directoria /var/spool/mail)

    No linux as caixas de correio so automaticamente criadas quando seinserem novos utilizadores (adduser )

    A seguir criao das caixas de correio, a gesto de aliases a tarefa maisimportante de um administrador de e-mail. Os aliases so um mecanismopara redireccionamento das mensagens. Um utilizador poder possuir porexemplo trs endereos mail diferentes, sendo as mensagensredireccionadas para a mesma mailbox.

    As mailing-lists servem para definir um endereo cujas mensagens soredireccionadas para varios utilizadores (ex. [email protected])

    O redireccionamento tambm pode ser feito com registos MX no servidorDNS

    Aplicaes InternetServidores de Correio Electrnico

    mailto:[email protected]:[email protected]
  • 8/8/2019 correio_electronico

    23/24Autores: Alexandre Fonte, Osvaldo Santos, Vasco Soares

    # Basic system aliases -- these MUST be present.MAILER-DAEMON: postmaster

    postmaster: root

    # General redirections for pseudo accounts.bin: rootdaemon: rootgames: rootingres: rootnobody: root

    system: roottoor: rootuucp: root

    # Well-known aliases.manager: rootdumper: rootoperator: root

    # trap decode to catch security attacksdecode: root

    # Person who should get root's mailroot: ci

    allusers: carlos, maria, sandra, luis, catarina

    alexandre.fonte: adf, [email protected], [email protected]

    Mailing-list

    Aplicaes InternetServidores de Correio Electrnico

    Configurao de um servidor de e-mail (Linux)

    mailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]
  • 8/8/2019 correio_electronico

    24/24

    Configurao de um servidor de e-mail (Linux)

    As mensagens podem ser enviadas directamente para o servidor destino, ou podem serencaminhadas por servidores intermdios (relays).

    Uma vantagem evidente economia de largura de banda, pois provavelmente a ligao ao nossoISP mais rpida que aos servidores destinatrios. Assim, as mensagens so entregues ao relay quedepois 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.cfdefine(SMART_HOST, smtp.telepague.pt)

    Devido aos spammers cada vez menos habitual fazer relay, pois podem usar estes servidores nosendo detectados. Para impedir que o nosso servidor seja usado por terceiros, deve configurar-se oficheiro /etc/mail/access de forma a limitar ao mxima os computadores que podem usar o serviode relay

    Localhost RELAYest.ipcb.pt RELAY10.1. RELAY212.55.157.1 RELAYcorreio.est.ipcb.pt RELAY193.137.234.1 RELAYSpammer.com REJECT /estas msg so explicitamente rejeitadas mesmo

    que se destinem a utilizadores locais

    Aplicaes InternetServidores de Correio Electrnico