Clamav

Da Linux User Group Scandiano.
Crystal kedit.png
Questa pagina ha bisogno di aiuto.

Questa sezione è soltanto un abbozzo e necessita di essere sviluppata. Se vuoi contribuire allo sviluppo di questa sezione clicca sul pulsante modifica e inserisci i tuoi contenuti.

Questo è uno script per automatizzare una scansione antivirus e ricevere comunicazione se viene rilevata una minaccia:

#!/bin/bash

TMP=/tmp
WWW=/var/www
DATE=$(date +%Y%m%d%H)
CLOG=/var/log/clamav/scan-$DATE.log

freshclam ;
clamscan -l $CLOG -ir $WWW $TMP ;

if [ $? != 0 ]
then
        echo -e "\nManda la mail" ;
        mail -s "Trovato virus su $(uname -n)" root <$CLOG ;
else
        echo -e "\nNiente virus!" ;
fi

find /var/log/clamav/ -ctime +60 -name "scan*.log" -delete ;

exit 0 ;

Nello specifico:

  • lo script all'inizio assegna delle variabili che serviranno poi all'interno del ciclo.
  • lancia freshclam per aggiornare le definizioni dei virus (attenzione che se freshclam viene lanciato dal sistema come demone si riceverà errore: ERROR: /var/log/clamav/freshclam.log is locked by another process: in questo caso possiamo commentare la riga)
  • lancia la scansione[1] sulle cartelle /var/www e /tmp: se l'output è diverso da 0 (0 = nessun virus trovato) allora manda una mail a root[2]
  • cancella i log creati più vecchi di 60 giorni ed esce

Errore freshclam

Se freshclam non si aggiorna e restituisce un output simile a questo:

ClamAV update process started at Tue Aug  6 17:38:35 2013
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.97.6 Recommended version: 0.97.8
DON'T PANIC! Read http://www.clamav.net/support/faq
main.cld is up to date (version: 54, sigs: 1044387, f-level: 60, builder: sven)
WARNING: getpatch: Can't download daily-16682.cdiff from db.local.clamav.net
WARNING: getpatch: Can't download daily-16682.cdiff from db.local.clamav.net
WARNING: getpatch: Can't download daily-16682.cdiff from db.local.clamav.net
WARNING: getpatch: Can't download daily-16682.cdiff from db.local.clamav.net
WARNING: getpatch: Can't download daily-16682.cdiff from db.local.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
WARNING: Can't download daily.cvd from db.local.clamav.net
Trying again in 5 secs...

E' possibile provare a cancellare il file daily.cvd:

rm -f /var/lib/clamav/daily.cvd

Ora basta provare a lanciare freshclam e successivamente, se tutto va a buon fine, riavviare il servizio:

freshclam
/etc/init.d/clamav-freshclam restart

Note

  1. La scansione rileverà virus, malware e vari exploits, ad esempio pagine PHP manomesse, molto comodo sui server web. Per controllare la lista delle minacce conosciute si può utilizzare questo strumento.
  2. Se vogliamo ricevere la notifica via posta elettronica possiamo sostituire root con la nostra mail (ovviamente è necessario un servizio mail configurato e funzionante per spedire) oppure inserirla in /etc/aliases dopo root: (possiamo inserire anche più indirizzi) in questo modo:
    root: miamail@miodominio,miamail2@miodominio2

    e lanciare il comando:

    newaliases