Addestrare spamassassin sa-learn

Nel corso degli ultimo mese lo spam  destinato ad un dominio gestito ha raggiunto cifre clamorose.

Il grafico mostra la tendenza degli spammer a preferire i mesi caldi per inondare di spazzatura gli utenti. Agosto 2005 e giugno 2006 sono i mesi più “caldi”
email in entrata e uscita

La configurazione del MTA è strutturata in modo da lasciar decidere all’utente  cosa farsene della posta taggata come spam. Amavisd-new non fa altro che assegnare un punteggio alla mail e bloccare quelle contenenti virus o estensioni vietate dalle policy aziendali.

Utilizzando un client stile Mozilla Thunderbird è possibile spostare automaticamente i messaggi UBE in una maildir (.Junk)

L’introduzione di nuovi meccanismi di spam (i primi a studiare come funzionano e come si superano i filtri antispam sono sicuramente loro) mi ha portato a inserire qualche restrizione in più sul main.cf di postfix e a  perfezionare i filtri di spamassassin.
Spamarchive.org raccoglie migliaia di mesaggi spazzatura e sarebbe potuto essere un buon punto di partenza, invece ho preferito utilizzare lo spam raccolto nelle Maildir di posta locali ed esterne che controllo.

In pratica ho fatto un merge di filtri prelevando ube da più macchine, addestrato spam assassin e utilizzato l’ottimo rules_du_jour

sa-learn --dbpath /var/amavis/.spamassassin/  --spam /home/texilee/Maildir/.Junk/cur/

Dopo giugno il numero di spazzatura eliminata lato server è esponenzialmente aumentata come dimostra il grafico sottostante.

email in entrata analisi

Posted in Linux, Qmail-Postfix at August 1st, 2006. No Comments.

vpopmail aggiungere alias di dominio

vaddaliasdomain texilee.it aliasditexilee.it

Comando per aggiungere alias di dominio, utile ad esempio quando una azienda compra nomeazienda.it e nomeazienda.com.

Le versioni precedenti di vpopmail avevano la sintassi invertita e per compatibilità è ancora possibile

Posted in Linux, Qmail-Postfix, Tips at August 1st, 2006. No Comments.

vpopmail disabilitare imap pop3 utenti dominio

Per disabilitare l’accesso via pop all’utente texilee del dominio texilee.it

vmoduser -p texilee@texilee.it

Per disabilitare l’accesso via imap all’utente texilee del dominio texilee.it

vmoduser -i texilee@texilee.it

Per disabilitare l’accesso via pop a tutti gli utenti del dominio texilee.it

vmoduser -p texilee.it

Per disabilitare l’accesso via imap a tutti gli utenti del dominio texilee.it

vmoduser -i texilee.it

Per ripristinare l’accesso pop/imap all’utente texilee del dominio texilee.it

vmoduser -x texilee@texilee.it

Per ripristinare l’accesso pop/imap a tutti gli utenti del dominio texilee.it

vmoduser -x texilee.it
Posted in Linux, Qmail-Postfix, Tips at August 1st, 2006. No Comments.

vpopmail aggiungere dominio

# vadddomain texilee.it passoword-di-postmaster

Di default  l’inserimento di un dominio prevede la creazione automatica di un account postmaster. Se si vogliono ricevere le email destinate a postmaster su un altro account (comunicazioni NIC ad esempio) si può procedere modificando il file vpasswd (e lanciando vmkpasswd) oppure creando un  file .qmail-postmaster

Posted in Linux, Qmail-Postfix, Tips at August 1st, 2006. No Comments.

SMTP relay linux out spam virus email

Next step : HOW TO set up :)
http://code.google.com/p/junko/

RPath Linux based distro MTA Postfix Bayesian filter: DSpam Antivirus: ClamAV Greylisting: Policyd

Posted in Qmail-Postfix, ToDo at July 28th, 2006. No Comments.

HOWTO configure simscan with qmail vpopmail spamassassin

