Bei den Virtual Server-Angeboten von Strato ist für SuSE Linux inkl. Plesk kein SpamAssassin Lizenzkey mit dabei. Darum ist Handarbeit gefragt, denn man kann das Antispam-Programm selbst nachrüsten. Mit Hilfe von Huschis SpamAssassin-Tutorial aus dem serversupportforum und Unterstützung von Fabian Off aka „Fabs“ (Studienkumpel von Daniel) habe ich es als Linux-Neuling geschafft, den Spamtöter anzuheuern. Während der Installation sind einige Fehlermeldungen aufgetaucht, die im eigentlichen gar keine Fehler sind, sondern nur Hinweise. Also bitte nicht abschrecken lassen!
Die gesamte Installation wird über die Linux Konsole gesteuert. Die Begriffe, welche in die Konsole einzutippen sind, werde ich fett markieren. Die daraus resultierenden Hinweismeldungen werden kursiv dargestellt und meine eigenen Kommentare (bitte nicht mit eintippen) werde ich mit vorangestellten // auszeichnen.
Als kleiner Zusatz wird in diesem Tutorial auch noch das Antivirus-Programm ClamAV installiert, welches Emails auf Viren überprüft.
SpamAssassin installieren
// Das SpamAssasin-Paket über YaST installieren
yast -i spamassassin
// SpamAssassin starten. Bei einem erstmaligen Aufruf wird dadurch die Konfigurationsdatei user_prefs erstellt. Eine solche Datei kann mit dem SpamAssassin Configuration Generator an die eigenen Wünsche anpasst werden.
/etc/init.d/spamd start
warn: config: created user preferences file: /root/.spamassassin/user_prefs
// Virenscanner ClamAV über YaST installieren
yast -i clamav
// Init-Skript für ClamAV aktivieren (erzeugt einen Autostart von ClamAV)
insserv clamd
// Init-Skript für den Updater von ClamAV (freshclam) aktivieren.
// Im Normalfall sollte diese Datei schon existieren.
insserv freshclam
insserv: can not symlink(../vzquota, rc0.d/S11vzquota): File exists
// ClamAV starten
/etc/init.d/clamd start
// Updater von ClamAV starten
/etc/init.d/freshclam start
// Update von ClamAV ausführen
// Bitte nicht von den vielen Fehlermeldungen abschrecken lassen, solange „Downloading daily.cvd [100%]“ und „Database updated“ erscheinen, ist alles okay
freshclam -v
Current working dir is /var/lib/clamav
Max retries == 3
ClamAV update process started at Fri Jan 23 16:13:32 2009
Using IPv6 aware code
Querying current.cvd.clamav.net
TTL: 71
Software version from DNS: 0.94.2
main.cvd version from DNS: 49
main.cvd is up to date (version: 49, sigs: 437972, f-level: 35, builder: sven)
daily.cvd version from DNS: 8897
Retrieving http://database.clamav.net/daily-8684.cdiff
Trying to download http://database.clamav.net/daily-8684.cdiff (IP: 85.214.20.182)
WARNING: getfile: daily-8684.cdiff not found on remote server (IP: 85.214.20.182)
WARNING: getpatch: Can’t download daily-8684.cdiff from database.clamav.net
Retrieving http://database.clamav.net/daily-8684.cdiff
Trying to download http://database.clamav.net/daily-8684.cdiff (IP: 85.214.20.182)
WARNING: getfile: daily-8684.cdiff not found on remote server (IP: 85.214.20.182)
WARNING: getpatch: Can’t download daily-8684.cdiff from database.clamav.net
Retrieving http://database.clamav.net/daily-8684.cdiff
Trying to download http://database.clamav.net/daily-8684.cdiff (IP: 85.214.20.182)
WARNING: getfile: daily-8684.cdiff not found on remote server (IP: 85.214.20.182)
WARNING: getpatch: Can’t download daily-8684.cdiff from database.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
Retrieving http://database.clamav.net/daily.cvd
Trying to download http://database.clamav.net/daily.cvd (IP: 85.214.20.182)
Downloading daily.cvd [100%]
daily.cvd updated (version: 8897, sigs: 61172, f-level: 38, builder: edwin)
Database updated (499144 signatures) from database.clamav.net (IP: 85.214.20.182)
// Nach einem erfolgreichen Update sollten ClamAV und Freshclam sich neu starten. Falls dies nicht passiert (kann mit ps -u vscan überprüft werden), müssen die beiden Prozesse manuell neu gestartet werden.
/etc/init.d/clamd start
/etc/init.d/freshclam start
// ripMIME (Extrahierer für Email-Dateianhänge) installieren
cd /usr/local/src
wget http://www.pldaniels.com/ripmime/ripmime-1.4.0.5.tar.gz
tar zxvf ripmime-1.4.0.5.tar.gz
cd ripmime-1.4.0.5
// Die GNU Compiler Collection (GCC) installieren, um C Code kompilieren zu können
yast -i gcc
// ripMIME kompilieren
make
make install
// Symbolische Verknüpfung (engl. Symlink) für ripMIME anlegen
ln -s /usr/local/bin/ripmime /usr/bin/
// qSheff für die Verknüpfung von ClamAV und SpamAssassin installieren
cd /usr/local/src
wget http://www.huschi.net/download/qsheff-1.0-r4.tar.gz
tar -xzvf qsheff-1.0-r4.tar.gz
cd qsheff-1.0-r4
./configure
make
// Mailserver qmail anhalten
/etc/init.d/qmail stop
// Backup der Datei qmail-queue anlegen (Original wird später verändert)
cp -p /var/qmail/bin/qmail-queue /var/qmail/bin/qmail-queue.bak
// qSheff installieren
make install
// qSheff Konfiguration editieren
edit /usr/local/etc/qsheff/qsheff.conf
// In der Zeile von VIRUS_PROG den Pfad anpassen auf:
# VIRUS_PROG = „/usr/bin/clamdscan –-quiet“
// qSheff Schnittstelle installieren
/usr/local/etc/qsheff/install-wrapper.sh
// SpamAssassin in die qmail-queue einbinden:
rm -f /var/qmail/bin/qmail-queue
echo ‚#!/bin/sh‘ >/var/qmail/bin/qmail-queue
echo ‚/usr/bin/spamc | /var/qmail/bin/qmail-qsheff‘ >>/var/qmail/bin/qmail-queue
chmod 4755 /var/qmail/bin/qmail-queue
// Mailserver qmail wieder starten
/etc/init.d/qmail start
FEEEEEEEEEEEEEEEERTIG!
Mit dem Befehl ps aux | grep spamd lässt sich überprüfen, ob SpamAssassine läuft. Nach Ausführung des Befehls müsste mehr als 1 Eintrag erscheinen. Sollte SpamAssassin nicht laufen, hilft der Befehl /etc/init.d/spamd start.
Außerdem müssten in den Kopfdaten eingehender Spam-Emails jetzt folgende Zeilen zu finden sein:
Beispiel:
Received: (qmail 15739 invoked by uid 110); 11 Mar 2009 20:30:51 +0100
X-Mail-Scanner: Scanned by qSheff 1.0-r4 (http://www.enderunix.org/qsheff/)
Delivered-To: 5-user@email.de
Received: (qmail 15730 invoked from network); 11 Mar 2009 20:30:49 +0100
X-Mail-Scanner: Scanned by qSheff 1.0-r4 (http://www.enderunix.org/qsheff/)
X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on server
X-Spam-Level: *************
X-Spam-Status: Yes, score=13.5 required=5.0 tests=DYN_RDNS_AND_INLINE_IMAGE,