Creare un relay antispam – parte 2° | Il Portalinux

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:

  1. Creare un relay antispam
      Serie di tutorial per la creazione di un relay antispam.   Un ottima soluzione per chi si trova...
  2. 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...
  3. 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...
  4. Creare un pacchetto debian – parte 3°
    Siamo arrivati alla fine di questo set di guide sulla pacchettizzazione debian dei sorgenti linux... ...
  5. 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...
    blog comments powered by Disqus
    Get Adobe Flash playerPlugin by wpburn.com wordpress themes