amavis WARN: all primary virus scanners failed, considering backups

0 Comments

Como resolverĀ amavis WARN: all primary virus scanners failed, considering backups

Recien estaba instalando una nueva solucion de correo sobre Linux Ubuntu basado en Postfix+MySQL para usuarios virtuales, y el filtro antivirus esta soportado por Amavis-NEW. Luego de terminar de instalar y configurar los filtros de correo ejecute el siguiente comando para asegurarme que el demonio del antivirus clamav funcionara correctamente:

root@mail:~# /etc/init.d/clamav-daemon status
Ā * clamd is running

Con lo anterior si esta ejecutandose ClamAV.

Postfix, errores en la bitacora de Amavis con ClamAV

Buscando en la bitacora de errores de postfix encontre que amavis esta tirando un error de fallo de comunicacion con el antivirus de Linux Ubuntu.

root@mail:~# tail -f /var/log/mail.err
...
Apr 13 19:01:11 mail amavis[22478]: (22478-01) (!!)WARN: all primary virus scanners failed, considering backups
Apr 13 19:01:11 mail amavis[22477]: (22477-01) (!!)WARN: all primary virus scanners failed, considering backups
Apr 13 19:01:22 mail amavis[22477]: (22477-02) (!!)WARN: all primary virus scanners failed, considering backups
Apr 13 19:01:22 mail amavis[22478]: (22478-02) (!!)WARN: all primary virus scanners failed, considering backups
Apr 13 19:01:33 mail amavis[22478]: (22478-03) (!!)WARN: all primary virus scanners failed, considering backups
Apr 13 19:01:43 mail amavis[22477]: (22477-03) (!!)WARN: all primary virus scanners failed, considering backups
...

Esto significa que el MTA Postfix si esta redirigiendo sus correos al puerto 10024 donde escucha amavis-new, y este lo esta tirando hacia el filtro de antivirus de clamav, pero este por alguna razon no le contesta. Por cierto, anteriormente tenia instalado el clamav pero no en version de servidor o demonio por lo cual tuve que ejecutar el comando aptitude install clamav-daemon.

Amavis-new y ClamAv para Postfix y MySQL

En el archivo de configuraciĆ³n de amavis (amavisd.conf) verificamos que el socket de antivirus sea clamd.ctl o lo cambiamos de esta manera:

['ClamAV-clamd',
 #\&ask_daemon, ["CONTSCAN {}\n", "/var/spool/amavisd/clamd.sock"],
 \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.ctl"],

Ahora en el archivo de configuraciĆ³n de ClamAV cambiamos el socket de comunicaciĆ³n de Linux;

# Path to a local socket file the daemon will listen on.
 # Default: disabled (must be specified by a user)
 #LocalSocket /tmp/clamd.socket
 LocalSocket /var/run/clamav/clamd.ctl

Con estos cambios ya estamos seguros que cualquier correo entrante en Postfix sera redirigido correctamente hacia los filtros antivirus de ClamAV gracias a Amavis.

SinĀ  embargo el problema persiste. Los correos no estĆ”n siendo escaneados por ClamAV y la cola del PostfixĀ  esta creciendo.

Amavis-new y ClamAV ejecutandose con el mismo usuario

Ya que tengo aƱos de no hacer un servidor de correo desde 0, si no mas bien utilizo herramientas o distribuciones grĆ”ficas de Linux como Ebox me tomo un poco de tiempo dar con el problema, pero despuĆ©s de cambiar la configuraciones de Amavis y ClamAV para que utilicen el mismo usuario, todo empezĆ³ a funcionar.

Como configurar ClamAV daemon para que funcione con Amavis y Postfix

Editamos el archivo /etc/clamav/clamd.conf y donde dice User lo cambiamos de clamav a amavis.

LocalSocket /var/run/clamav/clamd.ctl
 User clamav
 LogFile /var/log/clamav/clamav.log
 PidFile /var/run/clamav/clamd.pid
 DatabaseDirectory /var/lib/clamav/

Cambiando los permisos de los directorio de ClamAV

En mi sistema Linux Debian o Ubuntu cambiamos los propietarios de los directorios de ClamAV para que sean de Amavis-new

chown -R amavis:amavis /var/run/clamav
chown -R amavis:amavis /var/lib/clamav
chown -R amavis:amavis /var/log/clamav

Asi mismo debemos de cambiar el usuario y los permisos de los directorio de freshclam en /etc/clamav/freshclam.conf,

DatabaseOwner clamav
UpdateLogFile /var/log/clamav/freshclam.log

Ahora bien, respecto a la rotaciĆ³n de las bitĆ”coras debemos de hacer tambiĆ©n los respectivos cambios de propietarios y permisos para ClamAVĀ /etc/logrotate.d/clamav-daemonĀ  y freshclam (/etc/logrotate.d/clamav-daemon).

Cambiamos de

create 640 clamav adm
a
create 640 amavis adm

Ahora solo nos queda reiniciar los servicios de clamav para que los correos de Postfix sean escaneados por el antivirus correctamente

/etc/init.d/clamav-daemon reload

Con ayuda,
Via | Amavis ClamAV

Deja tus preguntas o comentarios