BASH Scripting 2 – Rsync y ClamAV

Para no perder el ritmo les muestro a que me refería en el post anterior con que se puede aprovechar el log de Rsync para algo…
Intro
En si el ClamAV debe ser el único antivirus de código fuente abierto o al menos el único que sirve. Existen soluciones como “vscan” que escanean todo el trafico desde y hacia un servidor de Samba, por lo general se nota la lentitud que tienen y no recomendaría usarlo salvo que sea necesaria máxima seguridad o se comparta un directorio solo para escritura publica. Cuando tenemos hecha la copia de seguridad nos quedamos con todos los archivos que se modificaron con respecto al original y no seria mala idea solo escanear en búsqueda de virus a partir de esta lista, ya que dependiendo de hardware enviar al Clamscan hacia un directorio con varios Gigas de datos puede demorar varias horas. La política entonces seria: “Si escaneamos un archivo y este no cambio, no lo escaneamos nuevamente”.
Apartado
Se tiene que tener en cuenta que la solución que describo acá tiene una desventaja importante, si la base de datos del antivirus se actualizo y ahora incluye al virus que antes no pudimos encontrar, como el archivo no cambia nunca lo sabremos. Reducir el tiempo que lleva el escaneo me parece mas importante en este momento pero sepan que sacrificamos este detalle.
Manos a la obra
Justo luego de la linea del post anterior que arranca la sincronizacion vía Rsync agregamos:

let cantclm=0
for fileclm in `cat $logrs | grep ‘>f’ | cut -d ” ” -f 5`;do
let cantclm=cantclm+1
filesclm[$cantclm]=$strgdest/$1/$timestamp/$fileclm
done
logcs=”$strgdest/bkplogs/$1_clam_$timestamp.log”
clamscan -i –max-filesize=20m –max-files=20 –move=$strgdest/$1/infected –log=$logcs ${filesclm[@]}

En lugar de complicarse con los array podemos sacar el archivo a disco y luego parsearlo en el lugar, pero no me gusta que se escriba dos veces una información muy similar ni que el programa guarde cosas en la ejecución si no es necesario. Podemos hacer que el Clamscan revise los archivos pasando-le la lista asi: “-f archivo.txt”
Lo que tenemos que hacer ahora es crear una carpeta llamada “infected” dentro de la raíz de cada backup por ejemplo:
/directorio del backup/musica/infected y todos los virus pararan ahí.
No hacemos que los virus de la fecha vayan a la carpeta /directorio del backup/musica/fecha/infected por un tema de que el ClamAV como cualquier otro antivirus tiene falsos positivos y si llega a pasar que detecto uno y lo mueve a la carpeta de la fecha, cuando nos deshacemos de los backup viejos podemos borrar estos archivos y a mi me gustaría que sigan estando para poder analizarlos luego, a lo mejor con otro software.

Deja un comentario

Para proteger el blog de SPAM, le pedimos que complete la tarea:WordPress CAPTCHA