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.rpmFatto 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 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
freshclamFirme 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/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.confExim 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.sockRouting 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.comSpecifica questo nella configurazione di exim:
domainlist relay_to_domains = lsearch;/etc/exim/relay_domainsConfigura 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 CGPConfigura 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 = falseRBL’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.netRicevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.