Verificare i moduli Perl utilizzati da SpamAssassin

ATTENZIONE: questo articolo è stato scritto oltre un anno fa, ed i contenuti potrebbero non essere più validi o compatibili. Sei pregato di tenerne conto, e se hai informazioni in merito di segnalarmele, grazie.

Antispam - strumenti contro la posta indesiderataL’efficienza di SpamAssassin dipende molto, oltre che dalla sua configurazione, anche dalla sua installazione. SpamAssassin è un sistema sviluppato in Perl, e alcuni moduli Perl sono molto utili per il suo funzionamento, ma come fare per controllare se l’installazione di SpamAssassin è corretta, e se tutti i moduli Perl che sono richiesti per il suo lavoro di filtro della posta indesiderata sono presenti, e soprattutto utilizzati?
Per prima cosa controlliamo se i moduli ci sono, passo fondamentale per scoprire se poi vengono utilizzati a modino.

Per fare questo, lanciamo da terminale un comando per effettuare un test della configurazione di SpamAssassin:

spamassassin --lint -D

Il risultato sarà una lunga lista di informazioni, ma nel nostro caso ci interessa solo una porzione all’inizio della risposta, come possiamo vedere dall’esempio che segue.

(....)
[24318] dbg: diag: module installed: Digest::SHA1, version 2.12
[24318] dbg: diag: module installed: HTML::Parser, version 3.61
[24318] dbg: diag: module installed: Net::DNS, version 0.65
[24318] dbg: diag: module installed: MIME::Base64, version 3.08
[24318] dbg: diag: module installed: DB_File, version 1.816_1
[24318] dbg: diag: module installed: Net::SMTP, version 2.31
[24318] dbg: diag: module installed: Mail::SPF, version v2.006
[24318] dbg: diag: module installed: Mail::SPF::Query, version 1.999001
[24318] dbg: diag: module installed: IP::Country::Fast, version 604.001
[24318] dbg: diag: module installed: Razor2::Client::Agent, version 2.84
[24318] dbg: diag: module not installed: Net::Ident ('require' failed)
[24318] dbg: diag: module installed: IO::Socket::INET6, version 2.56
[24318] dbg: diag: module installed: IO::Socket::SSL, version 1.26
[24318] dbg: diag: module installed: Compress::Zlib, version 2.012
[24318] dbg: diag: module installed: Time::HiRes, version 1.9719
[24318] dbg: diag: module not installed: Mail::DomainKeys ('require' failed)
[24318] dbg: diag: module not installed: Mail::DKIM ('require' failed)
[24318] dbg: diag: module not installed: DBI ('require' failed)
[24318] dbg: diag: module installed: Getopt::Long, version 2.38
[24318] dbg: diag: module installed: LWP::UserAgent, version 5.813
[24318] dbg: diag: module installed: HTTP::Date, version 5.810
[24318] dbg: diag: module installed: Archive::Tar, version 1.54
[24318] dbg: diag: module installed: IO::Zlib, version 1.09
[24318] dbg: diag: module not installed: Encode::Detect ('require' failed)
(....)

Come si può vedere, il test va a richiamare tutti i moduli in Perl necessari al buon funzionamento di SpamAssassin, e ci indica quelli che non sono installati nel sistema.
Per maggior comodità, ho evidenziato in grassetto i moduli mancanti di questa ipotetica (ma nemmeno tanto) installazione.

Nota bene: senza i moduli mancanti, SpamAssassin funziona comunque, ma essendo un sistema che si basa sulla somma di molteplici test su ogni messaggio di posta elettronica che gli viene passato, è evidente che se dei moduli sono configurati male o addirittura mancanti il risultato dei test può non essere così affidabile come invece ci si aspetterebbe da un buon sistema contro lo SPAM.

È chiaro che ci aspetta subito un compito importante:

Installare i moduli Perl mancanti

Personalmente ho individuato due modi per installare (o aggiornare se serve) dei moduli per:

  1. Da terminale, tramite CPAN (normalmente installato nei sistemi Linux)
  2. Da interfaccia web, tramite WEBMIN (se installato)

Tramite CPAN è un pochetto più brigoso ma sicuramente da preferire, a mio avviso, è più affidabile e l’installazione può essere seguita con maggior attenzione, che è sempre bene.
Ora giusto un cenno su come fare con CPAN, magari approfondiremo l’argomento in un altro articolo.

Usare CPAN per installare i moduli Perl

Diamo per scontato che CPAN sia installato e funzionante, lanciando cpan da terminale arriveremo a questo prompt:

cpan>

La sottolineatura ed il grassetto non sono un vezzo, CPAN si presenta proprio così 😉

Per installare un modulo Perl, prendendo ad esempio uno di quelli dell’esempio, basta lanciare il comando che segue e attendere le eventuali istruzioni a video, talvolta non viene richiesto nulla, altre occorre rispondere a semplici domande:

cpan> install Net::Ident

È possibile che occorra forzare l’installazione, allora il comando diventerà questo:

cpan> force install Net::Ident

Incrociando le dita, se tutto andrà per il meglio i moduli verranno aggiornati, altrimenti CPAN ci avviserà che non è stato possibile farlo per qualche motivo.

La prova del nove la si effettua uscendo da CPAN con il comando quit, riavviando SpamAssassin affinché ricarichi moduli e confgurazione, solitamente con il comando

/etc/init.d/spamassassin restart

oppure, a seconda della distribuzione, con

/etc/init.d/spamd restart

quindi rilanciare il test effettuato all’inizio di questo articolo

spamassassin --lint -D

e nel risultato controllare nuovamente la situazione dei moduli installati e non.

Per il momento ci fermiamo qui, per non mettere troppa carne sul fuoco…
Abbiamo comunque fatto un bel passo avanti, perché se mettiamo a posto gli errori di configurazione riguardanti i moduli Perl mancanti, e non ho mai incontrato installazione che non abbia questo problema, sicuramente il nostro sistema AntiSPAM basato su SpamAssassin effettuerà dei test sicuramente più precisi e affidabili di prima.

Nelle prossime occasioni continueremo ad analizzare il risultato del comando di test di SpamAssassin descritto sopra, e vedremo come sistemare altri eventuali errori allo scopo di migliorare sempre di più il riconoscimento dello SPAM, per la gioia delle nostre caselle di posta elettronica.

Chiunque abbia consigli, suggerimenti e approfondimenti, sul merito di questo articolo e su quelli che abbiamo anticipato, è ovviamente il benvenuto! 🙂

Tags: , , , , ,

Nessun commento ancora.

Dubbi o suggerimenti? Lascia un commento!

I love Instagram