thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

63
Thiago Barros 1102133 ADS 640

Upload: thiago-silva-barros

Post on 18-Dec-2014

355 views

Category:

Education


0 download

DESCRIPTION

Servidore de Envio de Leitura de E-Mails

TRANSCRIPT

Page 1: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Thiago Barros 1102133 ADS 640

Page 2: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

SERVIDORES DE EMAIL:

Um servidor de E-mail gerencia os e-mails que são enviados e recebidos. Os servidores de e-mail podem ser servidores Internet, onde e-mails enviados e recebidos podem ser transitados para qualquer lugar do mundo, ou servidores de correio de intranet onde as mensagens trafegam apenas dentro da empresa.

Page 3: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Estudaremos aqui o Envio por SMTP, com autenticação SASL, criptografia SSL e a leitura

por POP3

Page 4: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Simple Mail Transfer Protocol

É um protocolo, baseado em texto simples, em que um ou vários destinatários de uma mensagem são especificados, sendo depois a mensagem transferida.

SMTP trabalha por conexão TCP, com a porta 25

O SMTP é um protocolo apenas de envio, logo não permite que um utilizador descarregue as mensagens de um servidor, patanto é necessário um cliente de email que suporte POP3 ou IMAP.

Page 5: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Dentro da Internet, as mensagens de correio eletrônico são entregues quando a máquina de origem estabelece uma conexão TCP com a porta 25 da máquina de destino.

Transmissão Recepção Conexão pela porta 25

Page 6: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Transmissor espera que o receptor se comunique primeiro.

Transmissão Recepção Conexão pela porta 25

Olá !!!

Page 7: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Transmissor espera que o receptor se comunique primeiro. O servidor começa enviando uma linha de texto que fornece sua identidade e informa que está preparado para receber mensagens. Caso não esteja, o cliente encerrará a conexão e tentará outra vez mais tarde.

Transmissão Recepção Conexão pela porta 25

Olá !!!

Page 8: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Se o servidor estiver disposto a receber mensagens, o cliente anunciará de quem veio a mensagem e para quem ela está indo. Se esse receptor existir no local de destino, o servidor dará ao cliente o sinal para enviar a mensagem.

Transmissão Recepção Conexão pela porta 25

Essa mensagem é minha e vai pra ele

Page 9: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Em seguida, o cliente enviará a mensagem e o servidor a confirmará.

Transmissão Recepção Conexão pela porta 25

Recebi a mensagem

Page 10: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Quando todas as mensagens tiverem sido trocadas em ambos os sentidos, a conexão será encerrada.

Transmissão Recepção

Conexão pela porta 25 encerrada

Page 11: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Exemplo do diálogo necessário para o envio de mensagem

Page 12: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Iniciando a conexão...

Page 13: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Servidor se comunica ...

Page 14: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Remetente informa o destinatário...

Page 15: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Corpo da mensagem a ser enviada...

Page 16: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Conexão é encerrada após envio ...

Page 17: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Como vimos, o correio eletrônico é entregue fazendo-se o remetente estabelecer uma conexão TCP para o destinatário, e depois transmitir a mensagem por ela.

Esse modelo funcionou bem durante décadas, quando todos os hosts da Internet estavam de fato on-line o tempo todo para aceitar conexões TCP.

Contudo, nem sempre o receptor vai estar on line, logo o trasmissor não consiguirá estabelecer uma conexão TCP, e desse modo não poderá executar o protocolo SMTP

Page 18: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Uma solução é fazer um agente de transferência de mensagens em uma máquina do provedor de internet, aceitar correio eletrônico para seus clientes e armazená-lo nas respectivas caixas de correio, na própria maquina do provedor. Tendo em vista que esse agente pode estar on-line o tempo todo, as mensagens de correio eletrônico podem ser enviadas para ele 24 horas por dia.

Page 19: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Infelizmente, essa solução cria outro problema: como o usuário conseguirá o correio eletrônico do agente de transferência de mensagens do provedor?

A solução para esse problema é criar outro protocolo que permita aos agentes de transferência do usuário (em PCs clientes) entrar em contato com o agente de transferência de mensagens (na máquina do provedor) e permitir que as mensagens de correio eletrônico sejam copiadas do provedor para o usuário.

Um protocolo desse tipo é o POP3 (Post Office Protocol Version 3), descrito na RFC 1939.

Page 20: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Neste primeiro exemplo de envio e conexão quando o receptor tem uma conexão permanente com a internet...

