Escanear virus con Clamav recién subidos a un servidor FTP/SFTP/HTTP/…

Lo primero es comentar que esto es sencillo pero no tanto, es decir, dejamos una ventana de 1 minuto en el que los archivos llegarán a poner pie en el directorio en el que se suben. Es por ese motivo que muchas veces lo que se hace es que los archivos se suben a una maquina pero son sincronizados cada x tiempo a otra y de esa forma se hace la purga y limpieza de virus antes de que lleguen al usuario final. Pero no disponemos de tantos recursos y vamos a simplemente comentar como poner clamav para que haga esa función cada 60 segundos.

Lo primero es tener clamav bien instalado en el sistema. Ver esta entrada creada expresamente para enlazarla desde aqui: https://mierda.tv/2018/07/21/instalar-como-demonio-clamav-en-centos-7/

Lo segundo es tener un servidor Serv-U instalado en el sistema (en el mismo que tenemos clamav por ejemplo). Eso se puede ver en esta otra entrada: https://mierda.tv/2018/07/21/instalar-un-servidor-ftp-serv-u-en-gnu-linux-centos-7/

Lo tercero es bajarnos un virus y subirlo al ftp (lo bajamos a nuestra maquina para subirlo al server por la vía digamos oficial de subida del server serv-u):

$ wget http://www.eicar.org/download/eicar_com.zip

Lo cuarto es añadir a cron la siguiente orden cambiando el directorio que se quiere escanear y el directorio al que se moverán los archivos detectados como bichos:

1 * * * * /usr/bin/find /home/servu/ -mmin -5 -exec clamscan --infected --move=/home/virus {} \;

Y eso es todo. Si todo va bien tendremos cada minuto comprobación de archivos subidos los últimos 5 minutos. Se puede jugar con agrandar la ventana de actuación del antivirus e incluso en vez de moverlos eliminarlos (con una opción –remove de clamscan).

Por si las moscas no sobra otro cron que cada hora o 12 horas haga un barrido recursivo de todo. O cada día.

clamscan --infected --remove --recursive /home/servu

Eso evitará que si se nos escapa algo existan segundas pasadas nocturnas que intenten solucionarlo. Un usuario podría ponerse a subir muchos archivos en poco tiempo y que no diese tiempo a escanearlos todos (por ejemplo) en la ventana de 5 minutos desde que se suben.

Esto no es lo mejor del mundo mundial como he dicho al inicio pero sirve. Lo ideal es que los archivos se suban a otra maquina y que a lo que otros usuarios tengan acceso esté ya saneado.

Lo normal es usar un servicio ftp/sftp para subir algo grande de todos modos. Normalmente archivos comprimidos.

Podemos jugar con las variables de tamaño en archivos comprimidos si vemos que se nos queda pequeño:

tail -f /var/log/cron

Veremos desde la ventanita del navegador si usamos Serv-U como aunque renombremos rápidamente un archivo subido lo detectará igualmente. Y que básicamente lo normal es que la gente suba cosas sin saber que están infectadas no es que lo hagan para infectar a terceros (lo normal).

Esto sirve igualmente para archivos subidos a un nodo gnusocial, wordpress, drupal, …

Saludos cordiales.

próximo Publicación

Atrás Publicación

Dejar una contestacion

© 2018 [ MIERDA TV ]

Tema de Anders Norén