Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in...

23
Gennaio – Marzo 2002 CSITA - Università di Genova Claudio Di Martino Protezione da virus in Protezione da virus in ambiente Unix ambiente Unix Claudio Di Martino ([email protected]) CSITA - Università di Genova

Transcript of Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in...

Page 1: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Protezione da virus in ambiente UnixProtezione da virus in ambiente Unix

Claudio Di Martino ([email protected])

CSITA - Università di Genova

Page 2: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Antivirus e UNIXAntivirus e UNIX

• I Sistemi Operativi della famiglia UNIX non sono solitamente soggetti alle classiche infezioni da virus.Tuttavia i sistemi UNIX spesso sono inseriti in contesti eterogenei e forniscono servizi a macchine con Sistemi Operativi diversi possibilmente più vulnerabili.

• Questo li mette spesso in posizione privilegiata per effettuare un servizio di controllo antivirus in quanto non sono soggetti ad infezione da parte dei virus che eventualmente possono transitare su di essi.

Page 3: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

SOPHOS Anti-Virus (1/2)SOPHOS Anti-Virus (1/2)

CSITA ha acquisito un certo numero di licenze server di Sophos antivirus redistribuibili all'interno dell'Università.

Sophos è disponibile per un ampio numero di piattaforme e viene costantemente aggiornato:

Page 4: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

SOPHOS Anti-Virus (2/2)SOPHOS Anti-Virus (2/2)

• Windows NT/2000/XP• Windows 95/98/Me• Linux• NetWare• DOS/Windows 3.1x• OpenVMS• OS/2• vari Unix (HP-UX, SCO, Solaris, *BSD, ecc...)• Macintosh

Page 5: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Installazione di SOPHOS Installazione di SOPHOS