Page 21: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Agora, a leitura quando o receptor tem uma conexão dial-up com um provedor...

Page 22: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

O envio é feito da mesma forma...

Page 23: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

O leitor de correio chama o provedor e estabelece uma conexão TCP com o agente de transferência de mensagens na porta 110...

Page 24: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Depois que a conexão é estabelecida, o protocolo POP3 passa por três estados em sequência:

Page 25: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

1- Autorização: Que lida com o login do usuário.

Page 26: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

2- Transação: Que lida com a coleta de mensagens de e-mail do usuário e marca as mensagens para exclusão da caixa de correio

Page 27: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

2- Atualização: O estado de atualização faz a mensagens de correio eletrônico serem excluídas.

Page 28: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Exemplo de uso do POP3.

Page 29: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

As linhas marcada com “C” são o cliente...

Page 30: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

As linhas marcada com “S” são o servidor...

Page 31: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Conexão TCP estabelecida...

Page 32: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Cliente passa login e senha...

Page 33: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Agora cliente envia comando “LIST” que faz o servidor listar o conteúdo da caixa de correio, uma mensagem por linha, fornecendo de cada uma. A lista é encerrada por um ponto...

Page 34: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Em seguida, o cliente pode recuperar mensagens usando o comando RETR ...

Page 35: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

e marcá-las para exclusão com DELE ...

Page 36: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

e marcá-las para exclusão com DELE ...

Page 37: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Todas as mensagens são recuperadas e marcadas para exclusão ...

Page 38: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Cliente enviará o comando “QUIT” para encerrar o estado de transação e entrar no estado de atualização. Quando o servidor excluir todas as mensagens, ele enviará uma resposta e interromperá a conexão TCP....

Page 39: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

No nosso ambiente virtual de rede, utilizado na disciplina de RC2, utilizaremos davinci como servidor de E-Mail...

Page 40: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Para o servidor de E-Mail poder enviar mensagens por SMTP

# apt-get install postfix

Execute o comando acima para instalar o SMTP PostFix na Maquina Davinci ...

Page 41: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Sempre que for necessário ◦ Para parar o servidor SMTP

# /etc/init.d/postfix stop

Para iniciar o servidor SMTP

# /etc/init.d/postfix start

Para reiniciar o servidor SMTP

# /etc/init.d/postfix reload

Execute o comando acima para instalar o SMTP PostFix na Maquina Davinci ...

Page 42: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Arquivo de configuração do postfix

No diretorio: ◦ /etc/postfix

No arquivo: ◦ main.cf

As configurações devem ser feita no arquivo /etc/postfix/main.cf...

Page 43: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

mydomain = thiago.com.br

myhostname = davinci. thiago.com.br

myorigin = thiago.com.br

mydestination = davinci. thiago.com.br, thiago.com.br mynetworks = 192.168.0.0/24

home_mailbox = MeusEmails/

Este é o arquivo de configuração do postfix ...

Page 44: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

mydomain = thiago.com.br

myhostname = davinci. thiago.com.br

myorigin = thiago.com.br

mydestination = davinci. thiago.com.br, thiago.com.br mynetworks = 192.168.0.0/24

home_mailbox = MeusEmails/

Especifica o nome do domínio do servidor de E-Mail ...

Page 45: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

mydomain = thiago.com.br

myhostname = davinci. thiago.com.br

myorigin = thiago.com.br

mydestination = davinci. thiago.com.br, thiago.com.br mynetworks = 192.168.0.0/24

home_mailbox = MeusEmails/

Especifica o nome da máquina do servidor de E-Mail ...

Page 46: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

mydomain = thiago.com.br

myhostname = davinci. thiago.com.br

myorigin = thiago.com.br

mydestination = davinci. thiago.com.br, thiago.com.br mynetworks = 192.168.0.0/24

home_mailbox = MeusEmails/

Especifica como ficará a terminação do E-Mail após o @ ...

Page 47: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

mydomain = thiago.com.br

myhostname = davinci. thiago.com.br

myorigin = thiago.com.br

mydestination = davinci. thiago.com.br, thiago.com.br mynetworks = 192.168.0.0/24

home_mailbox = MeusEmails/

Os nomes dos domínios que o servidor de e-mail é responsável....

Page 48: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

mydomain = thiago.com.br

myhostname = davinci. thiago.com.br

myorigin = thiago.com.br

