Volver al blog

Servidor de actualizaciones de Clamav local

1024px-New_ClamAV_Logo.svg

En este tutorial les mostraré como crear un servidor local de actualizaciones de Clamav. Clamav es el antivirus, digámoslo de alguna manera, por defecto de los sistemas GNU/Linux. Muy necesario a la hora de establecer un Servidor de Correo o Relay, el cual incluso se puede usar como filtro en conjunto con Squid para la navegación.

Entonces, vamos a lo que nos ocupa. Lo que haremos será montar en nuestra PC de repositorios, un script para descargarnos las actualizaciones, crearemos una entrada en el DNS para que apunte a la pc del repo, haremos un virtualhost en nginx y una tarea programada en el cron, para que ejecute la descarga todas las noches. Todo esto de manera sencilla y sin complicaciones.

Manos al asunto!

Creamos nuestros records en el DNS:

Directo:

repo      IN    A    192.168.0.8
clamav    IN    A    192.168.0.8

Inverso:

8    IN    PTR    repo.inutil.cu.
8    IN    PTR    clamav.inutil.cu.

Una ves hecho esto, nos logueamos en la pc del repo e instalamos/configuramos nginx:

nano /etc/nginx/conf.d/clamav.conf

server {
    listen 80;
    server_name clamav.inutil.cu;
    location / {
	root /srv/clamav;
	autoindex on;
    }
}

Una vez hecho esto, guardamos y salimos.

Ahora en la consola:

mkdir -p /srv/clamav
chmod -R 755 /srv/clamav; chown -R www-data:www-data /srv/clamav

Y reinicamos Nginx:

/etc/init.d/nginx restart

Ahora creamos el script que descargará las actualizaciones:

mkdir -p /opt/scripts
touch /opt/scripts/mirror_clamav.sh
chmod +x /opt/scripts/mirror_clamav.sh

Y añadimos el siguiente contenido al script mirror_clamav.sh:

#!/bin/bash

cd /srv/clamav; rm -rf *

wget -c http://clamavdb.c3sl.ufpr.br/main.cvd -P /srv/clamav
wget -c http://clamavdb.c3sl.ufpr.br/daily.cvd -P /srv/clamav
wget -c http://clamavdb.c3sl.ufpr.br/bytecode.cvd -P /srv/clamav
wget -c http://clamavdb.c3sl.ufpr.br/safebrowsing.cvd -P /srv/clamav

chmod -R 755 /srv/clamav/*

Listo!

Ahora la tarea en el cron:

nano /etc/cron.d/clamav

Y el contenido:

58 23 * * * root /opt/scripts/mirror_clamav.sh

Y reiniciamos el cron:

/etc/init.d/cron restart

Y con eso, todos los días a las 11:58pm se descargará la actualización del clamav a nuestro server de repos.

Ahora sólo queda añadir o editar en nuestro archivo de configuración de clamav[freshclam.conf]:

DatabaseMirror clamav.inutil.cu
PrivateMirror clamav.inutil.cu
DatabaseCustomURL http://clamav.inutil.cu/main.cvd
DatabaseCustomURL http://clamav.inutil.cu/daily.cvd
DatabaseCustomURL http://clamav.inutil.cu/bytecode.cvd
DatabaseCustomURL http://clamav.inutil.cu/safebrowsing.cvd

Y con eso básicamente se resuelve el tema del clamav.

Adjunto a continuación un fichero con las configuraciones por si la necesitas, e incluso la plantilla de PMG. Cualquier duda, me lo dejan saber, en un comentario.

Espero les sirva y hasta la próxima.

 

Suscríbete · Newsletter

Mantente al día, cada semana

Artículos prácticos sobre Linux, redes, seguridad, virtualización y la nube — escritos por sysadmins cubanos.

  • Guías y tutoriales de administración de sistemas
  • Nuevos artículos sobre servidores, redes y nube
  • Sin spam, cancela cuando quieras

Respetamos tu bandeja de entrada. Cancela con un clic.

Patrocinado por SYSCU

¿Tu infraestructura en la nube te cuesta de más?

SYSCU optimiza tu nube de punta a punta — FinOps, DevOps & CI/CD, migraciones a AWS, seguridad y observabilidad. Equipo 100 % senior que reduce tu factura hasta un 40 % y acelera tus despliegues en semanas.

Nuevo · BetaSYSCU Atlas Insight — la plataforma FinOps que convierte tu gasto AWS en decisiones: visibilidad multi-cuenta, recomendaciones automáticas y alertas de anomalías.

No comments yet