Cosa fa questo modulo #
Un antivirus confronta i file del tuo server con un catalogo di firme di malware noto. Se qualcosa coincide, lo contrassegna come infetto affinché non continui a circolare — per esempio, un allegato malevolo caricato in una cartella pubblica o un file contaminato arrivato via FTP.
Il modulo clamav mette il motore ClamAV a tua disposizione con una manciata di comandi chiari: consulta il suo stato, scansiona il percorso che vuoi (un file o un intero albero), decide cosa fare con ciò che è infetto — solo segnalarlo, eliminarlo o spostarlo in una quarantena sicura dalla quale potrai ripristinare in seguito — e mantieni il database delle firme aggiornato con freshclam. La quarantena isola il file senza eliminarlo, così non perdi mai nulla per errore.
Una scansione rileva con il database delle firme che hai in quel momento. Se non aggiorni da giorni, avvia prima imaxe clamav update per non lasciarti sfuggire minacce recenti. Scansionare alberi grandi può richiedere tempo e consumare CPU: restringi il percorso a ciò che davvero vuoi esaminare.
Attività comuni #
Scegli cosa vuoi fare. Ogni ricetta porta il comando già scritto — basta cambiare il percorso con il tuo e premere Copia.
1
Vedere se ClamAV è pronto
Verifica il motore, la modalità e quanto sono vecchie le tue firme.
Connettiti via SSH al tuo server e richiedi lo stato generale:
$ sudo imaxe clamav statusTi interessa solo il database delle firme — versione, data e file? Usa db:
$ sudo imaxe clamav db2
Scansionare una cartella
Esamina un percorso e conserva il report, senza toccare nulla.
Analizza una directory e tutto il suo contenuto con --recursive. Per impostazione predefinita solo segnala: non elimina né sposta nulla.
$ sudo imaxe clamav scan /home --recursiveSolo un singolo file? Passagli il percorso diretto, senza --recursive:
$ sudo imaxe clamav scan /srv/uploads/factura.pdf3
Scansionare e isolare ciò che è infetto
Sposta automaticamente in quarantena tutto ciò che risulta positivo.
Scansiona un percorso e, con --quarantine, sposta ogni file infetto in quarantena invece di lasciarlo dov'è:
$ sudo imaxe clamav scan /srv/uploads --recursive --quarantineSe preferisci eliminare direttamente ciò che è infetto invece di isolarlo, usa --remove (è irreversibile, usalo con criterio):
$ sudo imaxe clamav scan /srv/uploads --recursive --remove4
Esaminare e ripristinare la quarantena
Guarda cosa c'è isolato e recupera un falso positivo se serve.
Elenca ciò che è in quarantena — ogni voce porta il suo identificatore, origine, firma e data:
$ sudo imaxe clamav quarantine listEra un falso positivo? Ripristinalo al suo percorso originale con l'identificatore che compare nell'elenco:
$ sudo imaxe clamav quarantine restore a1b2c3d4Quando confermi che tutto ciò che è isolato è spazzatura, svuota la quarantena in modo definitivo:
$ sudo imaxe clamav quarantine purge --yes5
Aggiornare le firme
Scarica le ultime definizioni per rilevare minacce nuove.
Avvia freshclam per scaricare il database delle firme più recente:
$ sudo imaxe clamav updateVerifica poi che il database sia aggiornato con la sua versione e data:
$ sudo imaxe clamav db--removeEliminare cancella il file senza possibilità di recupero, e nessun antivirus è esente da falsi positivi. Nel dubbio, usa sempre --quarantine: isola altrettanto bene e ti permette di ripristinare se hai sbagliato.
Sinossi #
imaxe clamav <subcomando> [<ruta>] [--recursive] [--quarantine|--remove] [--json]I sottocomandi che scansionano, spostano o eliminano file richiedono privilegi di root (usa sudo), perché leggono percorsi di altri utenti e scrivono nella quarantena del sistema. Aggiungi --json a qualsiasi comando per ottenere un output leggibile dalla macchina, adatto allo scripting.
Sottocomandi #
| Sottocomando | Cosa fa | Flag rilevanti |
|---|---|---|
| status | Stato di ClamAV: engine, modalità (daemon/on-demand), freshclam e database delle firme. | --json |
| scan | Scansiona un percorso; può segnalare, eliminare o mettere in quarantena ciò che è infetto. | --recursive, --remove, --quarantine, --json |
| update | Aggiorna il database delle firme tramite freshclam. | --json |
| db | Informazioni sul database delle firme: versione, data e file. | --json |
| quarantine | Gestisce la quarantena dei file infetti (gruppo di sottocomandi). | list · restore · purge |
Il gruppo quarantine riunisce tre sottocomandi:
| Sottocomando | Cosa fa | Flag rilevanti |
|---|---|---|
| quarantine list | Elenca i file in quarantena (origine, firma, data). | --json |
| quarantine restore | Ripristina un file dalla quarantena al suo percorso originale o a una destinazione data. | <id> [<destino>] |
| quarantine purge | Elimina definitivamente tutto ciò che si trova in quarantena. | --yes |
Argomenti e flag #
| Flag / argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
| <ruta> req. | path | — | In scan, file o directory da scansionare. |
| <id> req. | string | — | In quarantine restore, identificatore dell'elemento in quarantena (compare in quarantine list). |
| <destino> | path | ruta original | In quarantine restore, percorso a cui ripristinare il file. Per impostazione predefinita, la sua posizione originale. |
| --recursive | bool | false | In scan, scansione ricorsiva delle directory. |
| --quarantine | bool | false | In scan, sposta i file infetti in quarantena. |
| --remove | bool | false | In scan, elimina i file infetti. Irreversibile; incompatibile con --quarantine. |
| --yes | bool | false | In quarantine purge, conferma l'eliminazione senza chiedere. |
| --json | bool | false | Emette il risultato come JSON su stdout. Disponibile in tutti i sottocomandi. |
File e percorsi #
| Percorso | Contenuto |
|---|---|
| /etc/imaxe/clamav.yml | Configurazione del modulo: directory di quarantena e percorsi esclusi dalla scansione. |
| /var/lib/imaxe/clamav/quarantine | Archivio della quarantena: qui vengono isolati i file infetti che si possono ripristinare. |
| /var/lib/clamav/ | Database delle firme mantenuto da freshclam (definizioni di malware). |
| /var/log/imaxe/clamav.log | Registro strutturato di ogni scansione, quarantena e aggiornamento. |
Esempio di clamav.yml:
quarantine_dir: /var/lib/imaxe/clamav/quarantine
scan:
exclude:
- /proc
- /sysscan.exclude è un elenco di percorsi che la scansione ignora; per impostazione predefinita è vuoto.
Codici di uscita e log #
Ogni esecuzione restituisce un codice che puoi verificare con echo $? — utile per concatenare negli script:
Segui il log in tempo reale mentre esegui il debug:
$ sudo tail -f /var/log/imaxe/clamav.logRisoluzione dei problemi #
| Sintomo | Causa probabile | Soluzione |
|---|---|---|
| Esce INFECTED (codice 3) | La scansione ha rilevato una o più minacce. | Esamina il report; rilancia scan con --quarantine per isolarle. |
| Esce UPDATE (codice 4) | freshclam non è riuscito a scaricare le firme (rete o mirror non raggiungibile). | Verifica l'accesso a Internet del server e riprova clamav update. |
| La scansione impiega troppo tempo | Il percorso comprende troppi file o percorsi di sistema. | Restringi il percorso ed escludi il superfluo con scan.exclude in clamav.yml. |
| Ho perso un file legittimo | Falso positivo spostato in quarantena da --quarantine. | Individualo con quarantine list e recuperalo con quarantine restore <id>. |
| Lo stato segnala firme vecchie | freshclam non viene eseguito da tempo. | Avvia clamav update e verifica con clamav db. |
Bloccato con il modulo ClamAV?
Scrivici allegando l'output di «imaxe <module> status --json» e ti rispondiamo in fretta.