31
Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em Informática

Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Embed Size (px)

Citation preview

Page 1: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Servidor de E-mails e Protocolo SMTPProfessor: João Paulo de Brito GonçalvesDisciplina: Projeto Integrador de Redes

Campus CachoeiroCurso Técnico em Informática

Page 2: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Definições Servidor de Mensagens

• Um servidor de mensagens é responsável pela recepção e envio de mensagens. Dentro deste processo há vários mecanismos utilizados pelo servidor antes da mensagem chegar até o remetente. • Atualmente na Internet um dos grandes responsáveis por seu imenso tráfego, sem dúvida, é o e-mail. • Tal como o correio normal, o e-mail é um meio de comunicação assíncrono, as pessoas enviam e recebem mensagens quando for conveniente para elas.•O Simple Mail Transfer Protocol (SMTP) é o protocolo de transporte de mensagens utilizado em redes TCP/IP. Um servidor de mensagens oferece outros serviços além de transporte, este deve prover serviços como fornecer apelidos para usuários e fazer roteamento de mensagens.

Page 3: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Correio EletrônicoTrês grandes componentes: • agentes de usuário (UA) • servidores de correio• simple mail transfer protocol: SMTP

Agente de Usuário• a.k.a. “leitor de correio”• compor, editar, ler mensagens de

correio• p.ex., Eudora, Outlook, elm, Netscape

Messenger• mensagens de saída e chegando são

armazenadas no servidor

caixa de correio do usuário

fila demensagens

de saída

agente de

usuário

servidor de correio

agente de

usuário

SMTP

SMTP

SMTP

agente de

usuário

agente de

usuário

agente de

usuárioagente

de usuário

servidor de correio

servidor de correio

Page 4: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Correio Eletrônico: servidores de correioServidores de correio • caixa de correio contém mensagens

de chegada (ainda não lidas) p/ usuário

• fila de mensagens contém mensagens de saída (a serem enviadas)

• protocolo SMTP entre servidores de correio para transferir mensagens de correio– cliente: servidor de correio que

envia– “servidor”: servidor de correio

que recebe

servidor de correio

agente de

usuário

SMTP

SMTP

SMTP

agente de

usuário

agente de

usuário

agente de

usuárioagente

de usuário

servidor de correio

servidor de correio

Page 5: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Correio Eletrônico: SMTP [RFC 2821]• usa TCP para a transferência confiável de msgs do correio

do cliente ao servidor, porta 25• transferência direta: servidor remetente ao servidor receptor• três fases da transferência

– handshaking (cumprimento)– transferência das mensagens– encerramento

• interação comando/resposta– comandos: texto ASCII– resposta: código e frase de status

Page 6: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Cenário: Alice envia uma msg para Bob1) Alice usa o UA para compor uma

mensagem “para” [email protected]

2) O UA de Alice 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 de Bob

4) O cliente SMTP envia a mensagem de Alice através da conexão TCP

5) O servidor de correio de Bob coloca a mensagem na caixa de entrada de Bob

6) Bob chama o seu UA para ler a mensagem

useragent

mailserver

mailserver user

agent1

2 3 4 56

Page 7: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Definições MUA – do inglês Mail User Agent, é tipicamente o programa

de correio eletrônico do usuário, ou seja, o cliente de e-mail como por exemplo Outlook Express.

MTA – do inglês Mail Transport Agent, é o elemento que se encarrega de transportar o e-mail de um servidor SMTP para outro, ou seja, usualmente é o servidor de e-mails.

MDA – do inglês Mail Delivery Agent, é o elemento que recebe a mensagem do MTA e a entrega na caixa postal definitiva do usuário.

DNS - é uma das partes principais da infra-estrutura da Internet, permitindo a localização rápida de máquinas e serviços

Page 8: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Definições POP3 – do inglês Post Office Protocol, é um dos protocolos

que permite a um usuário acessar as mensagens contidas na sua caixa postal no servidor.

Page 9: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Definições

Page 10: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Fluxo de uma mensagem

O cliente de e-mail do usuário (MUA) envia a mensagem para o MTA configurado, normalmente o servidor de correio eletrônico da empresa, usando o protocolo SMTP.

O MTA, tendo aceito a responsabilidade de entregar a mensagem para seu destinatário, começa a tarefa de descobrir para onde a mensagem deve ser enviada. O servidor vai então consultar o servidor DNS pedindo o registro MX do domínio do e-mail do destinatário. A resposta é um endereço IP, que é para quem o MTA vai entregar a mensagem.

Page 11: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Fluxo de uma mensagem Tendo descoberto o endereço IP do MTA responsável pelo

domínio do e-mail, o servidor de e-mail vai estabelecer uma conexão com este servidor e usar novamente o protocolo SMTP para tentar entregar a mensagem. Ela sendo aceita no destino, termina a tarefa de nosso servidor: a mensagem está entregue.