SimScan si propone come sostituto di qmail-scanner , tool in perl che permette l’integrazione fra antivirus e antispam in qmail.
I test sono effettuati su Debian Sarge con qmail, spamassassin, clamav pacchetti DEB e vpopmail e simscan sorgenti.
Questo HOW-TO copre soltanto la parte di configurazione di simscan, se siete arrivati qui cercando risposte a problemi di qmail spamassassin o clamav difficilmente troverete risposte, se invece avete dubbi sulla strada da intraprendere per quanto riguarda la dettagliata configurazione di simscan qui potete trovare qualche spunto. I passi per le prove sono:

/* Estraete i src… */

$./configure –enable-opzione –enable-altraopzione=5
$make
#make install-strip

/* Editare le opzioni e preparazione dei cdb*/

#vi /etc/qmail/simcontrol
#simscanmk -g
#simscanmk

Utilizzare l’opzione DEBUG, sia per problemi inerenti a simscan (permission soprattutto) che per spamassassin (il debug di spamassassin si attiva con l’opzione -D su /etc/default/spamassassin)

OPTIONS=”-D –create-prefs –max-children 5 –helper-home-dir”

Requisiti fondamentali sono il corretto funzionamento di qmail con qmail-queue patch

E l’utilizzo di questo comando

#env QMAILQUEUE=/var/qmail/bin/simscan SIMSCAN_DEBUG=9 qmail-inject indirizzo@email.it < /usr/share/doc/spamassassin/examples/sample-spam.txt

QMAILQUEUE e SIMSCAN_DEBUG sono variabili che ci permettono di dire a qmail-inject di contattare simscan prima di deliverare il msg e di stampare un debug molto alto.
indirizzo@email.it deve essere un indirizzo gestito in rcpthost.

/usr/share/doc/spamassassin/examples/sample-spam.txt è un semplice messaggio di posta che contiene la stringa

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

una stringa particolare, chiamata "Generic Test for Unsolicited Bulk Email", usata per testare la bontà del filtro. Come avviene con il celeberrimo EICAR test per quanto riguarda il test dei prodotti antivirus.
Un esempio di EICAR test potete trovarlo qui http://spamassassin.apache.org/gtube/gtube.txt

Primo esempio di configure

./configure

--enable-user=clamav
--enable-clamav=y
--enable-clamdscan=/usr/bin/clamdscan
--enable-attach=y
--enable-spam=y
--enable-spamc=/usr/bin/spamc
--enable-ripmime=/usr/local/bin/ripmime
--enable-passthru=n
--enable-dropmsg=y
--enable-spam-auth-user=y
--enable-spam-hits=5
--enable-per-domain=y

Configurazione antivirus/antispam che permette il controllo sugli allegati/estensioni.
Lo SPAM viene scartato con un punteggio superiore al 5, si possono scegliere soluzioni diverse per utente/dominio.

Testare con GTUBE [spam example]

#env QMAILQUEUE=/var/qmail/bin/simscan SIMSCAN_DEBUG=9 qmail-inject indirizzo@email.it < /usr/share/doc/spamassassin/examples/sample-spam.txt

Dal mail.log troverete

Jul 28 11:39:47 mail1 spamd[20006]: identified spam (997.2/5.0) for clamav:105 in 0.8 seconds, 799 bytes.

e sulla vostra casella email nessuna traccia del messaggio.

I permessi della directory di quarantine /var/qmail/simscan

drwxr-x---  19 clamav root  4096 Jul 28 11:44 simscan

L'esempio qui sopra ha prodotto come risultato l'eliminazione definitiva della mail.
In una situazione con clienti stranieri magari orientali (esempio messaggio dalla Cina con corpo in inglese e firma in cinese && inglese)
sarebbe stato meglio consegnare all'utente il messaggio (con il soggetto modificato) e lasciar decidere a quest'ultimo cosa farne della mail.

Simscan possiede un'ottima documentazione, l'abilitazione di certe opzioni ne annullano altre, e i path devono comprender ANCHE il nome del binario.

