cin/ufpe sistemas de informação redes de computadores ...bfs3/ufpe/redes -...

12
CIn/UFPE Sistemas de Informação Redes de Computadores Professor: Kelvin Lopes Dias Monitor: Edson Adriano Maravalho Avelar {kld,eama}@cin.ufpe.br Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor de e-mail no linux. Para isso, foi utilizado uma máquina virtual com Ubuntu 12.04 rodando em um hospedeiro também com Ubuntu 12.04. Antes de iniciar a instalação é necessário verificar se o hospedeiro consegue se comunicar com a máquina virtual e se esta tem livre acesso à internet. Para isso, basta configurar a interface de rede da máquina virtual em modo bridge e associar a interface física do hospedeiro que fornece acesso à internet. A Figura 1, mostra um exemplo de configuração. Figura 1. Configuração de rede da VM Passos Preliminares: Acessando a máquina virtual via ssh. Primeiramente, acesse a máquina virtual diretamente pelo virtualbox. Verifique se ela está conectada à Internet. Exemplo: ping 8.8.8.8 Antes de instalar qualquer pacote em um sistema linux, sempre atualize o repositório.

Upload: others

Post on 21-Nov-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

CIn/UFPESistemas de InformaçãoRedes de Computadores

Professor: Kelvin Lopes DiasMonitor: Edson Adriano Maravalho Avelar

{kld,eama}@cin.ufpe.br

Instalando o POSTFIX.

Este tutorial irá mostrar como instalar um servidor de e-mail no linux. Para isso, foi utilizado uma máquina virtual com Ubuntu 12.04 rodando em um hospedeiro também com Ubuntu 12.04. Antes de iniciar a instalação é necessário verificar se o hospedeiro consegue se comunicar com a máquina virtual e se esta tem livre acesso à internet.

Para isso, basta configurar a interface de rede da máquina virtual em modo bridge e associar a interface física do hospedeiro que fornece acesso à internet. A Figura 1, mostra um exemplo de configuração.

Figura 1. Configuração de rede da VM

Passos Preliminares: Acessando a máquina virtual via ssh.

Primeiramente, acesse a máquina virtual diretamente pelo virtualbox. Verifique se ela está conectada à Internet. Exemplo:

ping 8.8.8.8

Antes de instalar qualquer pacote em um sistema linux, sempre atualize o repositório.

Page 2: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

sudo apt-get update

Por padrão os sistema linux mais modernos já possuem o cliente ssh. Porém, nem todos vêm com o servidor ssh previamente instalados. Instale o servidor ssh executando o seguinte comando.

sudo apt-get install openssh-server

Feito isso, a máquina virtual está quase pronta. Agora precisamos saber qual o IP foi atribuido à ela.

ifconfig 

A Figura 2, mostra a saida do ifconfig destacando a interface que está conectada à interface e que pode ser alcançada pelo host. Neste caso, o IP é 192.168.1.19

Figura 2 – Saída do ifconfig

Agora, minimize a máquina virtual pois não vamos mais acessá-la diretamente.

Abra um terminal no hospedeiro. E digite o comando abaixo, substituindo o nome_do_usuario pelo nome do usuário da sua máquina virtual e o ip_da_maquina_virtual pelo IP obtido no seu ifconfig exemplificado na Figura 2.

ssh -X nome_do_usuario@ip_da_maquina_virtual

O “-X” significa que você poderá requisitar interfaces gráficas da máquina remota. Como por exemplo, acessar o firefox ou gedit.

Após rodar o ssh, ele perguntará se você realmente quer acessar esta máquina remota. Digite “yes” e depois enter.

Figura 3. Comando SSH

Em seguida pedirá a senha do usuário remoto. Digite sua senha da sua VM e confirme.

Figura 4. ssh requisitando senha de usuário.

Page 3: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

Se tudo der certo, você estará dentro da máquina virtual. A Figura 5 mostra a máquina remota acessada via ssh.

Figura 5. Acesso à máquina remota concedido .

