Oggi diamo un'occhiata al software antivirus ClamAV e a come utilizzarlo per proteggere il tuo server o desktop. Ti mostrerò come configurare ClamAV per scansionare tutti i file di sistema, sito Web ed e-mail ogni giorno e avvisarti via e-mail nel caso in cui venga rilevato un virus. Per coloro che non conoscono ClamAV, ClamAV è una soluzione software antivirus open source disponibile su tutte le distribuzioni Linux. Uno dei requisiti di questa guida è che il tuo server disponga già di un servizio di posta funzionante.
Questo tutorial funziona bene su Debian sistemi, ma dovrebbe essere compatibile con Ubuntu anche i sistemi.
Installazione e configurazione
Innanzitutto 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 del virus venga aggiornata con il comando:
service ClamAV-freshclam start
Per impostazione predefinita, ClamAV eseguirà un controllo delle nuove definizioni dei 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:
# Check for new database 24 times a day Checks 24
a
# Check for new database 1 times a day Checks 1
in questo caso il controllo verrà effettuato solo una volta al giorno. Ti consiglio di partire 24 volte al giorno.
Per eseguire un aggiornamento manuale delle definizioni dei virus, puoi eseguire:
freshclam -v
Abilita la notifica e pianifica la scansione
Nello script seguente, modifica la variabile DIRTOSCAN per specificare le directory di cui desideri eseguire la scansione.
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="Please see the log file attached."; 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 "Starting a daily scan of "$S" directory. Amount of data to be scanned is "$DIRSIZE"."; clamscan -ri "$S" >> "$LOGFILE"; # get the value of "Infected lines" MALWARE=$(tail "$LOGFILE"|grep Infected|cut -d" " -f3); # if the value is not equal to zero, send an email with the log file attached if [ "$MALWARE" -ne "0" ];then # using heirloom-mailx below echo "$EMAIL_MSG"|mail -a "$LOGFILE" -s "Malware Found" -r "$EMAIL_FROM" "$EMAIL_TO"; fi done exit 0
Puoi modificare le due variabili EMAIL_FROM ed EMAIL_TO per riflettere gli indirizzi email desiderati e modificare l'elenco delle directory da scansionare nella variabile DIRTOSCAN.
Salva il file con ( ctrl+o ) e modifica l'autorizzazione come segue:
chmod 0755 /root/clamscan_daily.sh
Ora abilita l'esecuzione giornaliera dello script creando un collegamento simbolico nella directory /etc/cron.daily/:
ln /root/clamscan_daily.sh /etc/cron.daily/clamscan_daily
Ora dovresti essere in grado di ricevere la notifica e-mail una volta al giorno per virus o malware nei file di posta o nei siti Web. ClamAV esegue inoltre la scansione del contenuto dei file PHP per rilevare la presenza di malware o altri contenuti potenzialmente dannosi.
Verifica lo script
In questa configurazione, ClamAV non eseguirà alcuna azione sui virus trovati, si limiterà a segnalarli. Quindi non preoccuparti, nulla verrà cancellato o alterato. Per testare lo script, esegui:
/root/clamscan_daily.sh
Al termine del comando, ci saranno due possibili stati:
- Clamav ha rilevato dei virus:in questo caso riceverai un'email nella tua casella di posta con il log allegato.
- Clamav non ha trovato nulla, o qualcosa va storto. In questo caso, dovrai controllare cosa dice il registro. Per controllare i log dovresti controllare in /var/log/clamav/
Allego un piccolo esempio di log per sapere cosa dovresti leggere:
Starting a daily scan of /var/www directory. Amount of data to be scanned is 36G. Mon Jun 15 13:17:14 CEST 2015 ----------- SCAN SUMMARY ----------- Known viruses: 3841819 Engine version: 0.98.4 Scanned directories: 47944 Scanned files: 316827 Infected files: 0 Data scanned: 17386.77 MB Data read: 34921.59 MB (ratio 0.50:1) Time: 1432.747 sec (23 m 52 s) Mon Jun 15 13:41:06 CEST 2015 ------------------------------------------------------ ------------------------------------------------------ Starting a daily scan of /var/vmail directory. Amount of data to be scanned is 7.0G. Mon Jun 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 FOUND /var/vmail/domain.tld/info/Maildir/.Cestino/cur/1371451873.M697795P19793.domain.tld,W=5421,S=5353:2,S: Heuristics.Phishing.Email.SpoofedDomain FOUND /var/vmail/domain.tld/info/Maildir/.Cestino/cur/1390203133.M981287P17350.domain.tld,W=3223,S=3157:2,S: Heuristics.Phishing.Email.SpoofedDomain FOUND /var/vmail/domain.tld/info/Maildir/.Cestino/cur/1386677288.M361285P15524.domain.tld,W=2270,S=2227:2,S: Heuristics.Phishing.Email.SpoofedDomain FOUND
In questo caso, ClamAV ha trovato delle email di phishing all'indirizzo [email protected], quindi in questo caso riceverai anche l'email.
Questo è tutto!