Mail Gateway · 4 min read · Jan 03, 2026

Mailscanner/Exim Gateway Mit Communigate PRO Anleitung

Mailscanner/Exim Gateway Mit Communigate PRO Anleitung

In diesem Tutorial werden wir Mailscanner als Mail-Firewall vor einem Communigate Pro-Cluster installieren und einrichten. Dieses Tutorial wurde für die CENTOS 5.x Linux-Distribution geschrieben, sollte aber mit wenigen Modifikationen auch für andere Linux-basierte Systeme verwendet werden können. Das System wird mit SELinux im enforcing-Modus betrieben. Die Komponenten, die wir verwenden werden, umfassen:

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

Pakete installieren

Ich gehe davon aus, dass Sie ein nacktes CENTOS 5-System mit der Gruppe “Development Tools” installiert haben, daher werde ich nicht näher auf Themen wie Paketwahl und Partitionierung eingehen. Da wir bestimmte Software installieren müssen, die nicht Teil der Standard-CENTOS-Basis ist, müssen wir das System so konfigurieren, dass es das rpm-Repo von Dag Wieers verwendet, da er viele der benötigten Softwarepakete bereitstellt.

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

Damit haben wir das System so konfiguriert, dass es das rpmforge-Repo verwendet.

Für dieses Tutorial wird das Arbeitsverzeichnis /usr/local/src sein - alle Downloads sollten dort heruntergeladen und entpackt werden.

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

Sanesecurity Signaturen

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/

Pakete konfigurieren

Exim konfigurieren

Einführung

Um Exim mit Mailscanner auszuführen, benötigen Sie 2 Konfigurationsdateien: eine für den Daemon, der auf Port 25 lauscht und eingehende Mails akzeptiert, und eine andere für den Exim-Prozess, der die sauberen Mails liefert, die von Mailscanner gescannt wurden. Sie benötigen auch 2 Warteschlangen: eine für eingehende und eine für saubere, gescannte Mails.

Ich werde nicht auf alle Konfigurationsoptionen eingehen, die Exim bietet; ich gehe davon aus, dass Sie an anderer Stelle detaillierte Informationen zur Konfiguration eines normal laufenden Exim-Systems finden können, daher konzentriere ich mich nur auf die Bereiche, die spezifisch für dieses Setup sind.

  • Beginnen Sie also damit, Ihre Exim-Konfiguration zu sichern, und erstellen Sie dann die zweite Konfigurationsdatei für den ausgehenden Prozess.
cp /etc/exim/exim.conf /etc/exim/exim.conf.orig  
cp /etc/exim/exim.conf /etc/exim/exim_out.conf

Eingehendes Exim

Dies ist die Konfiguration für den Exim-Daemon, der auf Port 25 lauscht und die Nachrichten akzeptiert und sie zur Verarbeitung an Mailscanner in die Warteschlange stellt. Die Konfigurationsdatei ist /etc/exim/exim.conf.

Anti-Virus / Sanesecurity-Überprüfungen

Konfigurieren Sie den eingehenden Exim-Daemon (/etc/exim/exim.conf), um Clamav zu verwenden, um eingehende Mails zu scannen und virusinfizierte E-Mails sowie Bild- und PDF-Spam zur SMTP-Zeit abzulehnen.

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

Mail-Routing

Konfigurieren Sie die Domains, für die Sie Mails akzeptieren, wir werden diese in eine Datei /etc/exim/relay_domains hinzufügen.

# Beispiel /etc/exim/relay_domains
example.com

Geben Sie dies in der Exim-Konfiguration an:

domainlist relay_to_domains = lsearch;/etc/exim/relay_domains

Konfigurieren Sie das Routing der Domains, für die Sie Mails filtern, in der Datei /etc/exim/mail-routes.

# Beispiel /etc/exim/mail-routes
example.com: xxx.xxx.xxx.xxx:xxx.xxx.xxx.xxx # diese Domain befindet sich in einem CGP-Cluster mit 2 Frontend-Knoten
somedomain.com: xxx.xxx.xxx.xxx # dies liefert an eine CGP-Maschine

Konfigurieren Sie einen Router, um Mails für die Relay-Domains zu akzeptieren. Sie müssen dies unter dem check_backend: router hinzufügen (siehe Adressüberprüfung unten).

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

Mailscanner-Integration

Konfigurieren Sie das eingehende Exim so, dass es die Nachrichten nur in die Warteschlange stellt und nicht liefert, um Mailscanner die Verarbeitung zu ermöglichen.

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

RBLs

Konfigurieren Sie die RBLs unter 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

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.