giovedì, febbraio 12, 2009

dcc spamassassin qmail how-to

- post<li> - Permalink

Nell'ultimo periodo nella mia continua lotta contro lo spam mi sono accorto che diversi messaggi ormai riuscivano a passare indenni senza nemmeno essere taggati da spamassassin, non dico respinti direttamente da simscan ma proprio nemmeno taggati.

Così ho deciso di provare dcc, un sistema di hashing condiviso (HashSharingSystem), dove in pratica esiste una rete di server pubblici che si passano tra di loro le informazioni relative allo spam in modo da essere più veloci nel riconoscerlo.

Altri sistemi simili sono Razor e Pyzor.

Io avevo già provato quest'ultimo ma non mi aveva dato molte soddisfazioni e così ho deciso di provare dcc appunto perchè mi sembrava più promettente solo che non riuscivo a trovare indicazioni complete e suprattutto aggiornate su come integrarlo con qmailtoaster e così me le sono scritte! :D

Ecco quindi questo sintetico How-to su come integrare dcc con qmailtoaster o meglio con spamassassin

  1. Si scaricano i sorgenti dentro ad una directory tipo /tmp con il comando



    >wget http://www.rhyolite.com/dcc/source/dcc.tar.Z

  2. Si decomprimono i sorgenti:



    >tar zxvf dcc.tar.Z

  3. Entriamo nella directory appena creata (notare l'ultima versione rilasciata)



    >cd dcc-1.3.102/

  4. Lanciamo il classico configure disabilitando l'interfaccia per sendmail che non ci serve visto che usiamo qmail



    > ./configure --disable-dccm

  5. Lo installiamo con il comando



    >make install

  6. Vediamo se può funzionare con il comando:



    >cdcc 'info'
    Tra l'altro qui vediamo subito se ci sono noie con il firewall
  7. Modifichiamo il file dcc_conf abilitando il demone di interfaccia verso la rete dccifd (in pratica invece di lanciare ogni volta il comando interroghiamo una sorta di server che rigira le nostre richieste ai server pubblici in modo più efficente di quello descritto qui)


    >vi /var/dcc/dcc_conf
    #DCCIFD_ENABLE=offDCCIFD_ENABLE=on

  8. Copiamo nella cartella corretta il file di startup ( rc ) di dcc:



    >cp /var/dcc/libexec/rcDCC /etc/init.d/dcc

  9. Attiviamo il servizio all'avvio:



    >chkconfig --add dcc

  10. Lo avviamo subito per vedere se tutto funziona:



    >service dcc start

  11. Verifichiamo che sia partito con:



    > ps aux|grep dcc
    root 9954 0.0 0.0 3516 300 ? Ss 14:29 0:00 /var/dcc/libexec/dccifd -tREP,20 -tCMN,5, -llog -wwhiteclnt -Uuserdirs -SHELO -Smail_host -SSender -SList-IDroot 9955 0.3 0.4 25512 2264 ? Sl 14:29 0:00 /var/dcc/libexec/dccifd -tREP,20 -tCMN,5, -llog -wwhiteclnt -Uuserdirs -SHELO -Smail_host -SSender -SList-ID

  12. Andiamo quindi ad abilitarlo in spamassassin andando a scommentare la riga



    >vi /etc/mail/spamassassin/v310.pre
    # 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 ## <<<<<<<<<<<<<<<<<<<

  13. Aggiungiamo poi le seguenti righe a /etc/mail/spamassassin/local.cf



    > vi /etc/mail/spamassassin/local.cf
    use_dcc 1
    add_header all
    DCC _DCCB_: _DCCR_
    dcc_home /var/dcc
    dcc_dccifd_path /var/dcc/dccifd
    dcc_options -Rw whiteclnt

  14. Riavviamo il sistema per verificare che tutto parta correttamente all'avvio.
  15. Testiamo il tutto con il comando:



    >qmlog -f spamd
    02-12 15:03:25 [3602] info: spamd: result: Y 11 - AWL,BAYES_50,DCC_CHECK,FORGED_MUA_OUTLOOK,FORGED_OUTLOOK_HTML,FORGED_OUTLOOK_TAGS,HTML_IMAGE_ONLY_20,HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY,MISSING_HEADERS,MISSING_MID,NORMAL_HTTP_TO_IP,RCVD_IN_SBL,RDNS_NONE scantime=7.5,size=2643,user=clamav,uid=89,required_score=4.0,rhost=localhost.localdomain,raddr=127.0.0.1,rport=32773,mid=(unknown),bayes=0.500000,autolearn=spam

  16. Adesso alcuni messaggi che prima non raggiungevano per poco il limite precedente (attualmente il mio è a 4) e che quindi non venivano taggati adesso superano tale soglia e vengono marcati. Infatti testando un messaggio che prima non veniva taggato con il comando> spamassassin -t -D dcc < /tmp/msg-spam-not-tagget.txtSi ottiene in calce


    pts rule name              description---- ---------------------- -------------------------------------------------- 0.1 RDNS_NONE              Delivered to trusted network by a host with no rDNS 0.0 HTML_MESSAGE           BODY: HTML included in message 1.7 MIME_HTML_ONLY         BODY: Message only has text/html MIME parts 1.4 DCC_CHECK              Listed in DCC (http://rhyolite.com/anti-spam/dcc/) 1.4 AWL                    AWL: From: address is in the auto white-list
    Dove si può vedere che il trucco di cercare l'Auto White List (AWL) perchè il mittente risulta essere affidabile in quanto uguale al destinatario (ultima moda dello spam) non è sufficiente a far raggiungere la soglia di tag che invece viene superata grazie al fatto di essere riconosciuto già dalla rete di dcc

Considerazioni finali:
Il software ovviamente non è la soluzione definitiva, ma le prime impressioni sono positive. Dovrebbe abbassare il tasso di falsi negativi del 3% secondo il documento del Garr. Non so provatelo e poi fatemi sapere la vostra impressione qui nei commenti.

Riferimenti
  • dcc INSTALL
  • dcc FAQ: Dove sono presentati anche i tipici problemi che si possono sollevare e relative soluzioni
  • dcc con spamassassinNota. in questo documento si usa dcc come un 'comando' -dccproc- lanciandolo ogni volta in maniera meno efficente e più pesante rispetto all'uso di dccifd presentato nell'articolo.
  • Script RC Dcc
  • Alcune ottimizzazioni per la rete italiana sono disponibili su questo documento pdf del Garr. Attenzione che è un po' datato.

Misato: [...] Hai paura... di incontrarti da solo con tuo padre?...Non puoi e non devi sempre fuggire. Se non ti sforzerai tu di fare il passo in avanti, non cambierà mai nulla da sé.
Shinji: Lo so, questo.
Misato: Quello che ancora non sai è che non si tratta solo di fare il primo passo, ma anche di continuare ad avanzare, un passo dopo l'altro.In ogni caso presentati all'incontro fiero e deciso, perché ci sarà anche tua madre.[...] (episodio 15)

Nessun commento:

Articoli correlati divisi per etichetta



Widget by Hoctro