Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Un antivirus per i file di Samba

Come utilizzare e configurare ClamAV per proteggere un file server basato su Samba e mantenere alla larga virus, worm e codice nocivo.
Come utilizzare e configurare ClamAV per proteggere un file server basato su Samba e mantenere alla larga virus, worm e codice nocivo.
Link copiato negli appunti

Vi abbiamo parlato del progetto ClamAV, antivirus libero che offre grandi potenzialità, e conoscerete sicuramente Samba, l'implementazione libera del protocollo SMB e CIFS per la realizzazione, in ambiente Unix, dei servizi comunemente offerti da un server Microsoft (PDC o BDC). Abbiamo già visto come unire P3scan a ClamAV per controllare, in una rete, la presenza di virus nella posta man mano che questa viene scaricata.

È possibile fare qualcosa di analogo anche per il nostro fileserver, basato su Samba, che magari contiene i nostri dati importanti? Ovviamente la risposta è affermativa e lo scopo di questo articolo è proprio quello di darvi delle istruzioni veloci su come impostare Samba per richiedere la scansione dei file a ClamAV a mano a mano che questi vengono richiesti.

Partiamo col presupposto di aver già configurato correttamente sul nostro server entrambi, cioè SAMBA è in grado di offrire file sulla rete e ClamAV può a livello locale fare la scansione dei file. È importante però che SAMBA sia configurato per il supporto alle libclamav, questo perché limita il calo di performance subito dal fileserver che ora dovrà richiamare per ogni file aperto una componente esterna (ClamAV appunto).

Le modifiche al file di configurazione di SAMBA (di solito /etc/samba/smb.conf o talvolta /etc/smb.conf) si limitano all'inclusione di due righe:

vfs object = vscan-clamav
vscan-clamav: config-file = /etc/samba/vscan-clamav.conf

Queste possono essere inserite direttamente nella sezione [global] per abilitare la scansione su tutte le condivisioni disponibili, oppure direttamente nelle sezioni che noi vogliamo, se vogliamo che solo alcune share beneficino di ClamAV. Quest'ultimo caso magari può essere una valida scelta in grado di darvi la possibilità di studiare il miglior compromesso tra sicurezza e performance. Come potete vedere l'ultima riga rimanda a un file /etc/samba/vscan-clamav.conf che dovremo creare. Prendiamo una configurazione di esempio (apriamo quindi un editor di testo e creiamo il file che poi nomineremo /etc/samba/vscan-clamav.conf):

[samba-vscan]
# Quella sopra è la definizione di una nuova sezione, come è stile dei file di configurazione di SAMBA è l'unica in questo caso

#Abilitiamo i log per ogni accesso dei file. In questo caso verranno scritte informazioni su tutti i file aperti, non solo quelli infetti.
verbose file logging = no

#Non fare la scansione dei file troppo grandi di X. In questo caso è disabilitato per fare la scansione di tutti i file aperti. Ovviamente se è molto grande l'apertura del file non potrà essere di certo istantanea.
max file size = 0

#Scansioniamo il file sia all'apertura che alla chiusura? Le due opzioni qui di seguito, ci offrono la possibilità di decidere.
scan on open = yes
scan on close = yes

#Cosa fare se non è possibile comunicare con il demone clamd? Questa eventualità non dovrebbe essere di certo frequente, ma se dovesse accadere abbiamo la possibilità di restare in sicurezza e intervenire sull'errore oppure continuare a lavorare senza la scansione dei file. In questo caso abbiamo scelto di bloccare l'accesso al file di default.
deny access on error = yes

#Cosa fare invece se l'errore è di un altro tipo (cioè la comunicazione tra SAMBA e ClamAV avviene, ma c'è qualche problema ugualmente)? Anche qui di default abbiamo scelto di bloccare l'accesso al file.
deny access on minor error = yes

#Questa è un'opzione che molti sicuramente apprezzeranno. Si desidera segnalare la presenza di un errore tramite il sistema di comunicazione tra PC di Microsoft? (Windows Messenger service, che ovviamente deve essere abilitato sul PC). Abbiamo scelto sì.
send warning message = yes

#Qui possiamo specificare quale azione intraprendere verso i file infetti. Vogliamo cancellarli (parola chiave "delete"), metterli in quarantena (parola chiave quarantine) oppure non fare nulla (parola chiave "nothing"), impedendone comunque l'acceso. In questo caso abbiamo scelto di metterli in quarantena, verranno spostati in una directory, che definiamo nella prossima opzione.
infected file action = quarantine

#Scegliamo la directory, dove andranno messi in file in quarantena, la directory deve esistere
quarantine directory = /var/quarantena

#Possiamo scegliere di mettere un prefisso al file, per ricordarci che si tratta di un file infetto
quarantine prefix = vir-

#Per evitare la continua scansione di un file, è possibile salvare in una lista le informazioni relative agli ultimi file aperti. Qui possiamo specificarne il numero.
max lru files entries = 50

#Dopo quanto tempo (in secondi) vogliamo che un file esca dalla lista definita qui sopra? Non dovremmo tenerlo troppo a lungo, possono succedere diverse cose nel frattempo...
lru file entry lifetime = 5

#Specifichiamo quale è il socket di clamd, di default /var/run/clamd
clamd socket name = /var/run/clamd

#La porta dove lo scanner è in ascolto
oav port = 8127

Ti consigliamo anche