# 04-spam.rc # File di configurazione procmail di francesco ciattaglia # Creato originariamente nel novembre 2001 # Last Edited: january 2008 # utile per il debugging del file di log dummy = "**************** AVVIO DI 04-spam.rc ****************" ### ## # Per un'eccellente raccolta di regole anti spam: # http://handsonhowto.com/pmail200.html # L'obiettivo delle regole antispam gestite da Procmail # è di limitare al massimo l'utilizzo di SpamAssassin, # essendo questo un programma avido di risorse quando # viene eseguito: più spam intercetto prima, meno lo uso. ### ## # I D E N T I F I C A Z I O N E P R O B A B I L E S P A M # ----------------------------------------------------------- ### ## # Soldi, Soldi, Soldi. #:0: #* ^Subject:.*\$\$\$ #spam ### ## # Email con header X-Advertisement = spam sicuro! :0: * ^X-Advertisement:.* spam ### ## # Email con header "To:" vuoto = indirizzate a nessuno = spam! :0: * To:[ ]*$ spam ### ## # Email con header "To:" assente = spam! :0: * !^To:.* spam ### ## # Email con header "Subject:" vuoto = per me spam! :0: * Subject:[ ]*$ spam ### ## # Email con header "Subject:" assente = per me spam! :0: * !^Subject:.* spam ### ## # Email con header "Subject:" pieno di spazi = per me spam! :0: * ^Subject: .*[^ ].* .* spam ### ## # Email con header "Subject: SUSPECT" = si autoqualifica spam! :0: * ^Subject:.*\[.*SUSPECT.*\].* spam ### ## # Email senza data = spam! :0: * !^Date: spam ### ## # Email con header Message-ID vuoti = mailserver fuori norma = spam! :0: * ^Message-ID.*<> spam ### ## # Email con header Message-Id non valido. # (RFC822, Section 4.6.1: no local part) :0: * ^Message-Id.*<[^@]+> spam ### ## # Email con header Message-Id non valido. # (RFC822, Section 4.6.1: no host/domain part) :0: * ^Message-Id.*<[^@]+@[^A-Za-z0-9\[] spam ### ## # Email con contenuto sospetto (Base64 encoding). # (Regola da mantenere tutta su una riga!) :0: * 1^0 B ?? Content-Type: text/(html|plain)(;[ ]*$?[ ]*charset="iso-8859-1")?($Content-Disposition: inline)?$Content-Transfer-Encoding: base64 spam ### ## # Filtra messaggi con allegati file eseguibili win32. # Questi allegati sono encodati base64 ed hanno come # pattern il valore TVqQAAMAAAAEAAAA//8AALg . # Inoltre la stringa "this program cannot be run in MS-DOS mode" # è encodata in base64 come 4fug4AtAnNIbg . # Questo ulteriore controllo aiuta ad evitare falsi positivi # (Roland Smith via Pete from the bogofilter mailing list). :0 B: * ^Content-Transfer-Encoding:.*base64 * ^TVqQAAMAAAAEAAAA//8AALg * 4fug4AtAnNIbg spam ### ## # Filtra come spam messaggi con caratteri non leggibili (Bogofilter FAQ). # cn-big5 - chinese # big5 - chinese # cn-gb - chinese # gb2312 - chinese # euc-kr - korean # ks_c_5601-1987 - korean # iso-2022-kr - korean # euc-jp - japanese # iso-2022-jp - japanese # koi8-r - cyrillic # iso-8859-2 - Latin-2 für Eastern Europe # iso-8859-5 - cyrillic # iso-ir-111 - cyrillic (ECMA) # definizione dei caratteri stranieri non desiderati UNREADABLE='[^?"]*big5|cn-big5|cn-gb|gb2312|euc-kr|ks_c_5601-1987||ISO-2022-kr|euc-jp|iso-2022-jp|koi8-r|iso-8859-2|iso-8859-5|iso-ir-111' # spam straniero [1/2]: caratteri non leggibili negli header :0: * 1^0 $ ^Subject:.*=\?($UNREADABLE) * 1^0 $ ^Content-Type:.*charset="?($UNREADABLE) spam # spam straniero [2/2]: caratteri non leggibili nel corpo :0: * ^Content-Type:.*multipart * B ?? $ ^Content-Type:.*^?.*charset="?($UNREADABLE) spam ### ## # email che non hanno me come destinatario # => se il messaggio NON è già stato intercettato dalle regole # precedenti è MOLTO probabilmente spam! :0: * ! ^TO_francesco\.ciattaglia@alice\.it spam # T R A T T A M E N T O A C U R A D I S P A M A S S A S S I N # ------------------------------------------------------------------- # SpamAssassin procmailrc # fonte: http://wiki.apache.org/spamassassin/UsedViaProcmail # ---------------------------------- # La prima regola passa la posta a SpamAssassin # Utilizziamo la variabile $SPAMASSASSIN, definita in .procmailrc # (se si utilizza la combinazione spamc/spamd, va lanciato spamc) # # La condizione assicura che siano processati da SpamAssassin solo # file di dimensioni inferiori a 250 kB (250 * 1024 = 256000 bytes). # La maggior parte dello spam è infatti di dimensioni intorno ai pochi # k e così si limitano le elaborazioni a carico di SpamAssassin. # # Il lock file assicura che venga eseguita una sola istanza di # SpamAssassin alla volta. # :0 fw: spamassassin.lock * < 256000 | $SPAMASSASSIN ### ## # Messaggi con score di 15 o superiore sono quasi certamente spam e # pertanto possono essere spostati in una mailbox ad hoc. # Secondo le statistiche di SpamAssassin il rischio di falsi positivi # per messaggi con questi livelli di score è nell'intorno di 0,05% # #:0: #* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\* #spam-quasi-certo ### ## # I messaggi arrivati fin qui e che presentano la taggatura come spam # operata da SpamAssassin perchè con score superiore al livello soglia # (il default è 5) vengono dirottati su un'altra mailbox. # La variabile di configurazione di SpamAssassin responsabile della # definizione del livello soglia è required_score :0: * ^X-Spam-Status: Yes spam ### ## # Regola che risolve un bug di Procmail che causa l'elisione della "F" # nel campo "From" quando si verifica la produzione di output su stderr. # La regola provvede a reinserire eventuali "F" mancanti in "rom". :0 * ^^rom[ ] { LOG="*** F mancante dall'header From! Sistemato. " :0 fhw | sed -e '1s/^/F/' }