0 votos

Cómo solucionar el problema de OS X Server "Error de LibClamAV: mpool_malloc(): Attempt to allocate 8388608 bytes." ¿bucle de reinicio?

Desde el pasado viernes (21 de octubre de 2016) un reinicio tanto de la versión 10.6 (Snow Leopard Server) como de la 10.7 (Lion Server) da como resultado numerosas repeticiones del mensaje de error registrado:

Error de LibClamAV: mpool_malloc(): Intento de asignación de 8388608 bytes.

y

ADVERTENCIA: [LibClamAV] mpool_malloc(): Intento de asignación de 8388608 bytes. Por favor, informe a http://bugs.clamav.net Tamaño del registro = 1048612, máx. = 1048576 LOGGING DISABLED (Se ha superado el tamaño máximo del archivo de registro).

Solución (no es una solución)

Después de desactivar "Server Admin" > "Mail" > "Settings" > "General" > "Filters":

  1. [ ] Habilitar el filtro de correo no deseado
  2. [ ] Habilitar el filtrado de virus

el mensaje de error desapareció y los reinicios cesaron.

Regresión

Parece que el motor de ClamAV ( $ /usr/bin/clamscan --version ... 0.97.8 ) es demasiado viejo según el bug 11647 de ClamAV.net .

¿Cómo solucionarlo?

Cómo arreglar el ClamAV " LibClamAV Error: mpool_malloc(): Attempt to allocate 8388608 bytes " de forma permanente y disponer de funciones de filtrado de correo basura y virus ? En otras palabras Cómo actualizar el escáner clamav integrado del servidor Mac OS X Lion 10.7 (sin instalar Xcode en la máquina que ejecuta el ClamAV obsoleto) ?

0 votos

La descripción del fallo enlazada recomienda actualizar el escáner. ¿Ya lo has intentado?

0 votos

@patrix " ¿Cómo actualizar el escáner clamav en el servidor Mac OS X Lion 10.7? "es otra forma de formular mi pregunta. No hay ninguna actualización disponible de Apple. Así que estoy buscando una receta para (hackear) actualizar el escáner ClamAV incorporado. Nota: Actualmente estoy atascado en el sandboxing, cómo editar clamd.sb desde un (bash) script.

0 votos

¿Se está actualizando a clamxav.com/download.html ¿una opción? ¿O compilar ClamaV desde el código fuente?

1voto

Amber Puntos 16

Me encontré con esta página que trata el tema en un servidor OS X cuidadosamente reconstruido que ejecuta 10.6 (tengo razones). La respuesta de Pro Backup es fantásticamente detallada, pero puede que haya encontrado una respuesta más sencilla, al menos a corto plazo. Me di cuenta de que otra máquina que tenía, también usando 10.6 Server, no tenía el problema. Comprobando las versiones de cada una usando /usr/bin/clamscan --version , vi que eran las mismas versiones de motor, pero diferentes versiones de definición:

¿Tiene el problema

ClamAV 0.97.8/22421/Sun Oct 23 22:58:38 2016
ClamAV 0.97.8/22422/Mon Oct 24 12:02:38 2016

frente a

No tiene el problema

ClamAV 0.97.8/22470/Wed Nov  2 19:05:24 2016

Descarga manual de definiciones de clamAV

Así que, decidí intentar descargar manualmente las definiciones de virus usando /usr/bin/freshclam (como sudo ). Pasó por muchas versiones, terminando con 22471. Aún no estoy seguro de que esto sirva, pero espero que esté en el camino correcto.

0 votos

Puedo confirmar que la actualización manual de las definiciones de ClamAV funciona. Aunque eso sigue dejando su motor de ClamAV en la versión 0.97, obsoleta y ya no probada por las firmas. ClamAV anunció el fin de vida del motor 0.97: 1 de junio de 2016 . Cita: las firmas pueden funcionar más allá del 1 de junio, ya no estamos probando esa configuración, así que estás por tu cuenta .

0 votos

Aunque sólo actualizar las definiciones es una solución rápida de corto plazo, la causa de fondo es que las definiciones para este motor ya no serán probadas. Por lo tanto, no puedo otorgar a esta respuesta la bandera de respuesta aceptada.

0voto

