linux user group brescia

immagine del castello

Archivio della mailing list

Sobig

Luca Giuzzi giuzzi a lugbs.linux.it
Mar 23 Set 2003 09:15:59 UTC
On Tue, Sep 23, 2003 at 08:35:10AM +0200, Vernia Damiano wrote:
> 
> On Mon, 22 Sep 2003, Luca Giuzzi wrote:
> > > 	Al massimo ho a disposizione il computer dell'universita', farei
> > > scaricare la posta a lui e gli farei fare lo scan; ogni, che so, 30min.
> > ok... strada percorribile, assumendo che tu abbia un accesso shell
> > a quella macchina.
> 
> 	Adesso ci sto lavorando in console... ma non ho la passwd di root.
> 
Nessun problema... quasi tutto si puo' fare da utente ....
[anche se, personalmente, troverei utile per l'amministratore 
installare clamav... non si sa mai!]

> > La posta, immagino, la scaricheresti con fetchmail.
> 
> 	Attualmente scarico la posta a casa usando getmail. E' un
> programmino python ed ha poche opzioni, ma mi permette di scaricare solo
> la posta "nuova".

Immagino che getmail riforwardi la posta al sendmail locale (come fa
 fetchmail) per cui il problema e' a livello di controllo locale del
 delivery.

> 	In universita' uso pine e mi collego tramite IMAP al server di
> Tiscali. Qui pine scarica davvero la posta e la cancella dal server.

Convertiti a mutt :))

> > La cosa NON e' necessaria, pero'...
> > Potresti agire in questo modo:
> > 1. scaricare la posta sulla macchina in univ.
> 
> 	Con fetchmail in cron, giusto? Poco o nessun problema.
> 
Bene!

> > 2. eseguire l'antivirus tramite procmail (giusto per filtrare i messaggi
> >    mentre sono scaricati e non in cron job)
> 
> 	Di procmail so solo che gestisce la posta...
> 
e la gestisce bene :)
attenzione pero'... una ricetta sbagliata e rischi di perdere i messaggi :(

Credo possa interessare anche altre persone avere una indicazione di
come si possa fare a bloccare i vari virus, per cui riporto le
istruzioni dettagliate in m/l.

In generale io uso il seguente "scheletro" per .procmailrc 

#---INIZIO---
#crea copia di backup dei messaggi: la prudenza non e' mai troppa
:0c
backup/.

:0ic
| cd backup && rm -f dummy `ls -t [0-9]* | sed -e 1,232d`

#
# Scan dell'antivirus: NON ha senso fare una scansione di 
# messaggi NON multipart/mime
# ...per lo script vscanmail vedi sotto...

:0fw: clamav.lock
* ^Content-Type: multipart*
| (([ -x /usr/local/bin/vscanmail ] && /usr/local/bin/vscanmail - ) || (formail -I "X-Virus-Scan: unavailable"))

:0a
* ^X-Virus-Scan: Suspicious*
virus-suspected

:0e
EXITCODE=$?

#---FINE---


Alle regole di cui sopra fanno seguito quelle per spamassassin, la
classificazione dei messaggi nei folders delle m/l, etc. etc.
ma il succo e' questo.

Lo script vscanmail e' una modifica (abbastanza sostanziale) di
"trashcan" distribuito con clamav ... teoricamente puoi usare direttamente
trashcan... altrimenti eccoti lo script in oggetto; attenzione pero':
esso assume che tu abbia una cartella tmp nella tua home (altrimenti
potrebbe fare brutte cose).

#---INIZIO SCRIPT vscanmail--
#!/bin/bash
#
# VscanMail (copiato ed editato da
# TrashScan v0.08); Scan email for viruses
# ZapCoded by Trashware; 13.10.2002
# Email: trashware a gmx.de
# Web: http://trashware.mirrorz.com
#

SCANDIR=$HOME/tmp         
DECODER=metamail                                  
DECODPRG=/usr/bin/metamail                       
VSCANPRG=/usr/local/bin/clamscan                
VSCANOPT="--quiet --tempdir=$HOME/tmp --recursive --max-files=500 \
	--max-space=30M --unzip=/usr/bin/unzip --unrar=/usr/bin/unrar \
	--unarj=/usr/bin/unarj --zoo=/usr/bin/zoo --lha=/usr/bin/lha \
	--jar=/usr/bin/unzip --tar=/bin/tar --tgz=/bin/tar"  
VSCANVEX=1
FORMAIL=/usr/bin/formail
PROCMAIL=/usr/bin/procmail
CAT=/bin/cat
GREP=/bin/grep
LOGGER=/usr/bin/logger
LOGPRIO=mail.warn
MKDIR=/bin/mkdir
RM=/bin/rm
SED=/bin/sed


INFILE=$1
TSC=VscanMail
TASKDIR=$SCANDIR/$TSC-$$
MSGDIR=$TASKDIR/message
ATTDIR=$TASKDIR/attach
VKLUDGE="X-Virus-Scan:"
TSCV="$TSC v0.08"

${MKDIR} -p ${TASKDIR}
${MKDIR} ${MSGDIR}
${MKDIR} ${ATTDIR}
${CAT} ${INFILE} > ${MSGDIR}/rec.msg

METAMAIL_TMPDIR=$ATTDIR
export METAMAIL_TMPDIR

${DECODPRG} -r -q -x -w ${MSGDIR}/rec.msg >/dev/null 2>/dev/null
${VSCANPRG} ${VSCANOPT} ${ATTDIR} 2>/dev/null >/dev/null
VSCANRC=$?

if [ ${VSCANRC} = $VSCANVEX ]; then
    VIRUS=$(${VSCANPRG} ${ATTDIR}  2>&1| grep FOUND | cut -d ":" -f 2 | sed -e "s/FOUND//")
    ${FORMAIL} -I "$VKLUDGE Suspicious $VIRUS" -Y < ${MSGDIR}/rec.msg 
else
    ${FORMAIL} -I "$VKLUDGE Scanned by $TSCV running on $HOSTNAME" -Y < ${MSGDIR}/rec.msg 
fi

${RM} -rf ${TASKDIR}

exit 0
#---FINE SCRIPT---



Ciao,
 lg
-- 



Maggiori informazioni sulla lista Lug