Agora vamos para o que interessa. Instalar o POSTFIX. Todos os comandos abaixo deverão ser executado pelo terminal que está contectado remotamente à máquina virtual.

Passo 1: Instalar o POSTFIXAtualize o repositório se já não o fez.

sudo apt-get update

Instale o POSTFIX.sudo apt-get install postfix

Após rodar o comando. Ao instalar o postifx algumas telas de configurações são apresentadas. Na tela da Figura 6, apenas selecione o “<ok>” e confirme.

Figura 6. Tela de configuração 1 do postfix.

Page 4: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

Abaixo a próxima tela. Nesse caso escolha a opção Internet Site.

Figura 7. Tela de configuração 2 do postfix.

A próxima tela pede para escolhar o nome do sistem onde o servidor de e-mail será instalado. Deixe como está, selecione <ok> e tecle enter.

Figura 7. Tela de configuração 3 do postfix.

Page 5: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

Passo 2: Configurar o POSTFIX

Primeiramente vamos criar um backup do arquivo de configuração do POSTFIX.

sudo mv /etc/postfix/main.cf /etc/postfix/main.cf-default

Após mover o arquivo de configuração padrão para um backup. Vamos criar um novo arquivo e inserir nossas configurações nele.

sudo nano /etc/postfix/main.cf

O comando acima cria um aquivo vazio. Preencha este arquivo segundo a Figura 8.

Figura 8. Configurações Iniciais do POSTFIX

É recomendado usar um editor de texto sem interface gráfica como nano, vi ou vim. Pois, nem sempre o servidor remote possui interface gráfica. Neste caso, a máquina remota possui servidor X1, portanto é possível usar o gedit para modificar os arquivo. Lembrando que para requisitar interfaces gráficas do host remoto é necessário passar o “-X” no comando de conexão do SSH.

Se você usar o nano, após preencher o arquivo, basta executar a sequência de teclas “CTRL + O” para salvar o arquivo e depois o atalho “CTRL + X” para sair do modo de edição do nano.

Passo 3: Recarregar as configurações do POSTFIX

sudo service postfix reload

1 http://www.vivaolinux.com.br/artigo/Configuracao-universal-do-servidor-X-(modo-grafico)

Page 6: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

Passo 4: Criar duas contas de usuário para teste.

Criando usuário de nome “usuario1” e senha “usuario111”$sudo useradd -m usuario1$sudo passwd usuario1

Digite a nova senha UNIX: usuario111Redigite a nova senha UNIX: usuario111

Criando usuário de nome “usuario2” e senha “usuario222”sudo useradd -m usuario2sudo passwd usuario2

Digite a nova senha UNIX: usuario222Redigite a nova senha UNIX: usuario222

É possível ver os usuários adicionados no sistema através do comando:

getent passwd | cut -d \: -f1

Passo 5: Enviar um e-mail de teste com o telnetAcesse a porta 25 (SMTP) usando o telnet.

telnet localhost 25

Execute a sequência de comandos linha por linha. Depois de cada linha aperte enter.

HELO dominio.com.br

MAIL FROM: usuario1

RCPT TO: usuario2

DATA

From: "Remetente"<[email protected]> TO: "Destinatario"<[email protected]> Subject: Assunto Content-Type: text/html

<p>Ola usuario2, estou na turma de SI do CIn aprendendo a configurar o POSTFIX.</p> .

Após finalizar o e-mail, dê um QUIT para fechar a comunicação.

Page 7: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

QUIT

A Figura 9, mostra toda a sequência de comandos inclusive com as saída mostradas após cada comando.

Figura 9. Enviando e-mail do usuario1 para o usuario2 usando telnet.

Passo 6: Instalar o Serviço de Autenticação SASL2 (Simple Authentication and Security Layer)

O SASL é um framework para authenticação e segurança. Evita que usuário não autenticados usem o serviço de e-mail para enviar SPAMs.

sudo apt-get install sasl2-bin

Passo 7: Adicionando as configurações do SASL no POSTFIX

Edite o arquivo de configurações do postfix sudo nano /etc/postfix/main.cf

E adicione as linhas a seguir, logo abaixo das linhas já adicionadas da Figura 8.

2 http://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer

Page 8: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

[...]

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

Essas linhas de configuração, basicamente habilitam a autenticação no postfix e barra qualquer tentativa de envio de email não autorizado. Após inserir as linhas digite CTRL + O (salvar) e CTRL +X (sair)

Passo 8: Ativar o SASL

Para ativar o SASL, serão necessárias duas mudanças no arquivo de configuração do SASL

sudo nano /etc/default/saslauthd

No início do arquivo, mude a linha:

START=no

para:

START=yes

No final do arquivo, mude a linha:

OPTIONS="-c -m /var/run/saslauthd"

para:

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

Passo 8: Verificar se o usuário “postfix” possui o grupo sasl, senão adicione.

No comando abaixo, vemos que o usuário postfix, possui apenas o grupo postfix.

Para adicionar o grupo sasl execute o comando a seguir.

Page 9: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

Execute novamente o comando, “groups postfix”. O resultado deve ser algo como:

Passo 10: Configurar o serviço SMTP.

sudo nano /etc/postfix/sasl/smtpd.conf

Após criar o arquivo adicione as duas linhas a seguir.

pwcheck_method: saslauthd mech_kist: plain login

Passo 11: Reiniciar o POSTFIX e os serviços de autenticação do SASL.

Reiniciando o POSTFIX:sudo service postfix restart

Reiniciando o SASL:sudo service saslauthd restart

Passo 12: Criar certificado TLS (Transport Layer Security).

Crie o seguinte diretóriosudo mkdir /etc/postfix/ssl

Gere uma senha RSA de 1024 bits.sudo openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

Quando requisitado, digite uma senha para destravar o chaveiro. Guarde esta senha, ela será requisitada posteriormente.

Minha Senha: postfix1234

Modifique a permissão de sua chave para que apenas o dono do arquivo tenha permissão de leitura e escrita.

sudo chmod 0600 smtpd.key

Agora vamos criar a requisição de certificado a partir da senha RSA criada anteriormente.

openssl req -new -key smtpd.key -out smtpd.csr

Page 10: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

Digite a senha do chaveiro smtpd.key configurada anteiormente. Deixa todas as configurações como estão dando enter até o final.

A Figura 10, mostra a saida do comando anterior.

A Figura 10. Criando o certificado digital a partir de uma senha RSA.

Nesse passo criaremos o certificado propriamente dito.

sudo openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt

Novamente será requisitado a senha do chaveiro smtpd.key configurada anteriormente.

Agora vamos validar o certificado.

sudo openssl rsa -in smtpd.key -out smtpd.key.unencrypted

Senha do chaveiro smtpd.key

sudo mv -f smtpd.key.unencrypted smtpd.key

Criando o arquivo PEM.

sudo openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Senha PEM: 123456789

Page 11: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

Passo 13: Adicionar as configurações do TLS no POSTFIX

sudo nano /etc/postfix/main.cf

Adicionar no final do arquivo as linhas abaixo.

[...]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

Passo 14: reiniciar o POSTFIX

sudo service postfix restart

Passo 15: Instalar o Courier3

sudo apt-get install courier-pop-ssl

Passo 16: Ler o e-mail de teste com o telnet

Acesse a porta 110 (POP3) pelo telnet.

telnet localhost 110

Execute os seguintes comandos, dando enter após cada comando.

USER usuario2

PASS usuario222

LIST

Aqui deve lista todos os e-mail recebidos pelo usuário 2. Cada e-mail está listado por um número. Neste caso vamos recuperar o e-mail número 1.

RETR 1

3 http://www.courier-mta.org/

Page 12: CIn/UFPE Sistemas de Informação Redes de Computadores ...bfs3/UFPE/Redes - CInUfpe/Instalando-o-PO… · Instalando o POSTFIX. Este tutorial irá mostrar como instalar um servidor

A Figura 11 mostra a said dos comando executados para ler o e-mail recebido.

Figura 11. Lendo e-mail recebido pelo usuário 2, enviado pelo usuário1