Spamfilter · 5 min read · Sep 27, 2025

Der perfekte SpamSnake - Ubuntu Jaunty Jackalope

Der perfekte SpamSnake - Ubuntu Jaunty Jackalope

Autor: Mohammed Alli

Postfix w/Bayesian Filtering und Anti-Backscatter (Relay Recipients), Apache, Mysql, Dnsmasq, MailScanner (Spamassassin, ClamAV, Pyzor, Razor, DCC-Client), MailWatch, SPF-Checks, FuzzyOcr, PDF/XLS/Phishing Sanesecurity Signaturen, Postfix-GLD (Greylisting Optional), Logwatch Statistische Berichterstattung (Optional), Ausgehender Haftungsausschluss mit alterMIME (Optional), FireHOL (Iptables Firewall)

Version 2.5

Dieses Tutorial zeigt, wie man einen auf Ubuntu Jaunty Jackalope basierenden Server als Spamfilter im Gateway-Modus einrichtet. Am Ende haben Sie ein SpamSnake-Gateway, das saubere E-Mails an Ihren MTA weiterleitet. Sie werden auch in der Lage sein, Ihre eingehende Warteschlange zu sehen, Ihre SpamSnake zu trainieren und einige weitere fortgeschrittene Operationen über MailWatch durchzuführen.

Ich kann keine Garantien geben, dass dies bei Ihnen funktioniert, so wie es bei mir funktioniert.

Ich werde die folgende Software verwenden:

  • Webserver: Apache 2 mit PHP 5
  • Datenbankserver: MySQL 5.0
  • Mailserver: Postfix
  • Caching DNS-Server: Dnsmasq
  • MailScanner: MailScanner v4.76
  • MailWatch: MailWatch v1.0.4

Dank geht an die Jungs von HowtoForge und die Entwickler von MailScanner, MailWatch, ClamAV, Apache, Mysql und Postfix.

Installieren Sie das Basissystem mit der Minimaloption.

1. Root-Rechte erhalten

Aktivieren Sie den Root-Login, indem Sie Folgendes ausführen und dem Root ein Passwort geben. Sie können sich dann direkt als Root anmelden:

sudo passwd root

2. Installieren Sie vim-nox (Optional)

Ich werde vi als meinen Texteditor in diesem Tutorial verwenden. Das Standard-vi-Programm hat ein seltsames Verhalten auf Ubuntu und Debian; um dies zu beheben, installieren wir vim-nox:

aptitude install vim-nox

(Sie müssen dies nicht tun, wenn Sie einen anderen Texteditor wie joe oder nano verwenden.)

3. Konfigurieren Sie das Netzwerk

Da der Ubuntu-Installer unser System so konfiguriert hat, dass es seine Netzwerkeinstellungen über DHCP erhält, müssen wir das jetzt ändern, da ein Server eine statische IP-Adresse haben sollte. Bearbeiten Sie /etc/network/interfaces und passen Sie es Ihren Bedürfnissen an (in diesem Beispielsetup werde ich die IP-Adresse 192.168.0.100 verwenden):

vi /etc/network/interfaces
# Diese Datei beschreibt die verfügbaren Netzwerkschnittstellen auf Ihrem System
# und wie man sie aktiviert. Für weitere Informationen siehe interfaces(5).

# Die Loopback-Netzwerkschnittstelle
auto lo
iface lo inet loopback

# Die primäre Netzwerkschnittstelle
auto eth0
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

Starten Sie dann Ihr Netzwerk neu:

/etc/init.d/networking restart

Bearbeiten Sie dann /etc/hosts. Lassen Sie es so aussehen:

127.0.0.1       localhost.localdomain   localhost
192.168.0.100   server1.example.com     server1

# Die folgenden Zeilen sind wünschenswert für IPv6-fähige Hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Führen Sie jetzt aus:

echo server1.example.com > /etc/hostname   
/etc/init.d/hostname.sh start

Führen Sie danach aus:

hostname   
hostname -f

Beide sollten jetzt server1.example.com anzeigen.

4. Aktualisieren Sie Ihre Linux-Installation

Bearbeiten Sie /etc/apt/sources.list. Kommentieren Sie die Installations-CD in der Datei aus oder entfernen Sie sie und stellen Sie sicher, dass die Universe- und Multiverse-Repositorys aktiviert sind. Es sollte so aussehen:

#
# deb cdrom:[Ubuntu-Server 9.04 _Jaunty Jackalope_ - Release amd64 (20090421.1)]/ jaunty main restricted

#deb cdrom:[Ubuntu-Server 9.04 _Jaunty Jackalope_ - Release amd64 (20090421.1)]/ jaunty main restricted
# Siehe http://help.ubuntu.com/community/UpgradeNotes für Informationen zur Aktualisierung auf
# neuere Versionen der Distribution.

