Configuración del antivirus en Consigna

1 Comentario

Como el autor relata en su página web, el antivirus de Consigna funciona a través de un servicio web. Al subir un fichero, se mete en una cola de trabajos hasta que es analizado por el antivirus respondiendo el identificador del fichero subido, cambiando su situación a la que sea (error, limpio, infectado…).

De ahí que sea necesario instalar Beanstalk y tener el demonio corriendo, y tener el servicio web activo a través del comando antivirus-worker.php.

Obviamente, antes de todo esto hay que tener el antivirus bien instalado.

Una vez hecho todo esto, nos tocara trabajar con el fichero config.php hubicado en la carpeta conf donde deberemos cambiar lo siguiente:

$config['activar_antivirus'] = TRUE;
$config['beanstalkd_host'] = "127.0.0.1";
$config['beanstalkd_port'] = 11300;
$config['beanstalkd_tube'] = 'antivirus';

Indicando en que maquina se esta ejecutando el demonio e indicando lo que llama un tube, que no es más que una de las colas de procesos.

$config['antivirus_ws_pass'] = 'untextocualquiera';

Se trata de la contraseña de un administrador que puede ser cualquiera ya que, en el fondo, no se usa.

El resto de opciones para el antivirus son bastante autoexplicativas y son tales como el tiempo que estará un fichero marcado antes de volver a ser analizado o el tiempo que estará en pendiente antes de volver a la cola.

Aunque, lo importante es la siguiente opción.
$config['avmodule'] = 'clamav';

Consigna, de serie, viene unicamente preparado para el antivirus Clamav, aunque, como el autor relata, deja la API abierta para poder ser usada con cualquier otro antivirus. En esta opción le indicaremos que módulo de antivirus vamos a usar y que se encuentra en la ruta:

/app/libraries/avmodules

Si queremos usar otro antivirus diferente, deberemos crear su modulo correspondiente donde deberemos (principalmente) indicar la ruta del ejecutable (si no se la pasamos como parámetro, como veremos). Aun con eso, tenéis más documentación en la wiki de Consigna.

Y por ultimo, como hemos indicado, configuramos las opciones del modulo, que en nuestro caso es la ruta del ejecutable y las opciones de este:

$config['avconfig'] = array('/opt/local/bin/clamscan -i');

Instalación de un antivirus

Sin Comentarios

virus

Actualmente estamos añadiendo a Consigna UVa un antivirus siguiendo las instrucciones proporcionadas por el autor.

El antivirus recomendado y que mejor se adapta es Clamav para Linux. El unico problema actual es que el equipo (nuevo) donde reside Consigna se basa en CentOS y, como sabemos, sus repositorios andan un poco “desactualizados”.

Pero no pasa nada, nuestros amigos de sistemas del STIC han creado un script que permite bajarlo y actualizarlo de la web del “fabricante”.

#!/bin/bash

REPOSITORIO=http://packages.sw.be/clamav
PAQUETES="clamd clamav clamav-db"
SO=RHEL5
ARQUITECTURA="x86 32bit"

LOG=/dev/null

for PAQUETE in $PAQUETES; do
PAQUETE=`wget -O - -o $LOG "$REPOSITORIO" | grep "$SO" | grep "$ARQUITECTURA" | cut -f 3 -d '>' | cut -f 1 -d '<' | grep "^$PAQUETE-[0-9]" | sort -n | tail -1`
if [ `echo $PAQUETE | grep "rpm$" | wc -l` -eq 1 ]; then
if [ ! -f $PAQUETE ]; then
echo -n "Descargando $PAQUETE..."
wget -o $LOG $REPOSITORIO/$PAQUETE
echo
else
echo "$PAQUETE ya descargado"
fi
else
echo "ERROR: $PAQUETE no es un paquete válido"
fi
done

 

echo
echo NOTA: Para actualizar los paquetes use el comando rpm -Uhv clam*

Como veis, se conecta a la propia web de los creados y se lo baja, revisando si el paquete es para la arquitectura que buscamos. Una gran solución para un problema.

Acto seguido, tras haberlo descargado, necesitamos actualizar las firmas. Porque, un antivirus sin unas firmas actualizadas no vale en si nada. Para ello usaremos el siguiente comando en el cron de la maquina:

freshclam --stdout

Aunque, el problema es que hay que ejecutarlo como root.