Guida tecnica · 4 min read · Jan 03, 2026

Guida al Gateway Mailscanner/Exim con Communigate PRO

Guida al Gateway Mailscanner/Exim con Communigate PRO

In questo tutorial installeremo e configureremo Mailscanner come firewall per la posta di fronte a un cluster Communigate pro. Questo tutorial è stato scritto per la distribuzione Linux CENTOS 5.x, ma sono sicuro che può essere utilizzato per qualsiasi altro sistema basato su Linux con poche modifiche. Il sistema funzionerà con SELinux in modalità enforcing. I componenti che utilizzeremo includono:

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

Installazione dei pacchetti

Presumo che tu abbia installato un sistema CENTOS 5 bare bones con il gruppo “Development Tools” per lavorare, quindi non entrerò molto nei problemi come la selezione dei pacchetti e la disposizione delle partizioni. Poiché dovremo installare un certo software che non fa parte delle basi predefinite di CENTOS, dobbiamo configurare il sistema per utilizzare il repository rpm di Dag Wieers poiché lui pacchetta molti software di cui abbiamo bisogno.

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

Fatto ciò, abbiamo configurato il sistema per utilizzare il repository rpmforge.

Per questo tutorial, la directory di lavoro sarà /usr/local/src - tutti i download dovrebbero essere scaricati e estratti 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

Firme 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/

Configurare i pacchetti

Configurare Exim

Introduzione

Per eseguire exim con mailscanner hai bisogno di 2 file di configurazione, uno per il demone che ascolterà sulla porta 25 e accetterà la posta in arrivo e un altro per il processo exim che consegnerà la posta pulita che è stata scansionata da mailscanner. Hai anche bisogno di 2 code, una per la posta in arrivo e l’altra per la posta pulita che è stata scansionata.

Non mi soffermerò su tutte le opzioni di configurazione che exim fornisce; mi aspetto che tu possa ottenere informazioni dettagliate altrove su come configurare un sistema exim in esecuzione normale, quindi mi concentrerò solo su quelle aree specifiche per questa configurazione.

  • Quindi, per iniziare, esegui il backup della tua configurazione exim e poi crea il secondo file di configurazione per il processo in uscita.
cp /etc/exim/exim.conf /etc/exim/exim.conf.orig  
cp /etc/exim/exim.conf /etc/exim/exim_out.conf

Exim in entrata

Questa è la configurazione per il demone exim che ascolta sulla porta 25 e accetta i messaggi e li mette in coda per l’elaborazione da parte di mailscanner. Il file di configurazione è /etc/exim/exim.conf.

Controlli Anti-virus / Sanesecurity

Configura il demone exim in entrata (/etc/exim/exim.conf) per utilizzare clamav per scansionare la posta in arrivo e rifiutare le email infette da virus e lo spam di immagini e pdf al momento di smtp.

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

Routing della posta

Configura i domini per i quali accetti la posta; li aggiungeremo a un file /etc/exim/relay_domains.

# esempio /etc/exim/relay_domains
example.com

Specifica questo nella configurazione di exim:

domainlist relay_to_domains = lsearch;/etc/exim/relay_domains

Configura il routing dei domini per i quali stai filtrando la posta nel file /etc/exim/mail-routes.

#esempio /etc/exim/mail-routes
example.com: xxx.xxx.xxx.xxx:xxx.xxx.xxx.xxx #questo dominio è su un cluster CGP di 2 nodi front-end
somedomain.com: xxx.xxx.xxx.xxx # questo consegna a una macchina CGP

Configura un router per accettare la posta per i domini di relay. Devi aggiungere questo sotto il check_backend: router (vedi verifica dell’indirizzo qui sotto).

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

Integrazione di Mailscanner

Configura l’exim in entrata solo per mettere in coda i messaggi e non consegnarli per consentire a mailscanner di elaborarli.

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

RBL’s

Configura le RBL’s sotto 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

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.