Spam Filter · 5 min read · Sep 27, 2025
Il Perfetto SpamSnake - Ubuntu Jaunty Jackalope
Il Perfetto SpamSnake - Ubuntu Jaunty Jackalope
Autore: Mohammed Alli
Postfix w/Filtro Bayesiano e Anti-Backscatter (Destinatari Relay), Apache, Mysql, Dnsmasq, MailScanner (Spamassassin, ClamAV, Pyzor, Razor, DCC-Client), MailWatch, Controlli SPF, FuzzyOcr, PDF/XLS/Firme di Phishing Sanesecurity, Postfix-GLD (Greylisting Opzionale), Report Statistici Logwatch (Opzionale), Disclaimer in Uscita con alterMIME (Opzionale), FireHOL (Firewall Iptables)
Versione 2.5
Questo tutorial mostra come configurare un server basato su Ubuntu Jaunty Jackalope come spamfilter in modalità Gateway. Alla fine, avrai un Gateway SpamSnake che inoltrerà email pulite al tuo MTA. Sarai anche in grado di visualizzare la tua coda in arrivo, addestrare il tuo SpamSnake e svolgere alcune operazioni più avanzate tramite MailWatch.
Non posso offrire alcuna garanzia che questo funzionerà per te, nello stesso modo in cui funziona per me.
Utilizzerò il seguente software:
- Server Web: Apache 2 con PHP 5
- Server Database: MySQL 5.0
- Server Mail: Postfix
- Server DNS in Cache: Dnsmasq
- MailScanner: MailScanner v4.76
- MailWatch: MailWatch v1.0.4
Il credito va ai ragazzi di HowtoForge e agli sviluppatori di MailScanner, MailWatch, ClamAV, Apache, Mysql e Postfix.
Installa il sistema di base utilizzando l’opzione minima.
1. Ottieni privilegi di root
Abilita il login come root eseguendo il seguente comando e dando una password a root. Puoi quindi accedere direttamente come root:
sudo passwd root2. Installa vim-nox (Opzionale)
Userò vi come editor di testo in questo tutorial. Il programma vi predefinito ha un comportamento strano su Ubuntu e Debian; per risolvere questo, installiamo vim-nox:
aptitude install vim-nox(Non è necessario farlo se utilizzi un editor di testo diverso come joe o nano.)
3. Configura la rete
Poiché l’installer di Ubuntu ha configurato il nostro sistema per ottenere le impostazioni di rete tramite DHCP, dobbiamo cambiare questo ora perché un server dovrebbe avere un indirizzo IP statico. Modifica /etc/network/interfaces e adattalo alle tue esigenze (in questo esempio utilizzerò l’indirizzo IP 192.168.0.100):
vi /etc/network/interfaces# Questo file descrive le interfacce di rete disponibili sul tuo sistema
# e come attivarle. Per ulteriori informazioni, vedere interfaces(5).
# L'interfaccia di rete di loopback
auto lo
iface lo inet loopback
# L'interfaccia di rete primaria
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.1Poi riavvia la tua rete:
/etc/init.d/networking restartPoi modifica /etc/hosts. Fai in modo che appaia così:
127.0.0.1 localhost.localdomain localhost
192.168.0.100 server1.example.com server1
# Le seguenti righe sono desiderabili per host compatibili con IPv6
::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-allhostsOra esegui:
echo server1.example.com > /etc/hostname
/etc/init.d/hostname.sh startSuccessivamente, esegui:
hostname
hostname -fEntrambi dovrebbero mostrare server1.example.com ora.
4. Aggiorna la tua installazione di Linux
Modifica /etc/apt/sources.list. Commenta o rimuovi il CD di installazione dal file e assicurati che i repository universe e multiverse siano abilitati. Dovrebbe apparire così:
#
# 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
# Vedi http://help.ubuntu.com/community/UpgradeNotes per come aggiornare a
# versioni più recenti della distribuzione.
deb http://de.archive.ubuntu.com/ubuntu/ jaunty main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ jaunty main restricted
## Aggiornamenti di correzione bug importanti prodotti dopo il rilascio finale della
## distribuzione.
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. il software di questo repository è COMPLETAMENTE NON SUPPORTATO dal team di Ubuntu.
## Inoltre, si prega di notare che il software in universe NON riceverà alcuna
## revisione o aggiornamenti dal team di sicurezza di Ubuntu.
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. il software di questo repository è COMPLETAMENTE NON SUPPORTATO dal team di Ubuntu,
## e potrebbe non essere sotto una licenza libera. Si prega di soddisfare se stessi riguardo ai
## propri diritti di utilizzo del software. Inoltre, si prega di notare che il software in
## multiverse NON riceverà alcuna revisione o aggiornamenti dal team di sicurezza di Ubuntu.
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
## Decommenta le seguenti due righe per aggiungere software dal repository 'backports'
## N.B. il software di questo repository potrebbe non essere stato testato come
## ampiamente come quello contenuto nella versione principale, anche se include
## versioni più recenti di alcune applicazioni che potrebbero fornire funzionalità utili.
## Inoltre, si prega di notare che il software in backports NON riceverà alcuna revisione
## o aggiornamenti dal team di sicurezza di Ubuntu.
# 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
## Decommenta le seguenti due righe per aggiungere software dal repository
## 'partner' di Canonical.
## Questo software non fa parte di Ubuntu, ma è offerto da Canonical e dai
## rispettivi fornitori come servizio agli utenti di Ubuntu.
# 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 multiversePoi esegui il seguente comando per aggiornare il database dei pacchetti apt:
aptitude updateEsegui il seguente comando per installare gli aggiornamenti più recenti:
aptitude safe-upgradeSe vedi che un nuovo kernel viene installato come parte degli aggiornamenti, dovresti riavviare il sistema dopo:
5. Cambia la shell predefinita
/bin/sh è un symlink a /bin/dash, tuttavia abbiamo bisogno di /bin/bash, non di /bin/dash. Pertanto facciamo questo:
dpkg-reconfigure dashInstalla dash come /bin/sh? <– No
6. Disabilita AppArmor
AppArmor è un’estensione di sicurezza (simile a SELinux) che dovrebbe fornire sicurezza estesa. A mio avviso, non ne hai bisogno per configurare un sistema sicuro, e di solito causa più problemi che vantaggi (pensa a questo dopo aver fatto una settimana di risoluzione dei problemi perché qualche servizio non funzionava come previsto, e poi scopri che tutto era a posto, solo AppArmor stava causando il problema). Pertanto lo disabilito (questo è un must se vuoi installare ISPConfig in seguito).
Possiamo disabilitarlo in questo modo:
/etc/init.d/apparmor stop
update-rc.d -f apparmor remove
aptitude remove apparmor apparmor-utils7. Installa alcuni software
Ora installiamo alcuni pacchetti necessari in seguito:
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 unrar8. Sincronizza l’orologio di sistema
È una buona idea sincronizzare l’orologio di sistema con un server NTP (protocollo di tempo di rete) su Internet. Esegui semplicemente:
apt-get install ntp ntpdate9. Caching Dnsmasq
apt-get install dnsmasqModifica /etc/dnsmasq.conf e fai in modo che Dnsmasq ascolti su localhost:
listen-address=127.0.0.1 Modifica /etc/resolv.conf e aggiungi il seguente all’inizio dell’elenco:
nameserver 127.0.0.1 Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.