Sicurezza · 3 min read · Sep 22, 2025

Configura Clamav per scansioni giornaliere del sistema e notifiche via email su Debian

Oggi diamo un’occhiata al software antivirus ClamAV e a come usarlo per proteggere il tuo server o desktop. Ti mostrerò come configurare ClamAV per scansionare quotidianamente tutti i file di sistema, sito web e email e notificarti via email nel caso venga rilevato un virus. Per coloro che non conoscono ClamAV, ClamAV è una soluzione antivirus open-source disponibile su tutte le distribuzioni Linux. Uno dei requisiti di questa guida è che il tuo server abbia già un servizio di posta funzionante.

Questo tutorial funziona bene sui sistemi Debian, ma dovrebbe essere compatibile anche con i sistemi Ubuntu.

Installazione e configurazione

Per prima cosa eseguiamo il comando per installare Clamav e uno strumento per inviare notifiche via email.

apt-get update && apt-get install clamav clamav-freshclam heirloom-mailx

Assicurati che la definizione dei virus venga aggiornata con il comando:

service ClamAV-freshclam start

Per impostazione predefinita, ClamAV controllerà nuove definizioni di virus ogni ora; se desideri modificare questo parametro, puoi modificare il file /etc/clamav/freshclam.conf.

nano /etc/clamav/freshclam.conf

E cambia la seguente riga:

# Controlla per un nuovo database 24 volte al giorno
Checks 24

in

# Controlla per un nuovo database 1 volta al giorno
Checks 1

in questo caso il controllo verrà effettuato solo una volta al giorno. Ti consiglio di lasciare 24 volte al giorno.

Per eseguire un aggiornamento manuale delle definizioni dei virus, puoi eseguire:

freshclam -v

Abilita la notifica e pianifica la scansione

Nel seguente script, modifica la variabile DIRTOSCAN per specificare le directory che desideri scansionare.

Creiamo il file /root/clamscan_daily.sh

nano /root/clamscan_daily.sh

e incolliamo il seguente codice:

#!/bin/bash
LOGFILE="/var/log/clamav/clamav-"$(date +'%Y-%m-%d')".log";
EMAIL_MSG="Si prega di vedere il file di log allegato.";
EMAIL_FROM="[email protected]";
EMAIL_TO="[email protected]";
DIRTOSCAN="/var/www /var/vmail";

for S in ${DIRTOSCAN}; do
 DIRSIZE=$(du -sh "$S" 2>/dev/null | cut -f1);

 echo "Inizio di una scansione giornaliera della directory "$S".
 La quantità di dati da scansionare è "$DIRSIZE".";

 clamscan -ri "$S" >> "$LOGFILE";

 # ottieni il valore delle "Linee infette"
 MALWARE=$(tail "$LOGFILE"|grep Infected|cut -d" " -f3);

 # se il valore non è uguale a zero, invia un'email con il file di log allegato
 if [ "$MALWARE" -ne "0" ];then
 # usando heirloom-mailx qui sotto
 echo "$EMAIL_MSG"|mail -a "$LOGFILE" -s "Malware Trovato" -r "$EMAIL_FROM" "$EMAIL_TO";
 fi 
done

exit 0

Puoi cambiare le due variabili EMAIL_FROM e EMAIL_TO per riflettere gli indirizzi email desiderati e cambiare l’elenco delle directory da scansionare nella variabile DIRTOSCAN.

Salva il file con ( ctrl+o ), e cambia i permessi come segue:

chmod 0755 /root/clamscan_daily.sh

Ora abilita l’esecuzione giornaliera dello script creando un symlink nella directory /etc/cron.daily/:

ln /root/clamscan_daily.sh /etc/cron.daily/clamscan_daily

Ora dovresti essere in grado di ricevere la notifica via email una volta al giorno per virus o malware nei tuoi file di posta o siti web. ClamAV scansiona anche il contenuto dei file PHP per la presenza di malware o altro contenuto potenzialmente dannoso.

Testa lo script

In questa configurazione, ClamAV non eseguirà alcuna azione sui virus trovati, riporterà solo. Quindi non preoccuparti, nulla verrà eliminato o modificato. Per testare lo script, esegui semplicemente:

/root/clamscan_daily.sh

Dopo che il comando è terminato, ci saranno due possibili stati:

  • Clamav ha trovato qualche virus: in questo caso riceverai un’email nella tua casella di posta con il log allegato.

  • Clamav non ha trovato nulla, o qualcosa è andato storto. In questo caso, dovrai controllare cosa dice il log. Per controllare i log dovresti controllare in /var/log/clamav/

Allego un piccolo esempio di log per sapere cosa dovresti leggere:

Inizio di una scansione giornaliera della directory /var/www. La quantità di dati da scansionare è 36G.
Lun Giu 15 13:17:14 CEST 2015

----------- RIEPILOGO SCANSIONE -----------
Virus conosciuti: 3841819
Versione del motore: 0.98.4
Directory scansionate: 47944
File scansionati: 316827
File infetti: 0
Dati scansionati: 17386.77 MB
Dati letti: 34921.59 MB (rapporto 0.50:1)
Tempo: 1432.747 sec (23 m 52 s)
Lun Giu 15 13:41:06 CEST 2015
------------------------------------------------------
------------------------------------------------------
Inizio di una scansione giornaliera della directory /var/vmail. La quantità di dati da scansionare è 7.0G.
Lun Giu 15 13:41:27 CEST 2015
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1386677288.M361286P15524.domain.tld,W=2675,S=2627:2,S: Heuristics.Phishing.Email.SpoofedDomain TROVATO
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1371451873.M697795P19793.domain.tld,W=5421,S=5353:2,S: Heuristics.Phishing.Email.SpoofedDomain TROVATO
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1390203133.M981287P17350.domain.tld,W=3223,S=3157:2,S: Heuristics.Phishing.Email.SpoofedDomain TROVATO
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1386677288.M361285P15524.domain.tld,W=2270,S=2227:2,S: Heuristics.Phishing.Email.SpoofedDomain TROVATO

In questo caso, ClamAV ha trovato alcune email di phishing a [email protected], quindi in questo caso riceverai anche l’email.

Questo è tutto!

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.