deb http://de.archive.ubuntu.com/ubuntu/ jaunty main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty main restricted

## Wichtige Fehlerbehebungsupdates, die nach der endgültigen Veröffentlichung der
## Distribution produziert wurden.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted

## N.B. Software aus diesem Repository wird VOLLSTÄNDIG VON dem Ubuntu
## Team UNTERSTÜTZT. Bitte beachten Sie auch, dass Software im Universe KEINE
## Überprüfung oder Updates vom Ubuntu-Sicherheitsteam erhält.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty universe
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty universe
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates universe

## N.B. Software aus diesem Repository wird VOLLSTÄNDIG VON dem Ubuntu
## Team UNTERSTÜTZT und möglicherweise nicht unter einer freien Lizenz. Bitte überzeugen Sie sich selbst von
## Ihren Rechten zur Nutzung der Software. Bitte beachten Sie auch, dass Software im
## Multiverse KEINE Überprüfung oder Updates vom Ubuntu
## Sicherheitsteam erhält.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://de.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

## Kommentieren Sie die folgenden beiden Zeilen aus, um Software aus dem 'Backports'
## Repository hinzuzufügen.
## N.B. Software aus diesem Repository wurde möglicherweise nicht so
## umfassend getestet wie die in der Hauptversion enthaltene, obwohl sie
## neuere Versionen einiger Anwendungen enthält, die nützliche Funktionen bieten können.
## Bitte beachten Sie auch, dass Software in Backports KEINE Überprüfung
## oder Updates vom Ubuntu-Sicherheitsteam erhält.
# deb http://de.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse

## Kommentieren Sie die folgenden beiden Zeilen aus, um Software aus Canonicals
## 'Partner'-Repository hinzuzufügen.
## Diese Software ist kein Teil von Ubuntu, wird jedoch von Canonical und den
## jeweiligen Anbietern als Dienst für Ubuntu-Benutzer angeboten.
# deb http://archive.canonical.com/ubuntu jaunty partner
# deb-src http://archive.canonical.com/ubuntu jaunty partner

deb http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted
deb http://security.ubuntu.com/ubuntu jaunty-security universe
deb-src http://security.ubuntu.com/ubuntu jaunty-security universe
deb http://security.ubuntu.com/ubuntu jaunty-security multiverse
deb-src http://security.ubuntu.com/ubuntu jaunty-security multiverse

Führen Sie dann Folgendes aus, um die apt-Paketdatenbank zu aktualisieren:

aptitude update

Führen Sie Folgendes aus, um die neuesten Updates zu installieren:

aptitude safe-upgrade

Wenn Sie sehen, dass ein neuer Kernel als Teil der Updates installiert wird, sollten Sie das System danach neu starten:

5. Ändern Sie die Standard-Shell

/bin/sh ist ein Symlink zu /bin/dash, wir benötigen jedoch /bin/bash, nicht /bin/dash. Daher tun wir dies:

dpkg-reconfigure dash

Installieren Sie dash als /bin/sh? <– Nein

6. Deaktivieren Sie AppArmor

AppArmor ist eine Sicherheitserweiterung (ähnlich wie SELinux), die erweiterte Sicherheit bieten soll. Meiner Meinung nach benötigen Sie es nicht, um ein sicheres System zu konfigurieren, und es verursacht normalerweise mehr Probleme als Vorteile (denken Sie daran, nachdem Sie eine Woche mit der Fehlersuche verbracht haben, weil ein Dienst nicht wie erwartet funktionierte, und dann stellen Sie fest, dass alles in Ordnung war, nur AppArmor das Problem verursachte). Daher deaktiviere ich es (das ist ein Muss, wenn Sie später ISPConfig installieren möchten).

Wir können es so deaktivieren:

/etc/init.d/apparmor stop   
update-rc.d -f apparmor remove   
aptitude remove apparmor apparmor-utils

7. Installieren Sie einige Software

Jetzt installieren wir ein paar Pakete, die später benötigt werden:

aptitude install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential unrar

8. Synchronisieren Sie die Systemuhr

Es ist eine gute Idee, die Systemuhr mit einem NTP (Network Time Protocol) Server über das Internet zu synchronisieren. Führen Sie einfach aus:

apt-get install ntp ntpdate

9. Caching Dnsmasq

apt-get install dnsmasq

Bearbeiten Sie /etc/dnsmasq.conf und lassen Sie Dnsmasq auf localhost hören:

listen-address=127.0.0.1 

Bearbeiten Sie /etc/resolv.conf und fügen Sie Folgendes an den Anfang der Liste hinzu:

nameserver 127.0.0.1 
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.