Mudanças entre as edições de "Servidor de Email"

De IFRS Campus Canoas
Ir para: navegação, pesquisa
(DKIM)
Linha 141: Linha 141:
 
  SignatureAlgorithm      rsa-sha256
 
  SignatureAlgorithm      rsa-sha256
 
  OversignHeaders        From
 
  OversignHeaders        From
 +
 +
== Referências ==
 +
 +
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy

Edição das 15h11min de 12 de abril de 2016

Postfix

Neste tutorial será mostrado como montar um servidor de e-mails para envio de e-mails usando Postfix, este servidor será usado apenas para envio de notificações de sistemas internos para funcionários e alunos, então não será necessário a criação de domínios virtuais, autenticação em bancos de dados externos nem a instalação de serviços de recebimento de e-mail como POP e IMAP.

Informações iniciais

Domínio: exemplo.com.br

IPv4: 192.0.2.4

IPv6: 2001:0DB8::4

Hostname: email.exemplo.com.br

S.O.: Debian 8 (Jessie)

Versão do Postfix: 2.11.3

Instalação do Postfix

# apt-get install postfix

Ao apresentar a janela solicitando o tipo de configuração do servidor de e-mail, selecione:

Site da Internet

Na próxima janela "nome de email" digite:

exemplo.com.br

Configuração

Edite o arquivo de configuração /etc/postfix/main.cf

smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
readme_directory = no
# 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_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_CApath = /etc/ssl/certs
myhostname = email.exemplo.com.br
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = email.exemplo.com.br, localhost.exemplo.com.br, localhost
# clientes cadastrados em mynetworks podem enviar emails sem autenticacao:
mynetworks = 192.0.2.0/24, localhost
relayhost =
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
# Politicas de segunranca.
smtpd_relay_restrictions = permit_mynetworks
                       permit_sasl_authenticated defer_unauth_destination
# Rejeitar e-mails de dominios que nao existem
smtp_sender_restrictions = reject_unknown_sender_domain,
                       reject_non_fqdn_sender
## Utilizadores locais podem enviar emails para qualquer endereco
smtpd_recipient_restrictions = permit_sasl_authenticated,
                       permit_mynetworks,
                       reject_unauth_destination
# Delay para emails com o mesmo dominio de destino, para evitar congestionamento, valor em segundos.
default_destination_rate_delay = 1

Com esta configuração básica, já é possível realizar o primeiro teste de envio com o comando:

# echo "body of your email" | mail -s "This is a Subject" -a "From: envio@email.exemplo.com.br" destino@destino.com

e observe o arquivo de log para monitorar o envio:

# tail -f /var/log/mail.log

Evitar que seu e-mail caia no SPAM

Certamente ao enviar um e-mail a partir deste servidor para um destinatário válido, este e-mail irá cair na caixa de SPAM, isto porque o servidor recém criado não possui nenhum dos métodos de para melhorar a reputação na internet e ficar longe de blacklists de servidores spammers.

Para tornar o servidor confiável aos olhos do destinatário é preciso de 4 componentes:

  • rDNS (DNS Reverso)
  • SPF
  • DKIM
  • DMARC

rDNS

Configure o servidor de DNS responsável pela autoridade da zona exemplo.com.br inserindo o seguinte registro:

email  IN    MX    1    email.exemplo.com.br.

na zona reversa IPv4 2.0.192.in-addr.arpa insira:

4      IN    PTR        email.exemplo.com.br.

e zona reversa IPv6 0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa insira:

4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0      IN    PTR        email.exemplo.com.br.

SPF

Instale o pacote com o comando:

# apt-get install postfix-policyd-spf-perl

Adicione o parâmetro abaixo no arquivo /etc/postfix/main.cf

policy-spf_time_limit = 3600s

e adicione o valor

check_policy_service unix:private/policy-spf 

no final do parâmetro smtpd_recipient_restrictions, exemplo abaixo:

smtpd_recipient_restrictions = permit_sasl_authenticated,
                       permit_mynetworks,
                       reject_unauth_destination,
                       check_policy_service unix:private/policy-spf

Adicione as seguintes linhas no arquivo /etc/postfix/master.cf

policy-spf  unix  -       n       n       -       -       spawn
       user=nobody argv=/usr/sbin/postfix-policyd-spf-perl

Pra finalizar, no servidor de DNS o seguinte registro do tipo TXT na zona exemplo.com.br, informando o IP do servidor de e-mail autorizado a usar o domínio exemplo.com.br como remetente:

email    IN      TXT     "v=spf1 ip6:2001:0DB8::4 ip4:192.0.2.4 -all"

DKIM

# apt-get install opendkim opendkim-tools

Edite o arquiv /etc/opendkim.conf

AutoRestart             Yes
AutoRestartRate         10/1h
UMask                   002
Syslog                  yes
SyslogSuccess           Yes
LogWhy                  Yes
Canonicalization        relaxed/simple
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable
Mode                    sv
PidFile                 /var/run/opendkim/opendkim.pid
Socket                  inet:12345@localhost
SignatureAlgorithm      rsa-sha256
OversignHeaders         From

Referências

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy