Antivirus HTTP : ClamAV + HAVP

Vamos a utilizar ClamAV como antivirus. Si previamente hemos instalado la protección del correo lo tendremos instalado. En caso contrario, lo tendremos que instalar. Para utilizar ClamAV necesitamos de la ayuda del proxy HAVP. El paquete HAVP lo tenemos que descargar, compilar e instalar. Tener en cuenta que necesitamos el paquete libclamav-dev. También deberemos tener instalados gcc y g++ para poder compilar el paquete HAVP. Estos últimos los obtenemos con el paquete build-essential.

Instalemos los paquetes:

    aptitude install clamav freshclam libclamav-dev unrar-free arj gzip unzip build-essential

Ahora le toca el turno a HAVP:

    wget -P /var/www/lhpaiak http://www.server-side.de/download/havp-0.91.tar.gz
    cd /var/www/lhpaiak
    tar zxf havp-0.91.tar.gz
    cd havp-0.91
    ./configure
    make
    make install

El script de instalación sitúa por defecto, en el directorio /usr/local/etc/havp los ficheros de configuración y avisos de virus o errores. Vamos a hacer que sean visibles en /etc/havp con un enlace simbólico.

    ln -s /usr/local/etc/havp /etc/havp

Creamos el grupo y usuario havp.

    groupadd havp
    useradd -g havp havp

Creamos el directorio para los ficheros logs y le cambiamos el propietario.

    mkdir /var/log/havp
    chown havp /var/log/havp

Montamos la partición en la que se depositan los ficheros a analizar en /var/tmp/havp. El directorio lo crea el instalador de HAVP.

    mount -t ext3 /dev/hda5 /var/tmp/havp -o mand

Vamos a preparar el fichero /etc/fstab, para que esta partición se monte automáticamente al iniciarse el sistema. Para ello, vamos a añadir al final de dicho fichero, la siguiente línea.

/dev/hda5    /var/tmp/havp    ext3    mand,auto    0    0

Damos la propiedad al usuario havp, y limitamos los permisos en varios directorios.

    chown havp /var/tmp/havp /var/run/havp /var/log/havp
    chmod 700 /var/tmp/havp /var/run/havp /var/log/havp

El script de inicio del servicio no ha sido copiado a su lugar. Lo haremos manualmente. Además, vamos a configurar el servicio para que se ejecute automáticamente. También hemos de indicarle dónde buscar el fichero de configuración. 

    cp /var/www/lhpaiak/havp-0.91/etc/init.d/havp /etc/init.d/
    chown root:root /etc/init.d/havp
    update-rc.d havp defaults

Hemos personalizado los mensajes de error para que aparezca el anagrama de nuestra escuela, y también podemos optar por el euskera como idioma de los mensajes de error. Copiemos los ficheros:

    cp -r /var/www/lhpaiaki/havp-eu /etc/havp/templates/
    cp -r /var/www/lhpaiaki/havp-es /etc/havp/templates/

Ahora vamos a modificar el nombre de nuestro servidor proxy y la dirección de correo del administrador del mismo.

    sed -i s/PROXYWEBZERB/'proxy\.nire-eskola\.net'/ /etc/havp/templates/eu/*
    sed -i s/PROXYWEBZERB/'proxy\.nire-eskola\.net'/ /etc/havp/templates/es/*
    sed -i s/PROXYADMEPOSTA/'sare-admin@nire-eskola\.net'/ /etc/havp/templates/eu/*
    sed -i s/PROXYADMEPOSTA/'sare-admin@nire-eskola\.net'/ /etc/havp/templates/es/*

Vamos a situar en el directorio /etc/logrotate, el fichero havp con el siguiente contenido:

/var/log/havp/*.log {
    compress
    dateext
    maxage 365
    rotate 20
    size=1024k
    notifempty
    missingok
    copytruncate
}

Vamos dar unos toques al fichero de configuración de HAVP. Le diremos que puede arrancar el servicio; Que utilice ClamAV; Que cree procesos para manejar al menos 35 conexiones; Que los mensajes de error los dé en español.; Modificaremos el camino a ciertos ficheros, pues ahora están en /etc/havp; etc. Finalmente elegimos el euskera como idioma para los mensajes de error. Las siguientes líneas deben quedar como sigue:

# REMOVETHISLINE deleteme
SERVERNUMBER 35
TEMPLATEPATH /etc/havp/templates/eu
WHITELIST /etc/havp/whitelist
BLACKLIST /etc/havp/blacklist
MAXSCANSIZE 5000000
ENABLECLAMLIB true
CLAMDBDIR /var/lib/clamav
ENABLECLAMD false

Ahora reiniciamos HAVP.

    /etc/init.d/havp restart

El antivirus y el proxy están preparados. Ahora le tenemos que decir al programa que realiza el Control de Acceso a Internet (squid) que utilize el antivirus. Pondremos lo siguiente en el fichero /etc/squid/squid.conf:

# ---------- Antibirusa pasatzeko gain-proxya ----------
cache_peer 127.0.0.1 parent 8080 0 no-query no-digest no-netdb-exchange default
cache_peer_access 127.0.0.1 allow all
acl ScanHTTP proto HTTP
never_direct allow ScanHTTP

Ahora recargamos la configuración de squid:


    /etc/init.d/squid reload

Probamos el sistema con la siguiente URLs:


http://www.eicar.com/download/eicar.com


Suerte!