• Scaricare il file .tar corrispondente al proprio S.O. (https://www2.csita.unige.it/intranet/reftecnici/sophos.php3) in una directory di lavoro (es. /tmp) e posizionarsi in essa (cd /tmp);

• Scompattare l'archivio con tar xvf os.arch.tar

• Entrare nella directory di installazione (cd sav-install);

• Lanciare lo script di installazione (./install.sh -ni);

• Impostare la variabile d'ambiente per i file di aggiornamento (SAV_IDE=/usr/local/sav; export SAV_IDE).

Page 6: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Uso di SOPHOS da shellUso di SOPHOS da shell

• Verificare che /usr/local/bin sia nel PATH della shell ed eventualmente aggiungerlo:

PATH=$PATH:/usr/local/bin; export PATH;

• Per fare una scansione rapida dei files con estensione nota nella directory corrente e sottodirectory:

sweep .

• Per fare una scansione di tutti i file e anche degli archivi contenuti nella directory /samba/shares:

sweep -all -archive -rec /samba/shares

• Il return code sarà 0 se non verranno rilevati errori e 3 se è stato riconosciuto un virus o un frammento di virus.

Page 7: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Aggiornamento di SOPHOS(1/2)Aggiornamento di SOPHOS(1/2)

• Sophos AV aggiorna le firme dei virus nuovi mediante file ausiliari aggiuntivi al file principale di firme. Questi file hanno estensione .ide.

• La politica di aggiornamento di Sophos è di fornire un file .ide per ogni nuovo virus.

• Inoltre, una volta al mese, viene rilasciata una nuova versione del motore di scansione che integra tutti gli .ide rilasciati fino a quel momento.

Page 8: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Aggiornamento di SOPHOS(2/2)Aggiornamento di SOPHOS(2/2)

• CSITA ha attivato un mirror dei file di firme. Il seguente script, se l'installazione è stata eseguita come indicato precedentemente, mantiene aggiornati i file .ide.

cd $SAV_IDE

wget -N http://www.csita.unige.it/antivirus/ide/ides.zip

RETURN_STATUS=$?

if [ $RETURN_STATUS -gt 0 ]; then

exit

fi

unzip -o ides.zip

Page 9: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Integrazione di Sophos AV con un MTAIntegrazione di Sophos AV con un MTA

• Integrare l'antivirus ai più comuni Message Transfer Agent per Linux/Unix permette di controllare tutta la posta in arrivo e bloccare i messaggi che contengono allegati con virus.

• Per svolgere questo compito, il MTA deve essere coadiuvato da un apposito programma; le istruzioni che seguono si riferiscono all'integrazione di Amavis con Sendmail.

Page 10: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Installazione di maildrop(1/2)Installazione di maildrop(1/2)

• Scaricare i sorgenti del mail delivery agent maildrop all'indirizzo http://www.flounder.net/~mrsam/maildrop/;

• Scompattare il file scaricato (ad es. nella directory /usr/src con il comando:

cd /usr/src; tar xvfz maildrop-1.3.6.tar.gz• Preparare l'installazione con il comando:

cd /usr/src/maildrop-1.3.6; ./configure

Page 11: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Installazione di maildrop(2/2)Installazione di maildrop(2/2)

• Attendere la fine della configurazione e compilare i sorgenti con il comando make

• Installare i compilati con il comando make install• Se si vuole includere la scansione di allegati

compressi (zip,arj,lha ecc.) si devono installare le utility in grado di gestire i diversi formati (di solito esistono le versioni pacchettizate per tutte le principali distribuzioni).

Page 12: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Installazione di AmaViS (1/2)Installazione di AmaViS (1/2)

• Scaricare i sorgenti di AMaViS (A Mail Virus Scanner) all'indirizzo http:///www.amavis.org

• Scompattare il file scaricato con il comando:

cd /usr/src ; tar xvfz amavis-0.2.1.tar.gz• Preparare l'installazione con il comando: cd /usr/src/amavis-0.2.1 ; ./configure.

Page 13: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Installazione di AmaViS (2/2)Installazione di AmaViS (2/2)

• Controllare che durante la configurazione amavis riconosca la presenza dell'antivirus Sophos:

[...]

checking *** Sophos Sweep ***

checking for sweep... /usr/local/bin/sweep

checking if /usr/local/bin/sweep really is Sophos Sweep... yes

[...]

• Compilare i sorgenti con il comando make• Installare i compilati con il comando make install

Page 14: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Integrazione di Sophos AV con Sendmail(1/3)Integrazione di Sophos AV con Sendmail(1/3)

• Modificare il file di configurazione sendmail.cf (generalmente in /etc/mail/) sostituendo le righe:

Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@SPfhn, S=10/30, R=20/40,

T=DNS/RFC822/X-Unix,

A=procmail -Y -a $h -d $u

con #Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@SPfhn, S=10/30,R=20/40,

# T=DNS/RFC822/X-Unix,

# A=procmail -Y -a $h -d $u

Mlocal, P=/usr/sbin/scanmails, F=lsDFMAw5:/|@SPfhn, S=10/30,R=20/40,

T=DNS/RFC822/X-Unix,

A=scanmails -Y -a $h -d $u

Page 15: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Integrazione di Sophos AV con Sendmail(2/3)Integrazione di Sophos AV con Sendmail(2/3)

• In alternativa è possibile ricompilare il file sendmail.cf. Si devono aggiungere al file .m4 da cui è stato generato il file di configurazione sendmail.cf le seguenti direttive:

dnl change Mlocal to use AMaViS

define(`LOCAL_MAILER_PATH', `/usr/sbin/scanmails')dnl

define(`LOCAL_MAILER_ARGS', `scanmails -Y -a $h -d $u')dnl

• Una volta completata la modifica è necessario far ripartire il server di posta.

Page 16: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Integrazione di Sophos AV con Sendmail(3/3)Integrazione di Sophos AV con Sendmail(3/3)

• Per un corretto funzionamento di AMaViS è necessario definire alcuni alias (nel file /etc/aliases o /etc/mail/aliases):

[...]

root: superuser

postmaster: root

MAILER-DAEMON: postmaster

virusalert: virusmaster

[...]

• Digitare il comando newaliases al termine della modifica per rendere attivi i nuovi alias.

Page 17: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Personalizzazione di AMaViSPersonalizzazione di AMaViS

• È possibile personalizzare AMaViS editando il file /usr/sbin/scanmails in modo che notifichi il riconoscimento dei virus ai diretti interessati:

[...]

################################################

# send virus report to admin (see mailto)? #

# send notification message to sender? #

# send notification message to receiver? #

################################################

notifyadmin=yes

notifysender=yes

notifyreceiver=yes

[...]

Page 18: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Test di AMaViSTest di AMaViS

• Per testare l'installazione è possibile utilizzare i pattern presenti sul sito http://www.eicar.org/ (NON sono pericolosi) .

• Se AMaViS è stato installato correttamente e si spedisce eicar in attachment compare un messaggio di questo tipo in /var/log/mail.log:

[...]

Nov 30 17:24:33 server scanmails[8149]: execution started

Nov 30 17:24:35 server scanmails[8149]: FOUND VIRUS IN MAIL from [mittente] to [destinatario]

[...]

Nov 30 17:24:35 server scanmails[8149]: terminating

Page 19: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Installazione di AMaViS su un relay (1/4)Installazione di AMaViS su un relay (1/4)

• L'installazione precedente è utile per un server che recapiti localmente la posta. Nel caso di un server che effettua relay o che gestisce mailing-list è comunque possibile configurare sendmail in modo che AMaViS filtri tutta la posta in transito.

• Prima di procedere alla modifica del file sendmail.cf è opportuno crearne una copia di salvataggio e operare su un'ulteriore copia:

cd /etc/mail

cp sendmail.cf sendmail.cf.pre-amavis

cp sendmail.cf sendmail.cf.post-amavis

Page 20: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Installazione di AMaViS su un relay (2/4)Installazione di AMaViS su un relay (2/4)

• Creare la directory che amavis userà per gestire la posta in entrata:

mkdir /var/spool/mqamavis

chmod 0755 /var/spool/mqamavis

• Editare il file sendmail.cf.post-amavis e modificare la riga che inizia con:

O QueueDirectory=

in modo che punti alla directory appena creata: O QueueDirectory=/var/spool/mqamavis

Page 21: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Installazione di AMaViS su un relay (3/4)Installazione di AMaViS su un relay (3/4)

• Modificare la riga che inizia con: O StatusFile=

in modo che scriva nel file /var/log/amavis.st: O StatusFile=/var/log/amavis.st

• Individuare la riga che inizia con: Mlocal

e inserire precedentemente le seguenti righe: Mamavis, P=/usr/local/sbin/amavis, F=mlsACDFMS5:/|@qhP, S=0, R=0

T=DNS/RFC822/X-Unix,

A=amavis $f $u

Page 22: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

Installazione di AMaViS su un relay (4/4)Installazione di AMaViS su un relay (4/4)

• Individuare la riga che contiene la stringa: final parsing

e inserire una riga precedente con la regola: R$* $#amavis $:$1

• Sostituire sendmail.cf con sendmail.cf.post e riavviare il server di posta.

Page 23: Gennaio – Marzo 2002 CSITA - Università di GenovaClaudio Di Martino Protezione da virus in ambiente Unix Claudio Di Martino (claudio@claudio.csita.unige.it)

Gennaio – Marzo 2002

CSITA - Università di Genova Claudio Di Martino

RiferimentiRiferimenti

• http://www.sophos.com/• http://www.csita.unige.it/antivirus/sophos.html• http://www.amavis.org/• http://www.flounder.net/~mrsam/maildrop/• http://www.eicar.org/anti_virus_test_file.htm