amavis WARN: all primary virus scanners failed, considering backups 1

Postfix MTA Amavis ClamAV MySQLComo 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

Comentario, Preguntas o agradecimientos?

%d bloggers like this: