Lanzador Productos Bitnami Documentaciónimaxe CLI Blog Contacto
imaxe clamav antivirus v1.0.0

Antivirus, siempre al día

Analiza ficheros y directorios en busca de malware con el motor ClamAV, aísla lo infectado en cuarentena y mantén las firmas al día con freshclam. Un comando escanea; otro actualiza — sin sorpresas.

$ imaxe clamav scan /srv/uploads --recursive --quarantine
Versión
v1.0.0
Subcomandos
5
Config
/etc/imaxe/clamav.yml
Requiere root
Firmas
freshclam

Qué hace este módulo #

Un antivirus compara los ficheros de tu servidor con un catálogo de firmas de malware conocido. Si algo coincide, lo marca como infectado para que no siga circulando — por ejemplo, un adjunto malicioso subido a una carpeta pública o un fichero contaminado que llegó por FTP.

El módulo clamav pone el motor ClamAV a tu alcance con un puñado de comandos claros: consulta su estado, escanea la ruta que quieras (un fichero o un árbol entero), decide qué hacer con lo infectado — solo reportarlo, eliminarlo o moverlo a una cuarentena segura de la que puedes restaurar más tarde — y mantén la base de firmas al día con freshclam. La cuarentena aísla el fichero sin borrarlo, así nunca pierdes nada por error.

Antes de empezar

Un escaneo detecta con la base de firmas que tengas en ese momento. Si hace días que no actualizas, lanza primero imaxe clamav update para no perderte amenazas recientes. Escanear árboles grandes puede tardar y consumir CPU: acota la ruta a lo que de verdad quieras revisar.

Guía rápidatareas paso a paso

Tareas comunes #

Elige lo que quieres hacer. Cada receta trae el comando ya escrito — solo cambia la ruta por la tuya y pulsa Copiar.

1

Ver si ClamAV está listo

Comprueba el motor, el modo y qué antigüedad tienen tus firmas.

Conéctate por SSH a tu servidor y pide el estado general:

terminal
$ sudo imaxe clamav status

¿Solo te interesa la base de firmas — versión, fecha y ficheros? Usa db:

terminal
$ sudo imaxe clamav db
Verás el motor, el modo (daemon u on-demand), el estado de freshclam y la antigüedad de las firmas. Si están viejas, salta a Actualizar las firmas.
2

Escanear una carpeta

Revisa una ruta y quédate con el informe, sin tocar nada.

Analiza un directorio y todo su contenido con --recursive. Por defecto solo reporta: no borra ni mueve nada.

terminal
$ sudo imaxe clamav scan /home --recursive

¿Solo un fichero suelto? Pásale la ruta directa, sin --recursive:

terminal
$ sudo imaxe clamav scan /srv/uploads/factura.pdf
Al terminar verás cuántos ficheros se revisaron y cuáles, si alguno, coinciden con una firma. Si aparece algo infectado, pasa a la siguiente receta.
3

Escanear y aislar lo infectado

Mueve automáticamente a cuarentena todo lo que dé positivo.

Escanea una ruta y, con --quarantine, aparta cada fichero infectado a la cuarentena en lugar de dejarlo donde está:

terminal
$ sudo imaxe clamav scan /srv/uploads --recursive --quarantine

Si prefieres eliminar directamente lo infectado en lugar de aislarlo, usa --remove (es irreversible, úsalo con cabeza):

terminal
$ sudo imaxe clamav scan /srv/uploads --recursive --remove
Los ficheros positivos salen de su carpeta y quedan guardados y aislados. Nadie puede ejecutarlos, y tú decides luego si restaurarlos o borrarlos.
4

Revisar y restaurar la cuarentena

Mira qué hay aislado y recupera un falso positivo si hace falta.

Lista lo que hay en cuarentena — cada entrada trae su identificador, origen, firma y fecha:

terminal
$ sudo imaxe clamav quarantine list

¿Era un falso positivo? Restáuralo a su ruta original con el identificador que sale en la lista:

terminal
$ sudo imaxe clamav quarantine restore a1b2c3d4

Cuando confirmes que todo lo aislado es basura, vacía la cuarentena de forma definitiva:

terminal
$ sudo imaxe clamav quarantine purge --yes
Controlas la cuarentena de principio a fin: revisas, recuperas lo que era inofensivo y eliminas el resto sin dejar rastro.
5

Actualizar las firmas

Descarga las últimas definiciones para detectar amenazas nuevas.

Lanza freshclam para traer la base de firmas más reciente:

terminal
$ sudo imaxe clamav update

Comprueba después que la base quedó al día con su versión y fecha:

terminal
$ sudo imaxe clamav db
Tus escaneos a partir de ahora reconocen las amenazas más recientes. Actualiza a menudo — el malware nuevo aparece cada día.
Cuidado con --remove

Eliminar borra el fichero sin vuelta atrás, y ningún antivirus está libre de falsos positivos. En la duda, usa siempre --quarantine: aísla igual de bien y te deja restaurar si te equivocaste.

Referencia CLIcomandos, flags y ficheros

Sinopsis #

uso
imaxe clamav <subcomando> [<ruta>] [--recursive] [--quarantine|--remove] [--json]

Los subcomandos que escanean, mueven o eliminan ficheros requieren privilegios de root (usa sudo), porque leen rutas de otros usuarios y escriben en la cuarentena del sistema. Añade --json a cualquier comando para obtener salida legible por máquina, apta para scripting.

Subcomandos #

SubcomandoQué haceFlags relevantes
statusEstado de ClamAV: engine, modo (daemon/on-demand), freshclam y base de firmas.--json
scanEscanea una ruta; puede reportar, eliminar o poner en cuarentena lo infectado.--recursive, --remove, --quarantine, --json
updateActualiza la base de firmas mediante freshclam.--json
dbInformación de la base de firmas: versión, fecha y ficheros.--json
quarantineGestiona la cuarentena de ficheros infectados (grupo de subcomandos).list · restore · purge

El grupo quarantine reúne tres subcomandos:

SubcomandoQué haceFlags relevantes
quarantine listLista los ficheros en cuarentena (origen, firma, fecha).--json
quarantine restoreRestaura un fichero de la cuarentena a su ruta original o a un destino dado.<id> [<destino>]
quarantine purgeElimina definitivamente todo lo que haya en cuarentena.--yes

Argumentos y flags #

Flag / argumentoTipoPor defectoDescripción
<ruta> req.pathEn scan, fichero o directorio a escanear.
<id> req.stringEn quarantine restore, identificador del elemento en cuarentena (sale en quarantine list).
<destino>pathruta originalEn quarantine restore, ruta a la que restaurar el fichero. Por defecto, su ubicación original.
--recursiveboolfalseEn scan, escaneo recursivo de directorios.
--quarantineboolfalseEn scan, mueve los ficheros infectados a la cuarentena.
--removeboolfalseEn scan, elimina los ficheros infectados. Irreversible; excluyente con --quarantine.
--yesboolfalseEn quarantine purge, confirma el borrado sin preguntar.
--jsonboolfalseEmite el resultado como JSON en stdout. Disponible en todos los subcomandos.

Ficheros y rutas #

RutaContenido
/etc/imaxe/clamav.ymlConfiguración del módulo: directorio de cuarentena y rutas excluidas del escaneo.
/var/lib/imaxe/clamav/quarantineAlmacén de la cuarentena: aquí se aíslan los ficheros infectados que se pueden restaurar.
/var/lib/clamav/Base de firmas que mantiene freshclam (definiciones de malware).
/var/log/imaxe/clamav.logRegistro estructurado de cada escaneo, cuarentena y actualización.

Ejemplo de clamav.yml:

/etc/imaxe/clamav.yml
quarantine_dir: /var/lib/imaxe/clamav/quarantine
scan:
  exclude:
    - /proc
    - /sys

scan.exclude es una lista de rutas que el escaneo omite; por defecto viene vacía.

Códigos de salida y logs #

Cada ejecución devuelve un código que puedes comprobar con echo $? — útil para encadenar en scripts:

0OKOperación correcta; sin amenazas.
1ERRError genérico no clasificado. Revisa el log.
2USAGEArgumentos inválidos o faltantes.
3INFECTEDEl escaneo encontró ficheros infectados.
4UPDATEFalló la actualización de firmas (freshclam).

Sigue el log en vivo mientras depuras:

terminal
$ sudo tail -f /var/log/imaxe/clamav.log

Resolución de problemas #

SíntomaCausa probableSolución
Sale INFECTED (código 3)El escaneo detectó una o más amenazas.Revisa el informe; vuelve a lanzar scan con --quarantine para aislarlas.
Sale UPDATE (código 4)freshclam no pudo descargar las firmas (red o mirror caído).Comprueba la salida a Internet del servidor y reintenta clamav update.
El escaneo tarda demasiadoLa ruta abarca demasiados ficheros o rutas de sistema.Acota la ruta y excluye lo innecesario con scan.exclude en clamav.yml.
Perdí un fichero legítimoFalso positivo movido a cuarentena por --quarantine.Localízalo con quarantine list y recupéralo con quarantine restore <id>.
El estado marca firmas viejasHace tiempo que no se ejecuta freshclam.Lanza clamav update y verifica con clamav db.

¿Te atascaste con el módulo ClamAV?

Escríbenos con la salida de «imaxe <módulo> status --json» y te respondemos rápido.

Contactar con soporte