Blog

Archive for Administrador de Correo

Amavis falla reportando “TROUBLE in child_init_hook: BDB can’t connect db env. at /var/lib/amavis/db”

Índice de claves

  • Amavis trouble in child_init_hook
  • Amavis no procesa correo y consume 100% cpu

Introducción

Si encuentra los siguientes logs de manera repetida y se combina con un mal funcionamiento de amavis:

Apr 25 11:40:17 node01[30000]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: No existe el fichero o el directorio, No existe el fichero o el directorio. at (eval 94) line 342.
Apr 25 11:40:17 node01[30001]: (!!)TROUBLE in child_init_hook: BDB can't connect db env. at /var/lib/amavis/db: No existe el fichero o el directorio, No existe el fichero o el directorio. at (eval 94) line 342.

Entonces siga los siguientes pasos para recuperar el servicio y parar las notificaciones:

Resolución del problema

Este error es detectado y corregido automáticamente por core-admin. Si ya tiene core-admin instalado, es posible que tenga una versión antigua. Actualícela:

# crad-update.pyc  -u
# crad-update.pyc  -g

Después, ejecute manualmente la recuperación del comando (o espere unos minutos para que core-admin lo haga solo):

# /usr/share/core-admin/tools/mail_admin/amavis-watcher.pyc --verbose

Tras esto, ya debería estar recuperado el servicio. Reinicie agente y log-watcher para evitar seguir recibiendo notificaciones antiguas:

# /etc/init.d/crad-log-watcher  restart
# /etc/init.d/crad-agent  restart

Posted in: Administrador de Correo, Amavis, Mail Admin

Leave a Comment (0) →

Controlando el “content filter” Amavis con Valvula (protocolo “access policy delegation”)

Índice de claves

Resumen

Controlando los correos comprobados o producidos por el servidor de “Content filter” (Amavis) con el servidor de delegación de políticas de acceso (Valvula)configurado en Postfix.

Introdución

Debido al modo en que funciona Postfix cuando configuras el parámetro “content filter =”, donde configuras Amavis o cualquier otro servidor de “Content Filter”, esto hace que todos los correos que entran en la cola de Postfix sean envaidos a Amavis (o el servidor de “Content filter” que tenga configurado) de manera que el correo sea procesado y a su vez, si todo está correcto, ese correo regresará a Postfix a través de un puerto interno diferente (típicamente 10025/tcp).

Desde aquí, asumiremos que el servidor de “Content Filter” es Amavis y Valvula como servidor de delegación de política. Si este no es el caso, este artículo sigue siendo relevante para su configuración.

Una vez que Amavis ha decidido que todo está correcto, ese correo es enviado de nuevo a Postfix en un puerto dedicado, usualmente declarado como sigue en  /etc/postfix/master.cf:

# amavis connection, messages received from amavis 
127.0.0.1:10025 inet n - y - - smtpd
 -o content_filter=
 -o local_recipient_maps=
 -o relay_recipient_maps=
 -o smtpd_restriction_classes=
 -o smtpd_client_restrictions=
 -o smtpd_helo_restrictions=
 -o smtpd_sender_restrictions=
 -o smtpd_recipient_restrictions=permit_mynetworks,reject 
 -o mynetworks=127.0.0.0/8
 -o strict_rfc821_envelopes=yes
 -o receive_override_options=no_address_mappings

Como puede ver, cualquier correo será aceptado en el puerto (10025/tcp) mientras que venga de localhost (confianza total).

Sin embargo, el problema que queremos resolver es como enfrentarnos a correos originados desde el servidor internamente (enviados por el comando mail/maildrop) o porque sean enviados por mailman (o alguna configuración del propio servidor de “Content Filter” que también puede producir correos por si mismo) y que estos sean controlados/supervisados por Valvula (access policy server).

En este caso, con la configuración anterior no hará que los correos producidos por Amavis sean controlados por Valvula.

Qué hay que cambiar para que el servidor de políticas sea llamado

Con esta información identificada, en el caso de que sea necesario filtrar los correos enviados de regreso a Postfix por el servicio de “Content Filter”, puede actualizar el siguiente parámetro:

        -o smtpd_recipient_restrictions=permit_mynetworks,reject

..para que sea lo siguiente:

        -o smtpd_recipient_restrictions=check_policy_service,inet:127.0.0.1:3579,permit_mynetworks,reject

Esta esta la configuración recomendada para Core-Admin, donde la parte relevante es “127.0.0.1:3579″ y que tiene que ser actualizada con su configuración local.

De esta manera, cuando Amavis termine, ese correo tendrá que ir también através de Valvula cuando vuelva a Postfix.

Interacciones que puede causar esta configuración

Este cambio hará que Valvula (o el servidor de políticas que tenga configurado) que sea llamado 2 veces por cada correo recibido. Primero cuando el correo es recibido y segundo, cuando es recibido después que Amavis termina de procesar el correo.

Porqué no configurar esto por defecto

Esta configuración aquí descrita puede ser interesante en algunos escenarios.

Para el caso de un servidor de correo dedicado, esta configuración no es útil/necesaria. Nos referimos “servidores de correo dedicados” aquellos que no tienen un software de gestión de listas, páginas webs o cualquier otro software que pueda proucir correos internamente y que sea necesario limitarlos, bloquearlos o descartarlos.

Por otro lado, esta información puede no ser interesante en todos aquellos casos conde esta limitación pueda ser en origen (actualizando la configuración del servicio produciendo estos correos a limitar) o incluso la configuración de Postfix authorized_submit_users.

Resumiendo, esta no es la única configuración disponible para limitar/controlar correos desde dentro del servidor usando el servicio de delegación de política de acceso (http://www.postfix.org/SMTPD_POLICY_README.html).

Posted in: Administrador de Correo, Amavis, Postfix, Seguridad, Valvula

Leave a Comment (0) →

Cambiando la hora del envío de notificaciones de cuota excedida de correo

Dentro de core-admin, para la aplicación de gestión de servidor de correo, usted puede configurar tanto la recepción de un correo general de cuotas excedidas (correo administrador) y también puede configurar que el sistema envíe un correo de cuota excedida a los usuarios finales.

Para ello, tiene que abrir la aplicación “Administrador de Correo” y vaya a las opciones de notificación de cuota como se muestra en el siguiente video:

Sin embargo, en el caso de que sea necesario cambiar la hora de notificación de dichas cuotas, o la frecuencia de la misma, tendrá que:

  1. Editar la especificar la configuración cron localizada en el fichero /etc/cron.d/crad-mail-quotas para ajustarla a sus necesidades. Recuerde que las líneas que tiene que editar son las indicada con el comando “crad-mail-admin-mgr.pyc -k -f”
  2. Para evitar que el sistema de paquetes le modifique el fichero tras actualizar, añada flag inmutable al fichero con:
    chattr +i /etc/cron/crad-mail-quotas

 

Posted in: Administrador de Correo, Administration, Core-Admin, Mail Admin

Leave a Comment (0) →