
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:
- Da terminale, tramite CPAN (normalmente installato nei sistemi Linux)
- 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! ๐