Creare un relay antispam – parte 2°
Rieccoci tornare alle nostre guide server-based.
Avevamo terminato la prima parte ultimando la configurazione di Apache e di Postfix.
Adesso procederemo ad installare i vari demoni anti-spam, per iniziare a modellare il nostro futuro relay antispam.
MailScanner Razor Pyzor DCC Clamav Installation
apt-get install mailscanner razor pyzor clamav-daemon
apt-get remove mailscanner
Sembra che sono diventato scemo invece non lo è, l’installazione di Mailscanner da repository ci serve solo per avere tutte le dipendenze soddisfatte, perchè quello presente è troppo vecchio, quindi andremo ad installarlo da sorgenti.
Scarichiamolo quindi e scompattiamolo, io nell’esempio ho usato /usr/src
tar xvfz MailScanner-install-4.75.11-1.tar.gz
cd MailScanner-install-4.75.11
./install.sh
mv /etc/MailScanner /etc/MailScanner.dist
Configurazione di Pyzor
Purtroppo Pyzor con Python2.6 non lavora bene, il barbatrucco sta nell’installare anche python2.5 e farglielo usare come default.
Modifichiamo quindi /usr/share/python/debian_defaults
# the default python version
default-version = python2.5
e modifichiamo il link simbolico a /usr/bin/python puntandolo a python2.5
mv /usr/bin/python /usr/bin/python26
ln -s /usr/bin/python2.5 /usr/bin/python
mv /var/lib/python-support/python2.6/pyzor-* /var/lib/python-support/python2.5/
mv /var/lib/python-support/python2.6/pyzor* /var/lib/python-support/python2.5/pyzor/
chmod -R a+rX /usr/share/doc/pyzor /usr/bin/pyzor /usr/bin/pyzord
chmod -R a+rX /usr/share/python-support/pyzor
Adesso forniamo l’ip del server Pyzor a Pyzor (il software, lo so è un bel gioco di parole), e poi questo proverà la connessione.
Se siete dietro un firewall o cmq nattati dovete aprire le porte 24441/udp in entrata ed uscita ed in più 6277/udp per DCC, 2703/tcp per razor e 783/tcp per spamassassin.
pyzor --homedir /var/lib/MailScanner discover
pyzor ping
Configurazione di Razor
Creiamo i file per la configurazione:
cd
rm /etc/razor/razor-agent.conf
mkdir /var/lib/MailScanner/.razor
razor-admin -home=/var/lib/MailScanner/.razor -create
razor-admin -home=/var/lib/MailScanner/.razor -discover
razor-admin -home=/var/lib/MailScanner/.razor -register
chown -R postfix:www-data /var/lib/MailScanner
chmod -R ug+rwx /var/lib/MailScanner
Poi modifichiamo /var/lib/MailScanner/.razor/razor-agent.conf:
debuglevel = 0
razorhome = /var/lib/MailScanner/.razor/
Configurazione di DCC
Installiamo DCC dai deb di launchpad.
wget http://ppa.launchpad.net/jonasped/ppa/ubuntu/pool/main/d/dcc/dcc-server_1.3.103-0ubuntu1~ppa2~jaunty1_i386.deb
wget http://ppa.launchpad.net/jonasped/ppa/ubuntu/pool/main/d/dcc/dcc-common_1.3.103-0ubuntu1~ppa2~jaunty1_i386.deb
wget http://ppa.launchpad.net/jonasped/ppa/ubuntu/pool/main/d/dcc/dcc-client_1.3.103-0ubuntu1~ppa2~jaunty1_i386.deb
dpkg -i dcc-common_1.3.103-0ubuntu1~ppa2~jaunty1_i386.deb
dpkg -i dcc-server_1.3.103-0ubuntu1~ppa2~jaunty1_i386.deb
dpkg -I dcc-client_1.3.103-0ubuntu1~ppa2~jaunty1_i386.deb
Siccome non stiamo mettendo in piedi un server DCC è inutile che effettuiamo il check verso noi stessi, lanciamo quindi:
cdcc "delete 127.0.0.1"
cdcc "delete 127.0.0.1 Greylist"
cdcc info
Dopo l’ultimo comando dovremmo ottenere un "requests OK"
Configurare Mailscanner e ClamAV:
Dobbiamo creare una determinata cartella per SpamAssassin e dare i relativi permessi per postfix, questo perchè se lanciamo sa-learn –force come utente root, il database bayesiano verrà registrato per root:root e spamassassin darà errore quando effettuerà i controlli.
mkdir /var/spool/MailScanner/spamassassin
cp /opt/MailScanner/etc/MailScanner.conf /opt/MailScanner/etc/MailScanner.conf.dist
vi /opt/MailScanner/etc/MailScanner.conf
e mettiamoci dentro:
%org-name% = ORGNAME
%org-long-name% = ORGFULLNAME
%web-site% = ORGWEBSITE
Run As User = postfix
Run As Group = www-data
Incoming Work Group = clamav
Incoming Work Permissions = 0640
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Virus Scanners = clamd
Spam Subject Text = ***SPAM***
Send Notices = no
Spam List = spamcop.net ZEN
Required SpamAssassin Score = 6
High SpamAssassin Score = 10
Spam Actions = deliver
High Scoring Spam Actions = delete
Rebuild Bayes Every = 0
Wait During Bayes Rebuild = no
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin
Clamd Socket = /var/run/clamav/clamd.ctl
Clamd Lock File = /var/run/clamav/clamd.pid
Monitors for ClamAV Updates = /var/lib/clamav/*.cld /var/lib/clamav/*.cvd
header_checks
questo ci servirà per bloccare tutte le mail in entrata, e dare il tempo a MailScanner di fare i suoi controlli.
postconf -e "header_checks = regexp:/etc/postfix/header_checks"
creiamo /etc/postfix/header_checks e mettiamoci dentro.
/^Received:/ HOLD
postmap /etc/postfix/header_checks
Fix per disabilitare i controlli dei permessi sulle directories di MailScanner
Modifichiamo /etc/rc2.d/S20mailscanner:
check_dir /var/spool/MailScanner ${user:-postfix} ${group:-www-data}
#check_dir /var/lib/MailScanner ${user:-mail} ${group:-mail}
#check_dir /var/run/MailScanner ${user:-mail} ${group:-mail}
#check_dir /var/lock/subsys/MailScanner ${user:-postfix} ${group:-www-data}
e controlliamo il paramentro dentro /etc/default/mailscanner:
run_mailscanner=1
Cron Job per aggiornare MailScanner in automatico:
37 5 * * * /opt/MailScanner/bin/update_phishing_sites
07 * * * * /opt/MailScanner/bin/update_bad_phishing_sites
42 * * * * /opt/MailScanner/bin/update_virus_scanners
3,23,43 * * * * /opt/MailScanner/bin/check_mailscanner
Ignition…START!
check_mailscanner
/etc/init.d/postfix start
eventuali errori li troviamo come sempre in /var/log/mail.log
Ed anche per oggi abbiamo finito, la prossima volta passeremo a Mailwatch, Blacklist ed altro ancora…
Articoli (forse) correlati:
- Creare un relay antispam
Serie di tutorial per la creazione di un relay antispam. Un ottima soluzione per chi si trova... - Configuriamo un server di posta completo su Etch (Postfix) – Parte 3°
Adesso che abbiamo installato e configurato il db e l'smtp vero e proprio, tocca configurare i programmi "accessori", partiamo da... - Configuriamo un server di posta completo su Etch (Postfix) – Parte 1°
In questi giorni mi sono dedicato al nuovo vps in quanto volevo mettere in piedi un servizio di posta che... - Creare un pacchetto debian – parte 3°
Siamo arrivati alla fine di questo set di guide sulla pacchettizzazione debian dei sorgenti linux... ... - CVS ed SVN, impariamo cosa sono e come creare un repository parte 2°
Seconda ed ultima parte del tutorial teorico/pratico sui repository svn. Con questa ultima parte vedremo cosa installare sul...










