ASSP mit eingebettetem ClamAV, integriert in Postfix mit virtuellen Benutzern und Domains
Version 1.0
Author: Oliver Meyer <o [dot] meyer [at] projektfarm [dot] de>
Diese Anleitung veranschaulicht, wie man ASSP (Anti-Spam SMTP Proxy) mit eingebettetem ClamAV in einen Mail Server, basierend auf Postfix mit virtuellen Benutzern und Domains, integriert. Das heißt Benutzer und Domains, die sich in einer MySQL Datenbank befinden. Dies beruht auf Teilen der Anleitung Users And Domains With Postfix, Courier And MySQL (Debian Etch) von Falko Timme.
Der daraus resultierende Postfix Server ist funktionsmäßig fast identisch mit dem, in der oben genannten Anleitung, er benötigt allerdings kein Amavisd. ASSP bietet ein angenehmes Web Interface für Setup/Konfiguration.
Diese Anleitung ist ein praktischer Leitfaden; theoretisches Hintergrundwissen wird nicht abgedeckt. Dies findest Du in zahlreichen anderen Dokumenten im Netz.
Dieses Anleitung ist ohne jegliche Gewähr! Ich möchte darauf hinweisen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten dieses Ziel zu erreichen – dies ist der Weg, den ich gewählt habe. Ich übernehme keine Garantie, dass dies auch bei Dir funktioniert!
1 Vorbereitung
Bitte folge den Anweisungen der Anleitung Users And Domains With Postfix, Courier And MySQL (Debian Etch) von Falko Timme von Schritt 1 – 8 + 13 bevor Du weiter machst.
2 Benötigte Pakete
Zuerst müssen wir ein paar Pakete installieren, die von ASSP benötigt werden:
apt-get install libcompress-zlib-perl libdigest-md5-perl libemail-valid-perl libfile-readbackwards-perl libmail-spf-query-perl libmail-srs-perl libnet-dns-perl libsys-syslog-perl libnet-ldap-perl libtime-hires-perl unzip
3 ASSP beziehen
Lade ASSP runter und entpacke es:
cd /usr/src/
wget http://mesh.dl.sourceforge.net/sourceforge/assp/ASSP_1.3.3.1-Install.zip
unzip ASSP_1.3.3.1-Install.zip
4 ASSP installieren
Bereite einige Verzeichnisse vor:
mkdir -p /usr/share/assp/spam
mkdir /usr/share/assp/notspam
mkdir /usr/share/assp/errors
mkdir /usr/share/assp/errors/spam
mkdir /usr/share/assp/errors/notspam
Kopiere ASSP an den richtigen Zielort:
cd /usr/src/ASSP_1.3.3.1-Install/
cp -R ASSP/* /usr/share/assp/
5 Ein Skript erstellen
Für die Anwendung von ASSP erstellen wir folgendes Skript (Dank an Ivo Schaap) und die Runlevel-Einträge für den Autostart:
vi /etc/init.d/assp
#!/bin/sh -e # Start or stop ASSP # # Ivo Schaap <[email protected]> PATH=/bin:/usr/bin:/sbin:/usr/sbin case "$1" in start) echo -n "Starting the Anti-Spam SMTP Proxy" cd /usr/share/assp perl assp.pl ;; stop) echo -n "Stopping the Anti-Spam SMTP Proxy" kill -9 `ps ax | grep "perl assp.pl" | grep -v grep | awk '{ print $1 }'` ;; restart) $0 stop || true $0 start ;; *) echo "Usage: /etc/init.d/assp {start|stop|restart}" exit 1 ;; esac exit 0
Ändere die Berechtigung:
chmod 755 /etc/init.d/assp
Erstelle die Runlevel-Einträge:
update-rc.d assp defaults
Starte ASSP erstmalig:
/etc/init.d/assp start
6 ASSP Basis-Konfiguration
Jetzt wird es Zeit für die anfängliche Konfiguration. Öffne http://%host%:55555 in einem Browser Deiner Wahl. Melde Dich mit einem Namen und dem Passwort nospam4me an.
Öffne nun die Registerkarte Server Setup. Markiere das Ankreuzfeld Run ASSP as a daemon und gib als Nächstes nobody für die UID und nogroup für die GID ein. Übernimm die Änderungen mit dem entsprechendem Feld rechts unten.
Aufgrund der Änderungen der UID und GID müssen wir die Berechtigungen für das ASSP-Verzeichnis ändern:
chown -R nobody:nogroup /usr/share/assp/
Öffne danach die Registerkarte Relaying und füge Deine Accept All Mail und Local Domains hinzu. Übernimm die Änderungen.
Öffne nun die Registerkarte Test Modes und markiere alle Ankreuzfelder. Nachdem ASSP 500 – 1000 Mails gelernt hat, wird die Spam-Erkennung wirksam und Du kannst die Markierungen dieser Ankreuzfelder entfernen.
7 Installation von ClamAV
Wir installieren ClamAV aus der Debian Paketdatenbank:
apt-get install clamav clamav-daemon
8 Installation des ClamAV Perl Moduls
Die Installation des ClamAV Perl Moduls ist etwas knifflig, da dieses Modul eine alte Version ist. Der folgende Perl-Test wird mit vielen Fehlern fehlschlagen, ist aber für den Download des Modules notwendig.
Merke: Wenn Du gefragt wirst, ob Du Perl manuell konfigurieren möchtest, wähle no ? Die Konfiguration wird automatisch durchgeführt.
perl -MCPAN -e shell
test File::Scan::ClamAV
look File::Scan::ClamAV
vi clamav.conf
Ändere:
LocalSocket /root/.cpan/build/File-Scan-ClamAV-1.8/clamsock Foreground MaxThreads 1 ScanArchive ArchiveMaxFileSize 1M ArchiveMaxRecursion 1 ArchiveMaxFiles 2
zu:
LocalSocket /root/.cpan/build/File-Scan-ClamAV-1.8/clamsock Foreground true MaxThreads 1 ScanArchive true ArchiveMaxFileSize 1M ArchiveMaxRecursion 1 ArchiveMaxFiles 2
Installiere danach das Modul:
make install
9 ClamAV in ASSP integrieren
Nach der Installation von ClamAV und dem dazugehörigen Perl Modul, ist ClamAV für ASSP zugänglich. Wechsle zurück zum ASSP Web-Interface und öffne die Registerkarte Attachments & Viruses. Füge /var/run/clamav/clamd.ctl Port or file socket for ClamAV hinzu und übernimm die Änderungen.
10 ASSP in Postfix integrieren
Der einfachste Teil…
vi /etc/postfix/master.cf
Ändere:
smtp inet n - - - - smtpd
zu:
125 inet n - - - - smtpd
Starte Postfix neu:
/etc/init.d/postfix restart
11 Links
- ASSP: http://assp.sourceforge.net/
- ASSP Wiki: http://www.asspsmtp.org/wiki/Welcome
- ClamAV: http://www.clamav.org/
- Postfix: http://www.postfix.org/