Jay Scholz Puntos 1

Yo tenía el mismo problema y desactivé el correo (no lo usamos), el problema parece haber desaparecido.

Creo que ClamAV sacó una definición o actualización que era mala. Lo mejor es mantener el filtro desactivado por ahora hasta que lancen una actualización. También puede ser útil informarles a ellos en http://bugs.clamav.net según lo solicitado.

0 votos

Por favor, dime que tú también lo has denunciado.

0 votos

@MauryMarkowitz No tiene mucho sentido informar, porque Política de fin de vida de ClamAV afirma que no corregirán los problemas de los motores más antiguos que el actual (0.99) y una generación de versiones principales anterior (0.98). Cita: " Actualmente, todas las versiones desde ClamAV .97 en adelante, incluyendo todas las versiones menores, no son compatibles. "

0voto

Pro Backup Puntos 2314

Actualización de ClamAV de Apple en 10.7 (Lion)

La receta de actualización a continuación requiere "Xcode" y "Xcode Command Line Tools" para construir el software desde su código fuente. Los comandos de Terminal.app que aparecen a continuación se han probado con Mac OS X 10.9.5, Xcode 6.2 en un shell zsh. Para conocer el motivo de las distintas elecciones, consulte la sección "Antecedentes" al final.

Construir pcre 8.39

$ cd ~
$ mkdir src
$ cd /tmp && curl -O ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz && cd -
$ cd src
$ tar zxf /tmp/pcre-8.39.tar.gz && rm /tmp/pcre-8.39.tar.gz
$ cd pcre-8.39
$ ./configure --prefix=/usr/local/pcre
$ make && make check
$ make install DESTDIR=/tmp/pcre
$ rm -r /tmp/pcre/usr/local/pcre/share #remove docs
$ tar czvf ~/pcre-8.39.tgz -C /tmp/pcre --exclude=.DS_Store usr/

Construir clamav para sobrescribir la versión incorporada de Mac OS X

$ cd ~/src
$ cd /tmp && curl -LO https://www.clamav.net/downloads/production/clamav-0.99.2.tar.gz && cd -
$ tar zxf /tmp/clamav-0.99.2.tar.gz && rm /tmp/clamav-0.99.2.tar.gz
$ cd clamav-0.99.2

Sin -mmacosx-version-min=10.X ClamAV 0.99.2 se construirá con optimizaciones de código del compilador que sí se ejecutan en la versión OS X anfitriona (10.9), pero no funcionan en 10.6 y 10.7.

En caso de que no esté construyendo para correr en 10.6.8 o 10.7.5 podría necesitar cambiar 10.8.0 o 11.4.2 a la salida del comando uname -r ejecutado en su Mac anfitrión (remoto).

10.6.8

$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" ./configure --prefix=/usr --libdir=/usr/lib --with-pcre=/usr/local/pcre --enable-llvm --build=x86_64-apple-darwin`uname -r` --host=x86_64-apple-darwin10.8.0 --sysconfdir=/private/etc
$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" make
$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.6" sudo make install DESTDIR=/tmp/clamav-0.99.2 && sudo rm -r /tmp/clamav-0.99.2/{private,usr/include} && sudo chown -R root:wheel /tmp/clamav-0.99.2
$ tar czvf ~/clamav-0.99.2.tgz -C /tmp/clamav-0.99.2 --exclude=.DS_Store usr/

10.7.5

$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" ./configure --prefix=/usr --libdir=/usr/lib --with-pcre=/usr/local/pcre --enable-llvm --build=x86_64-apple-darwin`uname -r` --host=x86_64-apple-darwin11.4.2 --sysconfdir=/private/etc
$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" make
$ CFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" CXXFLAGS="-O3 -march=nocona -mmacosx-version-min=10.7" sudo make install DESTDIR=/tmp/clamav-0.99.2 && sudo rm -r /tmp/clamav-0.99.2/{private,usr/include} && sudo chown -R root:wheel /tmp/clamav-0.99.2
$ tar czvf ~/clamav-0.99.2.tgz -C /tmp/clamav-0.99.2 --exclude=.DS_Store usr/

Suba o copie los archivos .tgz a la máquina remota 10.7

SSH debe estar habilitado en el host remoto (receptor) para que estos comandos de ejemplo funcionen.

$ scp ~/pcre-8.39.tgz remote.host.tld:/tmp/
$ scp ~/clamav-0.99.2.tgz remote.host.tld:/tmp/

También puedes subir los archivos .tgz a un servidor web y descargarlos en la(s) máquina(s) anfitriona(s) remota(s), por ejemplo con este comando:

$ cd /tmp && curl -O http://crashplan.probackup.nl/install/mac/pcre-8.39.tgz && cd -
$ cd /tmp && curl -O http://crashplan.probackup.nl/install/mac/clamav-0.99.2.tgz && cd -

Instalar pcre 8.39 en el host remoto Mac en /usr/local/pcre

$ sudo tar zxvf /tmp/pcre-8.39.tgz -C /

Opcionalmente crear enlaces a los ejecutables de pcre en /usr/local/bin

$ cd /usr/local/bin && sudo ln -s ../pcre/usr/local/pcre/bin/{pcre-config,pcregrep,pcretest} . && cd -

Instalar ClamAV 0.99.2 en el host remoto Mac

$ sudo tar zxvf /tmp/clamav-0.99.2.tgz -C /

Actualizar la configuración de clamd sandbox (para 10.7)

$ sudo sed -i '' 's#(lib|share)#(lib|share|local/pcre/lib)#' /usr/share/sandbox/clamd.sb
$ grep -q -F '(regex #"^/System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent$")' /usr/share/sandbox/clamd.sb || { awk '/\(regex #"\^\/private\/var\/clamav\/"\)/ {print "\t(regex #\"^/System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent\$\")"}; {print}' /usr/share/sandbox/clamd.sb > ~/temp-clamd.sb; cat ~/temp-clamd.sb | sudo tee /usr/share/sandbox/clamd.sb > /dev/null; rm ~/temp-clamd.sb; };

Iniciar el demonio freshclam

$ sudo /bin/launchctl load -w /System/Library/LaunchDaemons/org.clamav.freshclam.plist

Ver si freshclam se está actualizando

$ tail -f /private/var/log/freshclam.log

Pulse Ctrl + C dejar de mostrar la "cola" del archivo de registro.

O compruebe la versión de la base de datos en el clamd ejecutable:

$ clamd --version
ClamAV 0.99.2/22442/Thu Oct 27 20:03:54 2016

Iniciar el demonio clamd

$ sudo /bin/launchctl load -w /System/Library/LaunchDaemons/org.clamav.clamd.plist

Limpiar los archivos del instalador

$ rm /tmp/pcre-8.39.tgz
$ rm /tmp/clamav-0.99.2.tgz

Eso es todo.


Antecedentes

Sobrescribir el clamav de Apple

Debido a que la versión 0.97 de ClamaV de Mac OS X 10.7 está tan anticuada que rompe el sistema, creo que es prudente sobrescribir el ClamaV incorporado con una versión más reciente. Normalmente esto no se recomienda porque las actualizaciones de Apple sobrescribirían tal cambio. La última "Actualización de Software" para 10.7 que Apple lanzó se remonta a Septiembre de 2012 24 de septiembre de 2014. Por esa razón no espero que Apple lance ninguna actualización de software para Lion, nunca.

pcre

La versión actual (octubre de 2016) de ClamAV es la 0.99.2. Esa versión de clamav tiene una dependencia llamada " pcre " que no era necesario para ejecutar la actual versión 0.97 de clamav que falla. Por lo tanto, también es necesario instalar algún software nuevo. No estoy seguro de dónde es mejor instalar eso en la ubicación /usr o /usr/local. Para estar más seguro, elijo no cambiar el software del sistema en /usr, por lo que uso la carpeta /usr/local/pcre.

Máquinas construidas y liberadas por separado

Para el código abierto es bastante común construir e instalar el software desde el código fuente en la misma máquina. Debido a que el servidor que ejecuta clamav anticuado es un servidor de producción, no me meto con él. La compilación/construcción del software se hace en una caja Mac diferente.

Saludos

Con respecto a Comodín para ayudar a construir el Comando awk para insertar una nueva línea precedida de un carácter de tabulación en clamd.sb .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X