Seleziona una pagina

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<ref>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.</ref> sulle cartelle /var/www e /tmp: se l’output è diverso da 0 (0 = nessun virus trovato) allora manda una mail a root<ref>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

</ref>

  • 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

<references/>