Lo scopo principale è quello di eliminare alcuni falsi positivi che ho recentemente notato in Spamassassin e testare una tecnica personalmente mai usata ovvero il greylisting; la scelta è caduta su Greylite per le ridotte dimensioni e facilità di installazione anche con database tipo Sqlite.
requisiti necessari :
qmail - installato e funzionante con o senza Spamassassin, nel mio caso la guida di installazione la trovate in qmail-ldap.info, in italiano e a mio avviso ben fatta.
greylite - che andreamo a installare
Il tutto è estremamente semplice scarichiamo l’ultima versione di greylite lo compiliamo e riconfiguriamo qmail per passargli prima il binario di greylite.
cd /usr/local/src/
wget http://www.greylite.net/downloads/releases/greylite/greylite-3.0pre2.tar.bz2tar xjvf greylite-3.0pre2.tar.bz2
chown -R root:root /usr/local/src/greylite-3.0pre2
cd greylite-3.0pre2make all install
ora prepariamo il posto per il database sqlite dato che greylite lo utilizza, dovremmo anche accertarci di aver sqlite3 installato nel sistema
mkdir -p /var/db/greylite
cd /usr/local/src/greylite-3.0pre2/scripts
inizializziamo il database [control D] per uscire :
sqlite3 -init greylite-sqlite.sql /var/db/greylite/greylite.db
aggiustiamo un po’ di permessi sul database
chmod -R 755 /var/db/greylite
chown -R qmaild:root /var/db/greylite
modifichiamo /service/smtpd/run aggingendo prima di qmail-smtpd /usr/local/bin/greylite nel mio caso :
….. [
/usr/local/bin/greylite \
/var/qmail/bin/qmail-smtpd /var/qmail/bin/auth_smtp /usr/bin/true
] …..
modifichiamo /service/smtpd/tcp cosi’ :
….. [
:allow,GREYLIST="",DBFILE="/var/db/greylite/greylite.db",LOGTHRESHOLD="5"
] …..
in questo modo attiviamo greylist dando anche la destinazione del database e impostiamo una direttiva per eventuali log non dimenticandoci di ricostruire il file con un make.
a questo punto dovremmo avere funzionante il greylisting sul nostro smtp e con un “ps aux | grep greylite” possiamo verificarlo, oppure nei log cat /var/log/smtpd/current | grep dovremmo ritrovarci una riga tipo questa:
@4000000049e858172254f2b4 greylite: Error in read(): Connection reset by peer
la riga significa che greylite ha disattivato la ricezione di una email e rimane in attesa di un successivo invio.
Bye
