Posts tagged: postfix

Como restringir alguns usuários do Zimbra a enviar e/ou receber emais para apenas o domínio local

Certa vez um cliente me pediu para restringir apenas alguns usuários do Zimbra a enviar e receber emails apenas para o domínio do correio da empresa. Fuçando na internet, não achei uma documentação que explicasse como fazer ambas as restrições, apenas cada uma separadamente.
Infelizmente, as inúmeras soluções existentes no Wiki do Zimbra não coexistem em paz. Fui procurar ajuda na documentação oficial do Postfix. Resolvi meu problema e vou postar aqui como.
Este tutorial é baseado no Zimbra Colaboration Suite 5.0.14 Open Source.

PS.: Tudo é feito com o usuário zimbra. Para utilizar este usuário, logue-se como root e digite:

su – zimbra

Edite o arquivo /opt/zimbra/conf/zmmta.cf

Procure a linha:

POSTCONF virtual_transport   LOCAL postfix_virtual_transport

Logo abaixo a ela, adicione as seguintes linhas:

POSTCONF smtpd_sender_restrictions          FILE postfix_sender_restrictions.cf
POSTCONF smtpd_restriction_classes          restringe_envio,restringe_recebimento
POSTCONF restringe_envio                    FILE postfix_restringe_envio.cf
POSTCONF restringe_recebimento                    FILE postfix_restringe_recebimento.cf

Agora crie o arquivo /opt/zimbra/conf/enviar com o seguinte conteúdo:

contarestrita@dominiodaempresa.com.br restringe_envio

Crie o arquivo /opt/zimbra/conf/receber com o seguinte conteúdo:

contarestrita@dominiodaempresa.com.br restringe_recebimento

Crie o arquivo /opt/zimbra/conf/dominios com o seguinte conteúdo:

dominiodaempresa.com.br OK

Troque o “dominiodaempresa.com.br” pelo seu domínio do correio.

Edite o arquivo /opt/zimbra/conf/postfix_recipient_restrictions.cf e adicione isto NA PRIMEIRA LINHA DO ARQUIVO:

check_recipient_access hash:/opt/zimbra/conf/receber

Crie o arquivo /opt/zimbra/conf/postfix_restringe_recebimento.cf com o seguinte conteúdo:

check_sender_access hash:/opt/zimbra/conf/dominios, reject

Crie o arquivo /opt/zimbra/conf/postfix_restringe_envio.cf com o seguinte conteúdo:

check_recipient_access hash:/opt/zimbra/conf/dominios, reject

Crie o arquivo /opt/zimbra/conf/postfix_sender_restrictions.cf com o seguinte conteúdo:

check_sender_access hash:/opt/zimbra/conf/enviar

Pra finalizar, crie os db’s dos arquivos “enviar“, “receber“, e “dominios” para que o postfix possa lê-los:

cd /opt/zimbra/conf
postmap enviar
postmap receber
postmap dominios

Reinicie o MTA do zimbra:

zmmtactl stop
zmmtactl start

Vou explicar para que servem os 3 arquivos principais:

  • /opt/zimbra/conf/dominios

Lista dos domínios permitidos para os usuarios contidos nos arquivos enviar e receber

  • /opt/zimbra/conf/enviar

Lista dos usuários que só podem enviar emails para os domínios contidos em /opt/zimbra/conf/dominios. Separe cada usuário por linha, respeitando a sintaxe do arquivo.

  • /opt/zimbra/conf/receber

Lista dos usuários que só podem receber emails dos domínios contidos em /opt/zimbra/conf/dominios. Separe cada usuário por linha, respeitando a sintaxe do arquivo.

Espero ter ajudado :)

Usando o Postfix como Gateway para filtro de mensagens (ClamAV + SpamAssassin) no Debian Etch

Hoje eu precisei ajudar um amigo a configurar um Postfix no firewall para que ele receba as mensagens de correio eletrônico, filtre seu conteúdo e mande-as para o servidor de correio interno (Qmail). Resolvi postar a solução aqui no blog, baseada nas documentações encontradas neste link e neste link.

Vamos lá. Para instalar o Postfix, o Clamav e o Spamassassin:

apt-get install postfix spamassassin spamc clamav

Agora edite o arquivo /etc/defaults/spamassassin e mude ENABLED=0 para ENABLED=1. Edite também o arquivo /etc/spamassassin/local.cf e descomente as linhas:

rewrite_header Subject *****SPAM*****

report_safe 1

required_score 5

use_bayes 1

bayes_auto_learn 1

Inicie o serviço do spamassassin:

/etc/init.d/spamassassin start

Agora crie a pasta /var/spool/filter

mkdir /var/spool/filter

chown clamav /var/spool/filter

Dentro do arquivo /etc/postfix/master.cf procure pela linha que começa com smtp inet e altere para que fique como abaixo:

smtp inet n – n – – smtpd

-o content_filter=clamav:clamav

Dentro do mesmo arquivo, adicione após a última linha:

clamav unix – n n – 15 pipe

flags=Rq user=clamav argv=/usr/lib/postfix/clamav-filter.sh -f ${sender} — ${recipient}

Ainda no master.cf, procure a linha que começa com a palavra local e comente-a.

Agora vamos para o arquivo /etc/postfix/main.cf. Procure as linhas abaixo, altere as que existirem como está abaixo (ou acrescente as linhas que nao existirem):

myorigin = seudominio.com

mydestination =

local_recipient_maps =

local_transport = error:local mail delivery is disabled

mynetworks = 127.0.0.0/8 12.34.56.0/24 # sua rede interna

relay_domains = correio.local # a sua maquina de correio para a qual o gateway vai mandar os emails

parent_domain_matches_subdomains = debug_peer_list smtpd_access_maps

relay_recipient_maps =

transport_maps = hash:/etc/postfix/transport

command_time_limit = 1h

Agora, crie o arquivo /etc/postfix/transport com a linha:

seudominio.com smtp:correio.local

Execute:

postmap /etc/postfix/transport

Baixe o script do Deives Michellis para a pasta /usr/lib/postfix

cd /usr/lib/postfix

wget http://www.parruda.net/downloads/clamav-filter.sh

chmod +x clamav-filter.sh

E pronto! Agora mande um

/etc/init.d/postfix restart

tail -f /var/log/mail.info

e monitore se as mensagens estão sendo repassadas para o seu servidor da rede local, e se estão indo filtradas!

WordPress Themes