O usuário ao chegar na sua máquina, inicia seu programa de correio eletrônico (MUA) e consulta sua caixa postal no servidor usando o protocolo POP3. Ele será avisado de que há uma mensagem nova e ela será baixada para sua máquina, onde será lida.

Com isso, a comunicação é concluída.

Page 12: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

O protocolo SMTP

Page 13: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Protocolo POP3

• O Post Office Protocol versão 3, ou POP3, pode ser usado pelos usuários remotos para realizar a transferência de suas correspondências eletrônicas do sistema sem abrir uma sessão telnet, por exemplo.

• Então, o protocolo POP é utilizado quando se deseja buscar uma mensagem que está no servidor. A priori, qualquer um pode mandar e-mail para qualquer um, no caso da recepção de e-mail é diferente.

• Quando o usuário acessa o servidor POP que utiliza geralmente da porta 110, o mesmo deve fornecer seu login e sua senha.

Page 14: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Protocolo POP3

Page 15: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Protocolo POP3 O protocolo POP3 também usa o protocolo da camada de transporte TCP e seu funcionamento passa por três fases básicas:

-Autorização – o agente de usuário envia um nome de usuário e uma senha(às claras) para autenticar o usuário.

- Transação - o servidor recupera as mensagens do usuário autenticado, e é também nesta fase que o agente de usuário pode marcar mensagens que devem ser apagadas, remover estas marcas e obter estatísticas de correio.

- Atualização – A terceira fase, de atualização, ocorre após o cliente ter dado o comando quit, que encerra a sessão POP3. Neste momento, o servidor apaga as mensagens que foram marcadas.

Page 16: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Protocolo IMAP• O IMAP é similar ao POP no sentido de que ambos os protocolos permitem que usuários remotos acessem seus correios eletrônicos. Ele escuta na porta TCP 143.

•A diferença é que o IMAP permite que os usuários mantenham pastas de correio no seu sistema, em vez de fazer a transferência de todas as suas mensagens para suas próprias máquinas.

•A diferença do IMAP em relação ao POP é a possibilidade de manipulação das mensagens no próprio servidor. Você pode criar pastas e organizar suas mensagens nelas, fazer buscas nas mensagens, ver somente os cabeçalhos, etc.

• O IMAP possui muito mais recursos que o POP3 mas é consequentemente muito mais complexo.

Page 17: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Protocolo IMAP

Page 18: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Pacotes a serem instalados

• Postfix ( Servidor SMTP)

• dovecotpop3d (servidor de e-mail tanto com suporte a pop3 quanto a imap, no caso, o pacote inclui suporte a pop3)

Page 19: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Configuração PostfixConfiguração Postfix

O servidor SMTP usado na configuração é o servidor Postfix, considerado seguro e de fácil configuração.

As configurações principais do Postfix ficam no arquivo /etc/postfix/main.cf.

Se nada for configurado, o formato de armazenagem de mensagens padrão é o mbox. Esse formato grava em um arquivo só todos as mensagens do usuário. Portanto os e-mails dos usuarios estão no /var/spool/mail e cada usuário terá um arquivo com o seu nome.

Page 20: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Configuração PostfixConfiguração Postfix Entretanto para guardar as mensagens dos usuários de forma mais

organizada, iremos utilizar a pasta MailDir no diretório home do usuário.

Quando o formato utilizado é o maildir, é criada uma uma estrutura de diretórios para o usuário, onde cada mensagem é um arquivo separado.

Para verificar a fila de mensagens formada no servidor, pode-se usar o comando mailq que mostra o ID do arquivo de fila, o tamanho da mensagem, tempo de chegada, remetente e os destinatários para os quais ainda falta entregar a mensagem.

Page 21: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Configuração BásicaConfiguração Básica

Myhostname: nome do host onde o Postfix é executado.

Mydomain: nome do domínio utilizado para envio de mensagens.

Mydestination: lista de domínios atendidos pelo Postfix (para mensagens recebidas). Geralmente inclui o nome do host(para receber mensagens locais).

Page 22: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Configuração BásicaConfiguração Básica Mynetworks – esta opção especifica os endereços ou faixas

de endereços de onde o servidor vai aceitar o envio de mensagens.

inet_interfaces - permite configurar em quais interfaces o postfix estará escutando por requisições.

A linha home_mailbox indica a pasta local, dentro do home de cada usuário, onde os e-mails ficarão armazenados. A pasta Maildir/ é o padrão usado por diversos MTA's.

Page 23: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Configuração BásicaConfiguração Básica

Na maioria dos casos, é desejável limitar o tamanho das mensagens recebidas, para evitar que algum usuário acabe consumindo toda a banda e acabando com o espaço em disco do servidor.

O padrão do postfix é limitar as mensagens a 10 MB. Qualquer anexo maior que isso é recusado. Esta configuração pode ser alterada através da opção "message_size_limit", onde você especifica o valor desejado em bytes.

Page 24: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

OpçõesOpções

A opção "mailbox_size_limit" serviria para definir o limite de armazenamento para a caixa postal do usuário.

Entretanto, ao usar o formato Maildir para as caixas postais, cada mensagem é salva num arquivo separado, de forma que a opção não funciona.

Por isso, usamos o valor "0" para desativá-la. A melhor forma de limitar o espaço dos usuários é simplesmente definir quotas de espaço em disco, usando o Quota ou via o comando maildirmake, como será visto posteriormente.

Page 25: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

OpçõesOpções

• Para que o servidor IMAP ou POP3 funcione, é necessário que exista um diretório chamado "Maildir" dentro do home de cada usuário, onde são armazenadas as mensagens.

• Este diretório contém uma estrutura própria e é criado usando o comando "maildirmake".

• Caso a pasta ainda não exista, execute o comando que cria a pasta dentro do diretório /etc/skel, de forma que os diretórios home de todos os novos usuários criados daqui em diante já sejam criados com ele:# maildirmake /etc/skel/Maildir

Page 26: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

MailDirMailDir

O diretório /etc/skel é um modelo usado pelo sistema para criar os diretórios home dos usuários do sistema, ou seja, todas as pastas contidas neste diretório, são criadas no diretório dos usuários.

Desta forma, este comando permite a criação da pasta Maildir, para que os e-mails enviados pelo servidor sejam armazenados nesta pasta.

O diretório (Maildir) com subdiretórios (new, cur e tmp - devem estar localizados no mesmo sistema de arquivos), onde cada mensagem é armazenada em um arquivo independente.

O diretório tmp é utilizado no momento da entrega como destino temporário de novas mensagens, e somente depois que o sistema de entrega consegue escrever a mensagem com sucesso dentro de tmp, a mensagem é copiada para dentro do diretório new e então removida do diretório tmp.

Page 27: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

MailDirMailDir

Mensagens já lidas pelo cliente de e-mail (MUA – Mail User Agent), são movidas do diretório new para dentro do diretório cur. Tal ação só é executada caso o cliente de e-mail esteja configurado para deixar cópia de mensagens no servidor. Normalmente, a mensagem é removida após ser lida.

O leitor da mensagem também deve verificar por mensagens antigas dentro do diretório tmp e removê-las. O arquivo é considerado antigo e pode ser removido com segurança se não foi acessado em um prazo de 36 horas.

Page 28: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

MailDirMailDir

Page 29: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

Cotas no MailDirCotas no MailDir

As cotas no MailDir podem ser estabelecidas de duas formas:

-Usando um sistema de cotas normal, via comando edquota

- Estabelecendo cotas via comando Maildirmake usando o comando:

- maildirmake -q 5000000S,1000C ./Maildir

Este comando configura a cota de um diretório Maildir de um usuário, com 5MB aproxidamente, ou 1000 mensagens diferentes. O limite primário será o parâmetro que vier primeiro no comando.

Para apagar uma cota posteriormente, é só usar apagar o arquivo Maildir/maildirsize.

Page 30: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

AliasesAliases

• Aliases são apelidos para contas de e-mail, sendo utilizados para redirecionar mensagens de uma conta para outra. São geralmente utilizadas para criar contas impessoais, que passam a ser redirecionadas para usuários reais.

• Um exemplo prático é para o endereço root@domínio no domínio DNS, onde este e-mail é redirecionado para o e-mail de usuário existente no sistema.

• O arquivo onde ficam os aliases do Postfix é o /etc/aliases, e sua sintaxe é bastante simples. Geralmente se coloca na parte esquerda da linha o “apelido” e na parte direita, após os dois pontos, deve-se colocar o e-mail real para onde aquele apelido será redirecionado.

• Após atualizar o arquivo aliases deve-se usar o comando postalias /etc/aliases para atualizá-lo. Caso a base de dados de aliases não tenha sido iniciada, pode-se usar o comando newaliases para isto.

Page 31: Servidor de E-mails e Protocolo SMTP Professor: João Paulo de Brito Gonçalves Disciplina: Projeto Integrador de Redes Campus Cachoeiro Curso Técnico em

DovecotDovecot

Dovecot é um servidor de IMAP e POP3 de código aberto para sistemas Linux e UNIX, escrito primariamente com segurança em mente.

Desenvolvido por Timo Sirainen, Dovecot foi lançado pela primeira vez em Julho de 2002.

Dovecot tem o objetivo primário de ser um servidor de email baseado em software livre leve, rápido e de fácil configuração.

Dovecot suporta mbox, Maildir e seu próprio formato nativo de alta performance, Dbox.