Guía técnica · 4 min read · Jan 03, 2026
Guía de Mailscanner/Exim Gateway con Communigate PRO
Guía de Mailscanner/Exim Gateway con Communigate PRO
En este tutorial, instalaremos y configuraremos Mailscanner como un cortafuegos de correo frente a un clúster de Communigate pro. Este tutorial ha sido escrito para la distribución de Linux CENTOS 5.x, pero estoy seguro de que se puede usar para cualquier otro sistema basado en Linux con pocas modificaciones. El sistema funcionará con SELinux en modo de aplicación. Los componentes que utilizaremos incluyen:
- Mailscanner
- Clamav
- exim
- apache
- mailwatch
- razor
- spamassassin
- mysql
- fuzzy ocr
- firmas de sanesecurity
- mailfeeder
Instalar Paquetes
Asumo que has instalado un sistema CENTOS 5 básico con el grupo “Development Tools” para trabajar, así que no entraré mucho en temas como la selección de paquetes y el diseño de particiones. Como necesitaremos instalar cierto software que no forma parte de las bases predeterminadas de CENTOS, necesitamos configurar el sistema para usar el repositorio rpm de Dag Wieers, ya que empaqueta mucho del software que necesitamos.
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpmCon eso hecho, hemos configurado el sistema para usar el repositorio rpmforge.
Para este tutorial, el directorio de trabajo será /usr/local/src - todas las descargas deben ser descargadas y extraídas allí.
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
freshclamFirmas de 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 Paquetes
Configurar Exim
Introducción
Para ejecutar exim con mailscanner, necesitas 2 archivos de configuración, uno para el demonio que escuchará en el puerto 25 y aceptará correo entrante, y otro para el proceso de exim que entregará el correo limpio que ha sido escaneado por mailscanner. También necesitas 2 colas, una para el correo entrante y la otra para el correo limpio que ha sido escaneado.
No me detendré en todas las opciones de configuración que proporciona exim, espero que puedas obtener información detallada en otros lugares sobre cómo configurar un sistema exim en funcionamiento normal, así que solo me centraré en aquellas áreas que son específicas para esta configuración.
- Así que para comenzar, haz una copia de seguridad de tu configuración de exim y luego crea el segundo archivo de configuración para el proceso de salida.
cp /etc/exim/exim.conf /etc/exim/exim.conf.orig
cp /etc/exim/exim.conf /etc/exim/exim_out.confExim Entrante
Esta es la configuración para el demonio exim que escucha en el puerto 25 y acepta los mensajes y los coloca en cola para que los procese mailscanner. El archivo de configuración es /etc/exim/exim.conf.
Anti-virus / Comprobaciones de Sanesecurity
Configura el demonio exim entrante (/etc/exim/exim.conf) para usar clamav para escanear el correo entrante y rechazar correos electrónicos infectados por virus y spam de imágenes y pdf en el tiempo smtp.
av_scanner = clamd:/var/run/clamav/clamd.sockEnrutamiento de Correo
Configura los dominios para los que aceptas correo, los agregaremos a un archivo /etc/exim/relay_domains.
# ejemplo /etc/exim/relay_domains
example.comEspecifica esto en la configuración de exim:
domainlist relay_to_domains = lsearch;/etc/exim/relay_domainsConfigura el enrutamiento de los dominios para los que estás filtrando correo en el archivo /etc/exim/mail-routes.
#ejemplo /etc/exim/mail-routes
example.com: xxx.xxx.xxx.xxx:xxx.xxx.xxx.xxx #este dominio está en un clúster CGP de 2 nodos frontales
somedomain.com: xxx.xxx.xxx.xxx # esto entrega a una máquina CGPConfigura un enrutador para aceptar correo para los dominios de reenvío. Necesitas agregar esto bajo el check_backend: router (ver verificación de dirección a continuación).
deliver_clean:
driver = manualroute
domains = +relay_to_domains
transport = remote_smtp
route_data = ${lookup{$domain}lsearch{/etc/exim/mail-routes}}Integración de Mailscanner
Configura el exim entrante solo para colocar los mensajes en cola y no entregar para permitir que mailscanner los procese.
spool_directory = /var/spool/exim.in
process_log_path = /var/spool/exim/exim-process.info
queue_only = true
queue_only_override = falseRBL’s
Configura los RBL’s bajo acl_check_rcpt:
drop message = RECHAZADO porque $sender_host_address está en una lista negra spamhaus.org
dnslists = xen.spamhaus.org
drop message = RECHAZADO porque $sender_host_address está en una lista negra en $dnslist_domain\n$dnslist_text
dnslists = bl.spamcop.net
drop message = RECHAZADO porque $sender_host_address está en una lista negra en $dnslist_domain\n$dnslist_text
dnslists = dnsbl.sorbs.netRecibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.