Instalar un servidor - XVI

Antivirus

, por dani

Aunque el tema de los virus no nos afecta a los usuarios de Linux, es posible que muchos de los usuarios de correo de tu servidor aún usen Windows.

Por tanto se hace necesario que nuestro servidor de correo detenga los virus que viajan en los correos

Partimos de que tenemos instalado (según los capítulos anteriores) el servidor de correo postfix, y el filtrador de mensajes amavis, el cual deberá pasarles antispam y antivirus antes de devolvérselos de nuevo a postfix

Como antivirus elegimos ClamAV porque, aparte de ser software libre, es uno de los más rápidos en sacar soluciones que atajen los nuevos virus aparecidos (a veces sólo unas horas). Además debemos añadir que su base de datos de virus (ya tiene más de 60.000) se actualiza sóla a través de Internet con la frecuencia que le digamos (cada día, cada 6 foras, cada 20 minutos, etc.)

Instalación previa de paquetes necesarios

Es necesario instalar previamente algunos paquetes que permitan a ClamAv mirar (en busca de virus) en los ficheros comprimidos. Algunos de esos paquetes ya los tendremos instalados. No importa, el que no esté instalado lo instala y el que esté instalado buscará si existe una versión más reciente (si no existiera no hace nada). El código a teclear es:

# apt-get update
# apt-get install unrar lha arj unzoo zip unzip bzip2 gzip cpio file lzop


Ahora pasamos a instalar el antivirus clamav


Quizás necesites la siguiente fuente en tu repositorio:

deb http://ftp2.de.debian.org/debian-volatile sarge/volatile main


# apt-get install clamav clamav-base clamav-daemon clamav-freshclam libclamav1


Si nos preguntase por el método de actualización, contestamos demonio. El resto de las preguntas (si las hace) son las típicas.

Integración con amavis

Recordemos que es amavis quien se encarga de pasarle los correos a clamav para que compruebe si tienen virus. Para la integración de ambos es necesario añadir el usuario clamav al grupo amavis

# adduser clamav amavis


Además debemos asegurarnos que en el /etc/amavis/amavisd.conf esté la directiva «/var/run/clamav/clamd.ctl»

...
### http://www.clamav.net/
['Clam Antivirus-clamd',
  \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.ctl"],
  qr/\bOK$/, qr/\bFOUND$/,
  qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
# NOTE: run clamd under the same user as amavisd;  match the socket
# name (LocalSocket) in clamav.conf to the socket name in this entry
# When running chrooted one may prefer: ["CONTSCAN {}\n","$MYHOME/clamd"]
...


y que se la misma que hay en LocalSocket de /etc/clamav/clamd.conf

# cat /etc/clamav/clamd.conf
#Automatically Generated by clamav-base postinst
#To reconfigure clamd run #dpkg-reconfigure clamav-base
#Please read /usr/share/doc/clamav-base/README.Debian.gz for details
LocalSocket /var/run/clamav/clamd.ctl
FixStaleSocket
User amavis
AllowSupplementaryGroups
ScanMail
...

Y ya que retocamos el /etc/amavis/amavisd.conf podemos mirar el tema de las notificaciones. Puedes elegir que se envíe notificación al postmaster cuando un usuario reciba un virus:


# $virus_admin = undef;   # do not send virus admin notifications (default)
# $virus_admin = {'not.example.com' => '', '.' => 'virusalert@example.com'};
# $virus_admin = 'virus-admin@example.com';
$virus_admin = "postmaster\@$mydomain";         # due to D_DISCARD default


De esa forma recibirás un mensaje de remitente amavisd-new y con subject del tipo:
VIRUS (HTML.Phishing.Pay-34) FROM <?@host13-35-static...

Si te cansas de recibir notificaciones, pues cambias la opción $virus_admin

Ahora sólo queda reiniciar postfix, amavis y clamav para que funcione perfectamente nuestro sistema de correo con antispam y antivirus integrado


# /etc/init.d/postfix restart
# /etc/init.d/amavisd restart
# /etc/init.d/clamav-daemon restart


Creo que esas son las órdenes (las he puesto de memoria) que reinician los tres programas. Si tienes dudas no tienes más que recordar los viejos tiempos de Windwos y reiniciar todo el sistema

Actualizando la base de datos

Anteriormente, cuando hemos instalado clamav, hemos incluido un paquete llamado freshclam, que es el que se encarga de actualizar periódicamente la base de datos de virus (para que se incluyan los nuevos virus aparecidos).

Dijimos que nosotros podíamos definir la frecuencia de actualización. Para ello podemos editar el fichero de configuración /etc/clamav/freshclam.conf y fijarnos en la línea:


Checks 12


El número (en este caso 12) indica las veces al día que se actualizará. Por tanto en este caso lo hará cada dos horas (12 veces al día).

Para saber si las actalizaciones las lleva a cabo convenientemente podemos mirar los logs:
 /var/log/clamav/freshclam.log
 /var/log/clamav/clamav.log


# cat /var/log/clamav/freshclam.log

. . .

--------------------------------------
Received signal: wake up
ClamAV update process started at Wed Aug  2 09:56:54 2006
main.cvd is up to date (version: 39, sigs: 58116, f-level: 8, builder: tkojm)
daily.cvd is up to date (version: 1630, sigs: 5946, f-level: 8, builder: sven)
--------------------------------------
Received signal: wake up
ClamAV update process started at Wed Aug  2 10:56:54 2006
main.cvd is up to date (version: 39, sigs: 58116, f-level: 8, builder: tkojm)
daily.cvd is up to date (version: 1630, sigs: 5946, f-level: 8, builder: sven)
--------------------------------------

Podemos comprobar que está actualizado a la última mirando la web oficial de clamav

También es posible hacer la actualización manualmente:


# freshclamav


Pero no sólo basta con actualizar la base de datos, también hay que actualizar el programa antivirus. Nos daremos cuenta de que estamos desfasados cuando mirando los logs veamos algo como:


--------------------------------------
Received signal: wake up
ClamAV update process started at Sun May 21 07:03:03 2006
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.88.1 Recommended version: 0.88.2
DON'T PANIC! Read http://www.clamav.net/faq.html
main.cvd is up to date (version: 38, sigs: 51206, f-level: 7, builder: tkojm)
daily.cvd is up to date (version: 1472, sigs: 4793, f-level: 8, builder: arnaud)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Current functionality level = 7, recommended = 8
DON'T PANIC! Read http://www.clamav.net/faq.html
--------------------------------------