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/>