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: 38.446 ]

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

Conhecendo o LXDE

Criando delay pools (Proxy/Squid)

Destrinchando a compilação do Squid

Fazendo hierarquia proxy/Squid

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

Leitura recomendada

Instalando o servidor de mensagens Postfix no Slackware 10.1

Usando Spammer e SpamDomains no sendmail

Qmail Auditor, auditoria no servidor Qmail

Configurando várias contas de e-mail no Thunderbird

Solução completa com o sendmail

  
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