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.rpmCom 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 offMailScanner
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.shClamav
yum install clamav clamav-db clamd -y
freshclamAssinaturas 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.shApache
yum install httpd php php-mysql php-gd php-eaccelerator -y /sbin/chkconfig --level 345 httpd onSpamassassin
yum install spamassassin -yFuzzy 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.wordsRazor
yum install razor-agentsMySQL
yum install mysql mysql-server -yMailwatch
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.confExim 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.sockRoteamento 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.comEspecifique isso na configuração do exim:
domainlist relay_to_domains = lsearch;/etc/exim/relay_domainsConfigure 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 CGPConfigure 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 = falseRBL’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.netReceba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.