Seguridad · 3 min read · Sep 22, 2025
Configurar Clamav para escaneos diarios del sistema y notificación por correo electrónico en Debian
Hoy echamos un vistazo al software antivirus ClamAV y cómo usarlo para proteger tu servidor o escritorio. Te mostraré cómo configurar ClamAV para escanear todos los archivos del sistema, del sitio web y del correo electrónico diariamente y notificarte por correo electrónico en caso de que se detecte un virus. Para aquellos que no conocen ClamAV, ClamAV es una solución de software antivirus de código abierto que está disponible en todas las distribuciones de Linux. Uno de los requisitos de esta guía es que tu servidor ya tenga un servicio de correo funcionando.
Este tutorial funciona bien en sistemas Debian, pero también debería ser compatible con sistemas Ubuntu.
Instalación y configuración
Primero ejecutamos el comando para instalar Clamav y una herramienta para enviar notificaciones por correo electrónico.
apt-get update && apt-get install clamav clamav-freshclam heirloom-mailxAsegúrate de que la definición de virus se actualizará con el comando:
service ClamAV-freshclam startPor defecto, ClamAV hará una verificación de nuevas definiciones de virus cada hora, si deseas cambiar este parámetro puedes editar el archivo /etc/clamav/freshclam.conf.
nano /etc/clamav/freshclam.confY cambia la siguiente línea:
# Check for new database 24 times a day
Checks 24por
# Check for new database 1 times a day
Checks 1en este caso la verificación se realizará solo una vez al día. Te sugiero que dejes 24 veces al día.
Para hacer una actualización manual de las definiciones de virus, puedes ejecutar:
freshclam -vHabilitar notificación y programar el escaneo
En el siguiente script, modifica la variable DIRTOSCAN para especificar los directorios que deseas escanear.
Creamos el archivo /root/clamscan_daily.sh
nano /root/clamscan_daily.shy pegamos el siguiente código:
#!/bin/bash
LOGFILE="/var/log/clamav/clamav-"$(date +'%Y-%m-%d')".log";
EMAIL_MSG="Por favor, consulta el archivo de registro adjunto.";
EMAIL_FROM="[email protected]";
EMAIL_TO="[email protected]";
DIRTOSCAN="/var/www /var/vmail";
for S in ${DIRTOSCAN}; do
DIRSIZE=$(du -sh "$S" 2>/dev/null | cut -f1);
echo "Iniciando un escaneo diario del directorio "$S".
La cantidad de datos a escanear es "$DIRSIZE".";
clamscan -ri "$S" >> "$LOGFILE";
# obtener el valor de "Líneas infectadas"
MALWARE=$(tail "$LOGFILE"|grep Infected|cut -d" " -f3);
# si el valor no es igual a cero, enviar un correo electrónico con el archivo de registro adjunto
if [ "$MALWARE" -ne "0" ];then
# usando heirloom-mailx a continuación
echo "$EMAIL_MSG"|mail -a "$LOGFILE" -s "Malware Encontrado" -r "$EMAIL_FROM" "$EMAIL_TO";
fi
done
exit 0Puedes cambiar las dos variables EMAIL_FROM y EMAIL_TO para reflejar las direcciones de correo electrónico que desees, y cambiar la lista de directorios a escanear en la variable DIRTOSCAN.
Guarda el archivo con ( ctrl+o ), y cambia los permisos de la siguiente manera:
chmod 0755 /root/clamscan_daily.shAhora habilita la ejecución diaria del script creando un enlace simbólico en el directorio /etc/cron.daily/:
ln /root/clamscan_daily.sh /etc/cron.daily/clamscan_dailyAhora deberías poder recibir la notificación por correo electrónico una vez al día por virus o malware en tus archivos de correo o sitios web. ClamAV también escanea el contenido de los archivos PHP en busca de la presencia de malware u otro contenido potencialmente malicioso.
Probar el script
En esta configuración, ClamAV no realizará ninguna acción sobre los virus encontrados, solo los informará. Así que no te preocupes, nada será eliminado o alterado. Para probar el script, simplemente ejecuta:
/root/clamscan_daily.shDespués de que el comando haya terminado, habrá dos posibles estados:
Clamav ha encontrado algún virus: en este caso recibirás un correo electrónico en tu bandeja de entrada con el registro adjunto.
Clamav no ha encontrado nada, o algo salió mal. En este caso, necesitarás verificar lo que dice el registro. Para verificar los registros deberías revisar en /var/log/clamav/
Adjuntaré un pequeño ejemplo de registro para saber qué deberías leer:
Iniciando un escaneo diario del directorio /var/www. La cantidad de datos a escanear es 36G.
Mon Jun 15 13:17:14 CEST 2015
----------- RESUMEN DEL ESCANEO -----------
Virus conocidos: 3841819
Versión del motor: 0.98.4
Directorios escaneados: 47944
Archivos escaneados: 316827
Archivos infectados: 0
Datos escaneados: 17386.77 MB
Datos leídos: 34921.59 MB (ratio 0.50:1)
Tiempo: 1432.747 sec (23 m 52 s)
Mon Jun 15 13:41:06 CEST 2015
------------------------------------------------------
------------------------------------------------------
Iniciando un escaneo diario del directorio /var/vmail. La cantidad de datos a escanear es 7.0G.
Mon Jun 15 13:41:27 CEST 2015
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1386677288.M361286P15524.domain.tld,W=2675,S=2627:2,S: Heuristics.Phishing.Email.SpoofedDomain FOUND
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1371451873.M697795P19793.domain.tld,W=5421,S=5353:2,S: Heuristics.Phishing.Email.SpoofedDomain FOUND
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1390203133.M981287P17350.domain.tld,W=3223,S=3157:2,S: Heuristics.Phishing.Email.SpoofedDomain FOUND
/var/vmail/domain.tld/info/Maildir/.Cestino/cur/1386677288.M361285P15524.domain.tld,W=2270,S=2227:2,S: Heuristics.Phishing.Email.SpoofedDomain FOUNDEn este caso, ClamAV ha encontrado algún correo electrónico de phishing en [email protected], así que en este caso, también recibirás el correo electrónico.
¡Eso es todo!
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.