Configurando Postfix + MySQL + Courier + SPF + Clamav + SpamAssassin + Greylist + TLS

Este tutorial tem como objetivo apresentar uma forma de configurar o Postfix MTA com alguns serviços adicionais, para entrega e recebimento de email com controle de spam, vírus e greylist com suporte SSL. Este tutorial é bem prático e objetivo.

[ Hits: 40.530 ]

Por: flipe em 13/10/2011 | Blog: http://linuxplue.blogspot.com


Configurando a "peneira"



8. Configurando o clamav, greylist, SPF e spamassassin.

/etc/clamd:

LogFile /var/log/clamav/clamd.log
LogFileMaxSize 0
LogTime yes
LogSyslog yes
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /var/clamav
LocalSocket /tmp/clamd.socket
FixStaleSocket yes
TCPSocket 3310
TCPAddr 127.0.0.1
MaxConnectionQueueLength 30
MaxThreads 50
ReadTimeout 300
User clamav
AllowSupplementaryGroups yes
ScanPE yes
ScanELF yes
DetectBrokenExecutables yes
ScanOLE2 yes
ScanMail yes
#ScanHTML yes
ScanArchive yes

Baixe o arquivo:
e coloque dentro de /usr/libexec/postfix/.

# gzip -d clamav-filter.sh.bz2
# chmod 0755 clamav-filter.sh
# mkdir -p /var/spool/filter
# chown clamav:clamav /var/spool/filter


Integrando spamassassin ao clamav-filter.

Edite o arquivo com vim /usr/libexec/posffix/clamav-filter.sh e altere a seguinte linha:

SENDMAIL="/usr/sbin/sendmail -i "

Para:

SENDMAIL="/usr/bin/spamc -f -e /usr/sbin/sendmail -i "

Configurando o spamassassin:

Entre no diretório /etc/mail/spamassassin e edite o arquivo local.cf e deixe como abaixo, lembrando que está em um nível baixo de segurança, podendo aumentar.

Obs.: Pode entrar nesse site e gerar a própria configuração do spamassassin:

# How many hits before a message is considered spam.
required_score 7.0

# Change the subject of suspected spam
rewrite_header subject *****NOME - POSSÍVEL SPAM*****

# Encapsulate spam in an attachment (0=no, 1=yes, 2=safe)
report_safe 1

# Enable the Bayes system
use_bayes 1

# Enable Bayes auto-learning
bayes_auto_learn 1

# Enable or disable network checks
skip_rbl_checks 0
use_razor2 1
#use_dcc 1
use_pyzor 1

# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
# - portuguese
#ok_languages pt

# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales all

Configurando o Greylist:

Instale o postgrey, edite o rc.local e acrescente a seguinte linha para iniciar o serviço: a linha abaixo já se encontra com todas as opções necessárias.

Dentro do main.cf acrescente a seguinte linha: sempre colocar a linha depois do reject_unauth_destination.

smtpd_recipient_restrictions = ...
reject_unauth_destination,
....
check_policy_service inet:127.0.0.1:60000,
....

postgrey --inet=127.0.0.1:60000 --delay=60 --retry-window=1 --auto-whitelist-clients=1 --dbdir=/var/spool/postfix/postgre -d

Configurando o SPF:

Dentro do master.cf acrescente a seguinte linha:

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

Dentro o main.cf acrescente a seguinte linha: sempre colocar a linha depois do reject_unauth_destination.

smtpd_recipient_restrictions = ...
reject_unauth_destination,
....
check_policy_service unix:private/policy,
....

8.1. Configurando conexões TLS pelo smtpd

# cd /etc/postfix

Criando as chaves:

# openssl req -new -outform PEM -out postfix.cert -newkey rsa:2048 -nodes -keyout postfix.key -keyform PEM -days 999 -x509

Preencha os campos que vão aparecer:

Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:MS
Locality Name (eg, city) []:CGR
Organization Name (eg, company) [Internet Widgits Pty Ltd]: empresa dominio.com.br
Organizational Unit Name (eg, section) []:nocc, network operation command center
Common Name (eg, YOUR name) []:admin
Email Address []: admin@dominio.com.br

Configuração no main.cf:

smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/postfix/postfix.cert
smtpd_tls_key_file = /etc/postfix/postfix.key
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

Configuração no master.cf:

tlsmgr unix - - n 300 1 tlsmgr

submission inet n - n - 15 smtpd
-o smtpd_enforce_tls=yes
-o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
smtps inet n - n - 15 smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,rejects

Página anterior     Próxima página

Páginas do artigo
   1. Iniciando a configuração
   2. SASL e usuário Vmail
   3. Configurando o master.cf
   4. Configurando a "peneira"
   5. Configurando o Courier Imap
Outros artigos deste autor

Destrinchando a compilação do Squid

Conhecendo o LXDE

Servidor NIS/NFS

Reforçando a segurança do MTA Postfix com o Apolicy

Fazendo hierarquia proxy/Squid

Leitura recomendada

MTA Selor: Servidor de E-mails - Novo Projeto GPL

Utilizando GMail (Google Mail) em seu cliente de email favorito

Qmail completo para Madriva 2006

Solução corporativa Expresso Livre, substituto de peso do Notes

Postfix fazendo relay SMTP do Gmail/Google Apps

  
Comentários
[1] Comentário enviado por volcom em 21/10/2011 - 11:49h

Legal!

Utilizei como webmail em um cliente o Squirrelmail, mas creio que existam outras ferramentas mais completas.

Alguma indicação?

Abraço e parabéns

[2] Comentário enviado por ecbr em 21/10/2011 - 14:56h

opa blz, bem, minha opinião, cada caso é um caso, existe muitas ferramentas de webmail livres que pode ser usada, tipo, o cliente fulano precisa de tais recursos vc usa esse webmail, cliente tal precisa desses então vc usa este, eu normalmente uso o roundcubemail ele tem tudo que preciso e atende meus clientes muito bem, caso algum necessite de algo em especifico eu me viro com ele para atender.

[3] Comentário enviado por aldopassos em 27/10/2011 - 09:20h

Bom dia amigo, estou com um problema e queria ver se alguem pode me dar uma luz, estamos com um servidor instalado com debian e postifix rodando normalmente enviando e recebendo de todos os principais servidores de e-mail (TERRA, YAHOO, HOTMAIL) porém há um específico que não consegue nos enviar mensagens, este servidor eu sei que utiliza o EXCHANGE e sempre que nos enviam mensagens o e-mail volta deizendo que não foi possível realizar a entrega e no meu servidor ela nem aparece, nem sequer no mail.log...
Se puder me dar uma luz do que posso fazer para resoolver o problema... Muito obrigado por enquanto...

[4] Comentário enviado por ecbr em 29/10/2011 - 17:48h

Colega tem certeza que não aparece nada no seu maillog, confirma ai, caso tenha algum minimo log post aqui caso não tenha mesmo, faça algumas checagens como por exemplo.

- fez o teste básico de ping? para ver se pelo menso responde o servidor EXCHANGE?

- chegou a fazer um teste de mx no nesse servidor especifico com EXCHANGE para saber se ele responde para isso vc pode usar o dig?

- você tem firewall, chegou a verificar se o servidor EXCHANGE por algum motivo não esta bloqueado no seu firewall?

- pode ser até problema de rota, tem vários pontos a checar.

caso não consiga resolver me passa mais detalhes no linuxplue@gmail.com que vamos tentar descobrir o que esta ocorrendo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts