Guia técnico · 4 min read · Jan 03, 2026

Guia do Gateway Mailscanner/Exim Com Communigate PRO

Guia do Gateway Mailscanner/Exim Com Communigate PRO

Neste tutorial, estaremos instalando e configurando o Mailscanner como um firewall de e-mail na frente de um cluster Communigate pro. Este tutorial foi escrito para a distribuição Linux CENTOS 5.x, mas tenho certeza de que pode ser usado para qualquer outro sistema baseado em Linux com pequenas modificações. O sistema funcionará com o SELinux em modo de aplicação. Os componentes que usaremos incluem:

  • Mailscanner
  • Clamav
  • exim
  • apache
  • mailwatch
  • razor
  • spamassassin
  • mysql
  • fuzzy ocr
  • assinaturas sanesecurity
  • mailfeeder

Instalar Pacotes

Assumo que você instalou um sistema CENTOS 5 básico com o grupo “Development Tools” para trabalhar, então não entrarei em questões como seleção de pacotes e layout de partições. Como precisaremos instalar certos softwares que não fazem parte das bases padrão do CENTOS, precisamos configurar o sistema para usar o repositório rpm do Dag Wieers, pois ele empacota muitos softwares que precisamos.

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Com isso feito, configuramos o sistema para usar o repositório rpmforge.

Para este tutorial, o diretório de trabalho será /usr/local/src - todos os downloads devem ser baixados e extraídos lá.

Exim

yum install exim -y  
/usr/sbin/alternatives --set mta /usr/sbin/sendmail.exim  
service sendmail stop  
/sbin/chkconfig --level 345 sendmail off  
/sbin/chkconfig --level 345 exim off

MailScanner

wget http://www.mailscanner.info/files/4/rpm/MailScanner-4.66.5-3.rpm.tar.gz  
tar xzvf MailScanner-4.66.5-3.rpm.tar.gz  
cd MailScanner-4.66.5-3  
./install.sh

Clamav

yum install clamav clamav-db clamd -y  
freshclam

Assinaturas Sanesecurity

wget http://www.sanesecurity.co.uk/clamav/update_sanesecurity.txt -O /usr/local/bin/update_sanesecurity.sh  
chmod +x /usr/local/bin/update_sanesecurity.sh  
ln -s /usr/local/bin/update_sanesecurity.sh /etc/cron.hourly/  
/usr/local/bin/update_sanesecurity.sh

Apache

yum install httpd php php-mysql php-gd php-eaccelerator -y /sbin/chkconfig --level 345 httpd on

Spamassassin

yum install spamassassin -y

Fuzzy OCR

yum install netpbm-progs ocrad gocr gifsicle giflib-utils giflib -y  
svn co svn://svn.own-hero.net/fuzzyocr/trunk/devel  
cd devel/  
perl -MCPAN -e 'install String::Approx'  
perl -MCPAN -e 'install Time::HiRes'  
perl -MCPAN -e 'install Log::Agent'  
cp -rv {FuzzyOcr.cf,FuzzyOcr.scansets,FuzzyOcr.preps,FuzzyOcr.pm,FuzzyOcr.words,FuzzyOcr/} /etc/mail/spamassassin  
chcon -R system_u:object_r:etc_mail_t /etc/mail/spamassassin/{FuzzyOcr.cf,FuzzyOcr.scansets,FuzzyOcr.preps,FuzzyOcr.pm,FuzzyOcr.words,FuzzyOcr/}  
wget http://www.gbnetwork.co.uk/mailscanner/FuzzyOcr.words -O /etc/mail/spamassassin/FuzzyOcr.words

Razor

yum install razor-agents

MySQL

yum install mysql mysql-server -y

Mailwatch

wget http://dfn.dl.sourceforge.net/sourceforge/mailwatch/mailwatch-1.0.4.tar.gz  
tar xzvf mailwatch-1.0.4.tar.gz  
cd mailwatch-1.0.4  
cp -av mailscanner/* /var/www/html/  
cp /var/www/html/conf.php.example /var/www/html/conf.php  
mkdir /var/www/html/temp  
chmod u+rwx /var/www/html/temp  
rm -f /var/www/html/{index.php,xml,jpgraph,fpdf}  
cp /var/www/html/status.php /var/www/html/index.php  
mv /var/www/html/jpgraph-1.12.1 /var/www/html/jpgraph  
mv /var/www/html/fpdf152 /var/www/html/fpdf  
mv /var/www/html/xmlrpc_1.2 /var/www/html/xmlrpc  
chown apache.apache -R /var/www/html/  
chmod ug+rwx /var/www/html/images  
chmod ug+rwx /var/www/html/images/cache  
chcon -R system_u:object_r:httpd_sys_content_t /var/www/html/  
cp MailWatch.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/  
cp SQLBlackWhiteList.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/  
cp tools/db_clean.php /usr/local/bin/  
cp tools/quarantine_maint.php /usr/local/bin/

Mailfeeder

wget http://www.pldaniels.com/mailfeeder/mailfeeder-0.2.3.tar.gz  
tar xzvf mailfeeder-0.2.3.tar.gz  
cd mailfeeder-0.2.3  
make  
cp mailfeeder /usr/local/bin/

Configurar Pacotes

Configurar Exim

Introdução

Para executar o exim com o mailscanner, você precisa de 2 arquivos de configuração, um para o daemon que irá escutar na porta 25 e aceitar e-mails recebidos e outro para o processo exim que irá entregar o e-mail limpo que foi escaneado pelo mailscanner. Você também requer 2 filas, uma para e-mails recebidos e outra para e-mails limpos que foram escaneados.

Não vou me aprofundar em todas as opções de configuração que o exim fornece, espero que você consiga obter informações detalhadas em outro lugar sobre como configurar um sistema exim em funcionamento normal, então focarei apenas nas áreas que são específicas para esta configuração.

  • Então, para começar, faça um backup da sua configuração do exim e depois crie o segundo arquivo de configuração para o processo de saída.
cp /etc/exim/exim.conf /etc/exim/exim.conf.orig  
cp /etc/exim/exim.conf /etc/exim/exim_out.conf

Exim de Entrada

Esta é a configuração para o daemon exim que escuta na porta 25 e aceita as mensagens e as coloca em fila para o mailscanner processar. O arquivo de configuração é /etc/exim/exim.conf.

Verificações Anti-vírus / Sanesecurity

Configure o daemon exim de entrada (/etc/exim/exim.conf) para usar o clamav para escanear e-mails recebidos e rejeitar e-mails infectados por vírus e spam de imagem e pdf no tempo smtp.

av_scanner = clamd:/var/run/clamav/clamd.sock

Roteamento de E-mail

Configure os domínios para os quais você aceita e-mail, adicionaremos isso a um arquivo /etc/exim/relay_domains.

# exemplo /etc/exim/relay_domains
example.com

Especifique isso na configuração do exim:

domainlist relay_to_domains = lsearch;/etc/exim/relay_domains

Configure o roteamento dos domínios para os quais você está filtrando e-mails no arquivo /etc/exim/mail-routes.

#exemplo /etc/exim/mail-routes
example.com: xxx.xxx.xxx.xxx:xxx.xxx.xxx.xxx #este domínio está em um cluster CGP de 2 nós front-end
somedomain.com: xxx.xxx.xxx.xxx # isso entrega para uma máquina CGP

Configure um roteador para aceitar e-mails para os domínios de retransmissão. Você precisa adicionar isso sob o check_backend: router (veja a verificação de endereço abaixo).

deliver_clean:
  driver = manualroute
  domains = +relay_to_domains
  transport = remote_smtp
  route_data = ${lookup{$domain}lsearch{/etc/exim/mail-routes}}

Integração do Mailscanner

Configure o exim de entrada apenas para colocar as mensagens em fila e não entregar para permitir que o mailscanner as processe.

spool_directory = /var/spool/exim.in
process_log_path = /var/spool/exim/exim-process.info
queue_only = true
queue_only_override = false

RBL’s

Configure os RBL’s sob acl_check_rcpt:

drop    message       = REJECTED because $sender_host_address is in a black list spamhaus.org
           dnslists      = xen.spamhaus.org
drop    message       = REJECTED because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
           dnslists      = bl.spamcop.net
drop    message       = REJECTED because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
           dnslists      = dnsbl.sorbs.net
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.