Postfix+MySQL+Courier IMAP+POP3+Anti-Virus+Anti-SPAM+Webmail.

Após uma grande modificação em meu servidor, chegou a hora de reconfigurar o Postfix com todas as opções que ampliam sua funcionalidade!

Para nossa sorte, já existe um tutorial bem bacana e detalhado sobre todas as etapas da configuração desse super mega combo!

Tutorial: http://slackware.sites.uol.com.br/slackware/htdocs/intro.htm
Backup: download

Ficam aqui meus agradecimentos a todos que contribuiram para esse tutorial de excelente qualidade e escalabilidade. Muito Obrigado!! 💡 

Algumas configurações adicionais:

Configurando um Relay para o seu SMTP
(por exemplo, para enviar todos os emails através do smtp de um provedor)

Configurar no main.cf:
relayhost = smtp.servidor.com.br
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous

O arquivo com a senha do smtp que você irá conectar (definido em $smtp_sasl_password_maps) deverá ser no seguinte formato:

smtp.servidor.com.br usuario:senha

Depois de criar o arquivo com a senha do servidor smtp, é preciso “converter” o arquivo para o formato lido pelo postfix usando o comando:

# postmap /etc/postfix/sasl/passwd

E então é possível apagar o arquivo que possui a senha não codificada à mostra.

Para um melhor funcionamento do Maildir, é recomendado utilizar essas opções:

main.cf:
local_destination_concurrency_limit = 1
default_destination_concurrency_limit = 1

No nosso caso, com emails e caixas postais controladas pelo banco de dados no mysql, não precisamos que os usuários na shell do sistema recebam avisos de chegada de novos emails, e então, podemos desligar o biff que gera essas mensagens, liberando mais recursos de cpu e memória 8)

Configurar no main.cf:
biff = no

Também existem opções para assegurar que o Postfix se comporte dentro dos padrões determinados pelas RFC, evitando assim que clientes mal programados (e com alta chance de serem spammers ou virus) enviem mensagens através do seu servidor. Desta forma, o email só é aprovado se estiver perfeitamente preenchido conforme dita o protocolo smtp!

Configurar no main.cf:
always_add_missing_headers = no
allow_percent_hack = no
append_dot_mydomain = no
resolve_dequoted_address = no
strict_7bit_headers = yes
strict_8bitmime = yes
strict_8bitmime_body = yes
strict_mime_encoding_domain = yes
strict_rfc821_envelopes = yes

O Postfix possui uma opção que o permite receber emails endereçados para qualquer destinatário em qualquer subdomínio do(s) seu(s) domínio(s) de email, como por exemplo qualquerlogin@qualquercoisa.dominiovalido.com.br ao invés de somente aceitar os emails corretos login@dominiovalido.com.br;

Aceitando os subdomínios do seu domínio, ao invés de recusar o email imediatamente, o postfix armazena a mensagem e depois, quando verifica que o destinatário do email não é válido, retorna ao remetente com erro de que não foi possível entregar a mensagem.

Dessa forma, se alguém mal intencionado explorar essa vulnerabilidade, poderá indisponibilizar contas de emails e desperdiçar recursos do servidor. Mas basta configurarmos:

main.cf
parent_domain_matches_subdomains = 

Sem parâmetros, limpando essa configuração, para que o postfix só aceite os emais para domínios e subdomínios que estiverem explicitamente descritos em nossas tabelas no banco de dados conjuntamente com os seus respectivos destinatários! 😀

Leia mais artigos relacionados ao Postfix.

2 ideias sobre “Postfix+MySQL+Courier IMAP+POP3+Anti-Virus+Anti-SPAM+Webmail.

  1. Testando a autenticação do SMTP com o Telnet:
    * Codificar o usuário e senha com base64:
    perl -MMIME::Base64 -e ‘print encode_base64(“usuario\@dominio”);’
    perl -MMIME::Base64 -e ‘print encode_base64(“senha”);’
    * Telnet smtp.server 25
    + ehlo dominio.net
    + auth login
    + (usuario@dominio codificado)
    + (senha codificada)
    + quit

Deixe uma resposta para Eduardo Nunes Cancelar resposta