Ferramentas de Utilizador

Ferramentas de Site


Barra Lateral

Traduções para esta página?:
 


Servidor Debian 10 'Buster'



pt:buster:email:smtp:postfix

5.2.1 Servidor SMTP: Postfix

Atenção

SMTPspam

Instalar um servidor de envio de emails baseado no protocolo SMTP para utilização da rede local.

Instalação

root@server:~# apt install postfix postfix-doc

A instalação oferece uma série de configurações predefinidas.

Selecionar a opção Internet Site:

Será também pedido o nome de email que deverá ser “home.lan”:

Configuração

Embora o utilizador root receba emails, é preferível que estes sejam redirecionados para um utilizador “humano”. Esses “aliases” são definidos no ficheiro /etc/aliases:

# See man 5 aliases for format
postmaster:    root
root: fribeiro

Sempre que se edita o ficheiro /etc/aliases, a base de dados correspondente deve ser atualizada:

root@server:~# newaliases

A origem dos emails enviados, ou seja, a parte após o “@”, é definida na única linha do ficheiro /etc/mailname:

home.lan

A restante configuração é guardada no ficheiro /etc/postfix/main.cf.

Durante a instalação do 5.1.1 Servidor IMAP(S): Dovecot, ficou definido que a localização e o tipo de caixas de correio era “Maildir”. A configuração do postfix deverá indicar que a entrega de correio deve ser feita nessa localização, o que é feito no ficheiro /etc/postfix/main.cf:

# [...]
# Entregar correio em ~/Mailbox
home_mailbox = Maildir/
# [...]

Definir os endereços por onde o postfix aceita receber ligações:

# [...]
# Interfaces por onde são aceites ligações
inet_interfaces = 127.0.0.1, 192.168.1.100
# [...]

Definir também a lista de clientes privilegiados (que podem, por exemplo, usar o servidor para enviar emails para outro domínio (relay)):

# [...]
# Clientes de confianca
mynetworks = 127.0.0.0/8, 192.168.1.0/24
# [...]

Definir a lista de domínios para os quais o servidor é o destino final:

# [...]
# Emails para estes dominios sao entregues neste servidor
mydestination = home.lan, server.home.lan, localhost.home.lan, localhost
# [...]

O tamanho máximo de cada mensagem também pode ser alterado:

# [...]
# Tamanho máximo de cada mensagem: 50Mb
message_size_limit = 52428800

Encriptação da ligação

As ligações ao servidor poderão ser feitas de um modo encriptado (TLS) (smtpd_use_tls = yes). Podem ser usados os certificados ssl auto-assinados gerados em 3.5.1 Certificados Auto-Assinados ou os certificados 3.5.2 Certificados LetsEncrypt em vez dos gerados automaticamente durante a instalação do postfix:

# [...]
# TLS parameters
# smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
# Certificados Let's Encrypt:
#smtpd_tls_cert_file = /etc/letsencrypt/live/home.example.com/cert.pem
#smtpd_tls_key_file = /etc/letsencrypt/live/home.example.com/privkey.pem
# Certificados auto-assinados:
smtpd_tls_cert_file = /etc/ssl/certs/server.crt
smtpd_tls_key_file = /etc/ssl/private/server.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
# [...]

Segurança

Devem ser definidas restrições bastante rigorosas ao acesso ao servidor SMTP.

# [...]
## Seguranca
# Aceitar ligacoes apenas a partir da rede local
smtpd_client_restrictions = permit_mynetworks,
                            reject

# Rejeitar ligacoes de clientes que nao saibam o seu hostname
smtpd_helo_restrictions = reject_unknown_sender_domain

# Rejeitar email de dominios que nao existem
smtpd_sender_restrictions = reject_unknown_sender_domain

# Clientes locais podem enviar emails para qualquer endereco
smtpd_recipient_restrictions = permit_mynetworks,
                               reject_unauth_destination

# [...]

Verifique se o ficheiro de configuração do postfix não contém incorreções:

root@server:~# postfix check
root@server:~#

Reiniciar o serviço SMTP:

root@server:~# systemctl restart postfix

Verificação

Verificar que é possível ligar ao servidor smtp:

root@server:~# telnet localhost smtp
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server.home.lan ESMTP Postfix (Debian/GNU)
EHLO localhost
250-server.home.lan
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
MAIL FROM: fribeiro
250 2.1.0 Ok
RCPT TO: fribeiro
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: smtp test
testing the smtp server
.
250 2.0.0 Ok: queued as 93AC1ABA9
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

A linha 250-STARTTLS indica que o servidor aceita ligações encriptadas. No entanto, neste teste não é usada a encriptação TLS, porque a ligação é feita do próprio sistema, o que é considerado seguro.

A linha 250 2.0.0 Ok: queued as 93AC1ABA9 indica que o email foi aceite pelo servidor e está em fila de espera para ser processado.

Configuração clientes

Num cliente email, como o Thunderbird, criar uma conta de correio de saída (SMTP), indicando como endereço o do servidor (192.169.1.100) e porta 25. Na zona de segurança, não ativar autenticação. Nas opções de ligação segura, podem ser usado o protocolo TLS ou nenhum. O protocolo SSL não poderá ser usado (por agora).

Configuração do Thunderbird como cliente smtp

Enviar algumas mensagens para destinatários existentes e fictícios: Deverão ser entregues emails que tenham como destinatários utilizadores válidos do domínio home.lan (Ex. fribeiro@home.lan). Emails para destinatários inexistentes do domínio home.lan serão recusado imediatamente (ex. desconhecido@home.lan). Demais emails (mesmo para utilizadores e domínios válidos) serão provavelmente recusados pelos servidores de destino. Neste caso, e passado algum tempo, o nosso servidor irá gerar uma mensagem a informar a razão da recusa.

Referências

pt/buster/email/smtp/postfix.txt · Esta página foi modificada pela última vez em: 2019-07-13 09:06 (Edição externa)

Ferramentas de Página