Hoy echamos un vistazo al software antivirus ClamAV y cómo usarlo para proteger su servidor o escritorio. Le mostraré cómo configurar ClamAV para escanear todos los archivos del sistema, sitio web y correo electrónico diariamente y le notificará 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 su servidor ya tenga un servicio de correo en funcionamiento.
Este tutorial funciona bien en Debian sistemas, pero debe ser compatible con Ubuntu sistemas también.
Instalacion y configuracion
En primer lugar 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-mailx
Asegúrese de que la definición de virus se actualizará con el comando:
service ClamAV-freshclam start
De forma predeterminada, ClamAV comprobará si hay nuevas definiciones de virus cada hora; si desea cambiar este parámetro, puede editar el archivo /etc/clamav/freshclam.conf.
nano /etc/clamav/freshclam.conf
Y cambia la siguiente línea:
# Check for new database 24 times a day Checks 24
a
# Check for new database 1 times a day Checks 1
en este caso el control se hará, sólo una vez al día. Te sugiero que salgas 24 veces al día.
Para realizar una actualización manual de las definiciones de virus, puede ejecutar:
freshclam -v
Habilitar notificación y programar el escaneo
En el siguiente script, modifique la variable DIRTOSCAN para especificar los directorios que desea escanear.
Creamos el archivo /root/clamscan_daily.sh
nano /root/clamscan_daily.sh
y pegamos el siguiente código:
#!/bin/bash LOGFILE="/var/log/clamav/clamav-$(date +'%Y-%m-%d').log"; EMAIL_MSG="Please see the log file attached."; 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 "Starting a daily scan of "$S" directory. Amount of data to be scanned is "$DIRSIZE"."; clamscan -ri "$S" >> "$LOGFILE"; # get the value of "Infected lines" MALWARE=$(tail "$LOGFILE"|grep Infected|cut -d" " -f3); # if the value is not equal to zero, send an email with the log file attached if [ "$MALWARE" -ne "0" ];then # using heirloom-mailx below echo "$EMAIL_MSG"|mail -a "$LOGFILE" -s "Malware Found" -r "$EMAIL_FROM" "$EMAIL_TO"; fi done exit 0
Puede cambiar las dos variables EMAIL_FROM y EMAIL_TO para reflejar sus direcciones de correo electrónico deseadas y cambiar la lista de directorios para escanear en la variable DIRTOSCAN.
Guarde el archivo con ( ctrl+o ) y cambie el permiso de la siguiente manera:
chmod 0755 /root/clamscan_daily.sh
Ahora habilite 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_daily
Ahora debería poder recibir la notificación por correo electrónico una vez al día en busca de virus o malware en sus archivos de correo o sitios web. ClamAV también analiza el contenido de los archivos PHP en busca 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, no se eliminará ni modificará nada. Para probar el script, simplemente ejecute:
/root/clamscan_daily.sh
Una vez finalizado el comando, habrá dos estados posibles:
- 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 sale mal. En este caso, deberá verificar lo que dice el registro. Para verificar los registros, debe verificar en /var/log/clamav/
Adjuntaré un pequeño ejemplo de registro para saber lo que debe leer:
Starting a daily scan of /var/www directory. Amount of data to be scanned is 36G. Mon Jun 15 13:17:14 CEST 2015 ----------- SCAN SUMMARY ----------- Known viruses: 3841819 Engine version: 0.98.4 Scanned directories: 47944 Scanned files: 316827 Infected files: 0 Data scanned: 17386.77 MB Data read: 34921.59 MB (ratio 0.50:1) Time: 1432.747 sec (23 m 52 s) Mon Jun 15 13:41:06 CEST 2015 ------------------------------------------------------ ------------------------------------------------------ Starting a daily scan of /var/vmail directory. Amount of data to be scanned is 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 FOUND
En este caso, ClamAV encontró un correo electrónico de phishing en [email protected], por lo que en este caso, también recibirá el correo electrónico.
¡Eso es todo!