Tabela de Conteúdos
Página desactualizada Esta página contém uma versão anterior deste guia que pode estar desatualizada. Para a consultar a versão mais recente clique aqui.
5.2.1 Servidor SMTP
Objectivo
Instalar um servidor de envio de emails baseado no protocolo SMTP para utilização da rede local.
Instalação
A instalação oferece uma série de configurações predefinidas. Seleccionar a opção Site Internet. Será também pedido o nome de email que deverá ser “home.lan”.
server:~# aptitude install postfix
Configuração
Embora o login root receba emails, é preferível que estes sejam redireccionados 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 actualizada:
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/IMAPS, 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
Encriptação da ligação
As ligações ao servidor poderão ser feitas de um modo encriptado (TLS) (smtpd_use_tls = yes) e garantindo que só assim a autenticação será aceite (smtpd_tls_auth_only = yes). Podem também ser usados os gerados previamente, em vez dos gerados automaticamente durante a gerados previamente, 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 smtpd_use_tls = yes smtpd_tls_auth_only = yes smtpd_tls_cert_file = /etc/ssl/certs/server.crt smtpd_tls_key_file = /etc/ssl/private/server.key.insecure 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 # Utilizadores locais podem enviar emails para qualquer endereco smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination # Rejeitar ligacoes de clientes que nao saibam o seu hostname smtpd_helo_restrictions = reject_unknown_sender_domain # Rejeitar email de dominios que nao existem smtp_sender_restrictions = reject_unknown_sender_domain # [...]
Reiniciar o serviço SMTP:
server:~# /etc/init.d/postfix restart
Verificação
Verificar que é possível ligar ao servidor smtp:
server:~# telnet localhost smtp 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: test testing 123 . 250 2.0.0 Ok: queued as A2BF81ED81 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.
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 activar 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).
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
- Wikipedia: Smtp (*http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol)
- Wikipedia: Smtp (*http://pt.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol)
- Wikipedia: Open Relay (*http://pt.wikipedia.org/wiki/Open_relays)
- Wikipedia: Postfix (*http://pt.wikipedia.org/wiki/Postfix)
- Postfix (*http://www.postfix.org/)
- Postfix Configuration Parameters (*http://www.postfix.org/postconf.5.html)
- Howto: Postfix and Dovecot on Ubuntu Dapper Drake (*http://adomas.org/2006/08/postfix-dovecot/)