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.rpmDamit 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 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
freshclamSanesecurity 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.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/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.confEingehendes 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.sockMail-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.comGeben Sie dies in der Exim-Konfiguration an:
domainlist relay_to_domains = lsearch;/etc/exim/relay_domainsKonfigurieren 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-MaschineKonfigurieren 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 = falseRBLs
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.netErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.