Questa configurazione permette una flessibilità di configurazione maggiore rispetto al precedente.

./configure
--enable-user=clamav
--enable-clamav=y
--enable-clamdscan=/usr/bin/clamdscan
--enable-attach=y
--enable-spam
--enable-spam-passthru
--enable-spamc=/usr/bin/spamc
--enable-ripmime=/usr/local/bin/ripmime
--enable-dropmsg=n
--enable-per-domain=y
--enable-received=y

Modificato il file /etc/spamassassin/local.cf come segue per abilitare la riscrittura del subject

required_score           5.0
rewrite_header Subject ****SPAM(_SCORE_)****

Aggiunti nel file /etc/qmail/simcontrol i settaggi peruser o perdomain possiamo scegliere una diversa configurazione per ogni utente / dominio

# Se voglio scansione AV ma non AS per il dominio amelospam.com

amelospam.com:clam=yes,spam=no

# Se voglio solo controllo antispam e il reject dei msg con punteggio > 5 e nessun controllo su virus

iosolovirus.it:clam=no,spam=yes,spam_passthru=no

# Se voglio che solo l'utente texilee del dominio amelospam.com abbia scansione AV e riscrittura dell'oggetto se SPAM

texilee@amelospam.com:clam=yes,spam=yes,spam_passthru=yes

# Per tutti gli altri controllo spam e antivirus, lo spam viene lo stesso deliverato ma taggato

:clam=yes,spam=yes,spam_passthru=yes

Il comando per ricreare il cdb

#simscanmk

Tutte le prove possono essere fatte con il file virus EICAR e il file spam GTUBE e un paio di domini "fittizi" inseriti con vadddomain

Esempio DEBUG invio a texilee@amelospam.com, AV + AS e rewrite dell'oggetto

simscan: calling clamdscan
simscan: cdb looking up version clamav
simscan: runned_scanners is clamav: 0.88.3/m:39/d:1624
simscan: found 0.88.3/m:39/d:1624
simscan: normal clamdscan return code: 0
simscan: calling spamc
simscan: calling /usr/bin/spamc spamc
simscan: cdb looking up version spam
simscan: runned_scanners is clamav: 0.88.3/m:39/d:1624 spam: 3.0.3
simscan: found 3.0.3
simscan: delivering spam because spam-passthru is defined in this domain
simscan:[21147]:PASSTHRU (997.20/5.00):0.9908s:****SPAM(997.2)**** Test spam mail (GTUBE):(null):root@me:texilee@amelospam.com
simscan: done, execing qmail-queue
simscan: qmail-queue exited 0

Debug molto chiaro.

Ad un utente del dominio iosolovirus.it lo spam non viene recapitato