mydestination = davinci. thiago.com.br, thiago.com.br mynetworks = 192.168.0.0/24

home_mailbox = MeusEmails/

Especifica qual rede que o servidor de e-mail irá trabalhar...

Page 49: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

mydomain = thiago.com.br

myhostname = davinci. thiago.com.br

myorigin = thiago.com.br

mydestination = davinci. thiago.com.br, thiago.com.br mynetworks = 192.168.0.0/24

home_mailbox = MeusEmails/

Especifica o diretório onde ficará as mensagens de e-mail...

Page 50: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

# useradd -m usuario1

# passwd usuario1

# useradd -m usuario2

# passwd usuario2

Crie duas contas de usuários com senha ...

Page 51: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Para verificar se o Servidor Postfix está funcionando, use o Telnet para enviar uma mensagem de e-mail, ousuario1 vai enviar a mensagem de e-mail e o usuario2 vai receber:...

Page 52: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Instalação do pacote

◦ # apt-get install sasl2-bin

Será usado o serviço de autenticação SASL no servidor SMTP para que seja enviado mensagens de e-mail somente com a autenticação...

Page 53: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes smtpd_helo_required = yes smtpd_recipient_restrictions =

permit_mynetworks,

permit_sasl_authenticated, reject_unauth_destination

Abre o arquivo main.cf e adicione as seguintes linhas para habilitar o serviço de autenticação no Postfix:...

Page 54: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

no arquivo /etc/default/saslauthd

START = yes

OPTIONS = "-c -m /var/spool/postfix/var/run/saslauthd -r"

Para ativar o SASL, edite no arquivo "/etc/default/saslauthd" linhas acima:

Page 55: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Verifique se o usuário postfix contém o grupo sasl:

# groups postfix

Se não tiver, adicione para o usuário postfix obter as permissões do grupo sasl:

# usermod -G sasl postfix

Verifique se o usuário postfix contém o grupo sasl

Page 56: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Crie o arquivo smtpd.conf no diretório "/etc/postfix/sasl"

pwcheck_method: saslauthd

mech_list: plain login

Adicione as linhas acima ao arquivo... Ao termino das configurações reinicie o Postfix e o SASL:

Page 57: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

No diretório do Postfix, crie um novo diretório aonde irá ficar o certificado

# mkdir /etc/postfix/ssl

Para que o Servidor de E-mail tenha mais segurança e que os usuários tenham a garantia de privacidade das mensagens de e-mail, basta implementar criptografia.

Page 58: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

No diretório do Postfix, crie um novo diretório aonde irá ficar o certificado depois crie o Certificado TLS:

Para que o Servidor de E-mail tenha mais segurança e que os usuários tenham a garantia de privacidade das mensagens de e-mail, basta implementar criptografia.

Page 59: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Abre o arquivo main.cf e adicione as seguintes linhas para habilitar a criptografia no Postfix:

smtpd_tls_auth_only = yes

smtp_use_tls = yes

smtpd_use_tls = yes

smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key

smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt

smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1

Salve o arquivo e reinicie o Postfix:

Page 60: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Para poder ler as mensagens de e-mail recebidas, será usado o Servidor POP3:

Debian/Ubuntu: Courier.

Fedora/CentOS: Dovecot.

As distribuições Debian/Ubuntu usam o servidor POP3 Courier , já Fedora?CentOs usam Dovecot... :

Page 61: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Para poder ler as mensagens de e-mail recebidas, será usado o Servidor POP3:

Debian/Ubuntu: Courier.

# apt-get install courier-pop-ssl

Davinci, onde instalaremos o POP3 é Debian, execute o comando acima para instalar o POP3 na Maquina Davinci ... :

Page 62: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

Para verificar se o Servidor POP3 está funcionando, use o Telnet para ler uma mensagem de e-mail, recebidas:...

Page 63: Thiago silva barros_1102133_ads_640_servidores_de_leitura_e_envio_de_e-mails

• Livro: Tanenbaum, Andrew S.; Wetheral, David, Redes de Computadores , 5ª Ed..

• Sites:

http://blog.cesar.augustus.nom.br/instalando-o-servidor-de-e-mail-no-linux.html Acesso em nov. 2013 http://blog.felipemunhoz.com/instalando-um-ambiente-de-servico-de-email-passo-a-passo-no-debian-com-postfix-courier-e-squirrelmail/ Acesso em nov. 2013