Razor2, Pyzor, Spamcop e DCC

26 dicembre 2023 by Roberto Puzzanghera 0 commenti

Changelog

  • Dec 26, 2023
    Pyzor installed from github, as version 1.0.0 is not pythone3 compliant (thanks Mike)

Questa pagina concerne il setup di alcuni filtri di rete che aiutano spamassassin a decidere cosa fare di un dato messaggio. Abilitando questi filtri, insieme al sistema di apprendimento bayesiano, migliorerà drasticamente le prestazioni di spamassassin nella lotta allo spamming.

Caricare i filtri

Come prima cosa editare il file v310.pre e decommentare le seguenti righe come segue per caricare i filtri che andremo poi ad abilitare:

# DCC - perform DCC message checks. 
# 
# DCC is disabled here because it is not open source.  See the DCC 
# license for more details. 
# 
loadplugin Mail::SpamAssassin::Plugin::DCC

# Pyzor - perform Pyzor message checks. 
# 
loadplugin Mail::SpamAssassin::Plugin::Pyzor 

# Razor2 - perform Razor2 message checks. 
# 
loadplugin Mail::SpamAssassin::Plugin::Razor2 

# SpamCop - perform SpamCop message reporting 
# 
loadplugin Mail::SpamAssassin::Plugin::SpamCop

Razor2

Razor di Vipul è una rete distribuita, collaborativa, di rilevamento e filtraggio dello spam. Attraverso il contributo degli utenti, Razor crea un catalogo in costante aggiornamento di spam che viene consultato dai filtri antispam dei client di posta elettronica. Il rilevamento viene effettuato con firme statistiche e randomizzate che individuano in modo efficiente il contenuto di spam mutante. L'input dell'utente viene convalidato attraverso una valutazione della reputazione basata sul consenso sul report e la revoca delle asserzioni che a loro volta vengono utilizzate per calcolare i valori di fiducia associati alle singole firme.

Scaricare e installare razor-agent-sdk e razor-agent:

cd /usr/local/src
wget https://downloads.sourceforge.net/project/razor/razor-agents-sdk/2.07/razor-agents-sdk-2.07.tar.bz2 
wget https://downloads.sourceforge.net/project/razor/razor-agents/2.85/razor-agents-2.85.tar.bz2

tar xjf razor-agents-sdk-2.07.tar.bz2
cd razor-agents-sdk-2.07
chown -R root:root .
perl Makefile.PL
make
make install

cd ..
tar xjf razor-agents-2.85.tar.bz2
cd razor-agents-2.85
chown -R root:root .
perl Makefile.PL
make
make install

Dovresti avere già installato il pacchetto perl di Razor2 nel momento in cui hai installato spamassassin. Se non fosse così è necessario installarlo ora sempre via CPAN:

force notest install Mail::SpamAssassin::Plugin::Razor2

Razor2 richiede che gli utenti che inviano i report siano registrati. Questo, come detto sopra, consente di assegnare attraverso il tempo una reputazione ai reporters, di modo che i loro report e le loro revoche abbiano un certo peso in accordo con il valore della loro reputazione.

Registrarsi e creare la cartella di configurazione:

mkdir -p /etc/mail/spamassassin/.razor
razor-admin -home=/etc/mail/spamassassin/.razor -register
razor-admin -home=/etc/mail/spamassassin/.razor -create
razor-admin -home=/etc/mail/spamassassin/.razor -discover

Dire a Razor2 dove esso è installato aggiungendo le linee seguenti al file /etc/mail/spamassassin/.razor/razor-agent.conf

razorhome = /etc/mail/spamassassin/.razor/ logfile = /var/log/spamassassin/razor-agent.log

Come si ricorderà abbiamo già settato prima il logrotate del file di log di Razor.

Pyzor

Pyzor è una rete collaborativa per il rilevamento e il blocco spam attraverso il digent (riassunti) dei messaggi. Usando un client Pyzor, viene generato un breve riassunto del messaggio, che si presume identifichi in modo univo il messaggio stesso.

E' possibile installare Pyzor via pip3

pip3 install https://github.com/SpamExperts/pyzor/archive/refs/heads/master.zip

La seguente alternativa non funziona più in quanto la versione corrente 1.0.0 non è compatibile con python3:

cd /usr/local/src
wget https://files.pythonhosted.org/packages/75/9d/e38a18d8c932f397537cda0d03a606314611fe1ebd8b24ed8fdd4df23191/pyzor-1.0.0.tar.gz
tar xzf pyzor-1.0.0.tar.gz
cd pyzor-1.0.0
chown -R root:root .
python setup.py build 
python setup.py install

Creare la cartella pyzor:

mkdir -p /etc/mail/spamassassin/.pyzor
chown spamd:spamd /etc/mail/spamassassin/.pyzor

Spamcop

Spamcop è una nota blocking list che funziona anche come un sistema di segnalazione inviando informazioni di allerta ai provider internet responsabili di ospitare i servizi utilizzati dallo spammer (siti web e siti che possono inviare messaggi di posta). SpamCop utilizza le segnalazioni anche per generare la blocking list, che è libera..

Registrare un account qui. Nota: il filtro captcha non funziona sul mio browser chromium; tuttavia sono riuscito sono riuscito a vedere il filtro utilizzando firefox. Alla fine della procedura di registrazione si otterrà un indirizzo e-mail unico (del tipo submit.xxxxxxxxxxxxxxxxxxx@spam.spamcop.net) ch si dovrà passare a spamassassin affinchè il programma invii le segnalazioni a spamcop. Vedremo come fare la configurazione tra poco.

DCC

The Distributed Checksum Clearinghouses or DCC is an anti-spam content filter that runs on a variety of operating systems. The counts can be used by SMTP servers and mail user agents to detect and reject or filter spam or unsolicited bulk mail. DCC servers exchange or "flood" common checksums. The checksums include values that are constant across common variations in bulk messages, including "personalizations."

Install as follows

wget https://www.dcc-servers.net/src/dcc/old/dcc.tar.Z
tar xzf dcc.tar.Z
cd dcc-v.er.sion
CFLAGS="-O2 -fstack-protector" DCC_CFLAGS="-O2 -fstack-protector" ./configure
make
make install

Enable the filter adding these lines to your local.cf

use_dcc 1 
dcc_path /usr/local/bin/dccproc

Test

Per verificare che le segnalazioni ai vari Razor, Pyzor e Spamcop funzionino salvare un messaggio spam in formato non elaborato (raw per intenderci) nel file spam.txt e lanciare spamassassin con l'opzione --report in questo modo:

spamassassin --debug --nocreate-prefs --report < spam.txt

Aggiungi un commento