simscan:[21226]:SPAM REJECT (997.20/5.00):1.0382s:****SPAM(997.2)**** Test spam mail (GTUBE):(null):root@me.com:texilee@iosolovirus.it
simscan: check_spam detected spam refuse message
simscan: exit error code: 31
qmail-inject: fatal: mail server permanently rejected message (#5.3.0)

Se invio un virus ad un utente di iosolovirus.it viene recapitato (casistica molto rara ma già affrontata)

simscan:[21231]:CLEAN (0.10/5.00):2.2078s::(null):root@me:texilee@iosolovirus.it
simscan: done, execing qmail-queue
simscan: qmail-queue exited 0

Se lo invio ad un qualsiasi altro utente

simscan: clamdscan detected a virus
simscan:[21250]:VIRUS:0.0438s:Eicar-Test-Signature:(null):root@me:texilee@dominio
simscan: exit error code: 31
qmail-inject: fatal: mail server permanently rejected message (#5.3.0)

I messaggi non buoni e non consegnati vengono inseriti nella dir

/var/qmail/simscan

Sta a voi decidere cosa fare, se non vi interessa salvarli potete creare uno script che dopo un tot li cancella.
Può essere interessante dal momento che la struttura della dir di quarantena inizia con il timestamp in unix time

Confrontalo con quello di un mese fa

$date --date="30 day ago" +'%s'

oppure usate find e mtime in combinazione con xargs

Posted in Linux, Qmail-Postfix at July 28th, 2006. No Comments.

10 Top tools EMAIL open source

1 Qmail: MTA Mail Trasfer Agent

qmail

QMAIL

Why? Security, Reliability, Speed,Low memory use, User-controlled mailing lists,Virtual hosts made easy, Straightforward administration,Flexible program deliveries, Variable Envelope Return Paths,The maildir format.

2 Postfix: MTA Mail Trasfer Agent

http://www.postfix.org/mysza.gif

Postfix

Why? Fast, easy to administer, and secure.

3 Spamassassin: Spam Filter

http://spamassassin.apache.org/images/arrowlogo.png

Spamassassin

Why? SpamAssassin is a mature, widely-deployed open source project that serves as a mail filter to identify Spam. SpamAssassin uses a variety of mechanisms including header and text analysis, Bayesian filtering, DNS blocklists, and collaborative filtering databases. SpamAssassin runs on a server, and filters spam before it reaches your mailbox.

4 ClamAV: Anti Virus

http://www.clamav.net/img/clam.png

ClamAV

Why? Command-line scanner, fast, multi-threaded daemon,milter interface for sendmail,database updater with support for digital signatures, virus scanner C library, on-access scanning (Linux® and FreeBSD), detection of over 60.000 viruses, worms and trojans, built-in support for RAR (2.0), Zip, Gzip, Bzip2, Tar, MS OLE2, MS Cabinet files, MS CHM (Compressed HTML), MS SZDD, built-in support for mbox, Maildir and raw mail files, built-in support for Portable Executable files compressed with UPX, FSG, and Petite

5) Thunderbird: MUA Mail User Agent

http://www.mozilla.org/press/image-library/thunderbird-logo.png

Thunderbird

Why? Simple to use, powerful, and customizable,supports IMAP and POP mail protocols,HTML mail formatting,Junk Mail Filters,Anti-Phishing Protection,Advanced Security ,Automatic Updates

6) SquirrelMail: WebMail

http://www.squirrelmail.org/images/sm_logo.jpg

Squirrelmail

Why? SquirrelMail is a standards-based webmail package written in PHP4. It includes built-in pure PHP support for the IMAP and SMTP protocols, and all pages render in pure HTML 4.0 (with no JavaScript required) for maximum compatibility across browsers. It has very few requirements and is very easy to configure and install. SquirrelMail has all the functionality you would want from an email client, including strong MIME support, address books, and folder manipulation.

7) RoundCube Webmail

http://trac.roundcube.net/trac.cgi/chrome/site/images/banner_logo.gif

RoundCube Webmail

Why? Easy to install/configure, latest web standards such as XHTML and CSS 2, Multilingual capabilities,Full support for MIME and HTML messages,Compose messages with attachments, Multiple sender identities, Basic address book,Find-as-you-type address book integration,Forwarding messages with attachments,Create or remove custom message folders,Built-in caching for fast mailbox access,Support for external SMTP server,Advanced user interface,Unlimited users and messages,Complete customization with skins
8) Amavisd-new: interface with AV. AS.
http://packages.gentoo.org/images/mail-filter/amavisd-new.jpg

amavisd-new

Why? amavisd-new is a high-performance interface between mailer (MTA) and content checkers: virus scanners, and/or SpamAssassin. It is written in Perl for maintainability, without paying a significant price for speed.

9) Simscan : qmail interface

[No IMG :-( ]

Simscan

Why? Simscan is a simple program that enables qmail-smtpd to reject viruses, spam, and block attachments during the SMTP conversation so the email never makes it into your computers. It is completely open source and uses other open source components. Very efficient and written in C

10) Write a comment and select the 10° tool!!!

Posted in Linux, Qmail-Postfix at July 27th, 2006. 1 Comment.