Está en la página 1de 7

Procedimientos de implementacin de cbpolicyd en zimbra 8.6.x y 8.7.

x para el
control del envo de correo nacional e internacional.
Elaborado por. Arian Molina Aguilera (linuxcuba@openmailbox.org)
Cluebringer Policyd que es y para que se utiliza as como su implementacin en Zimbra.

Cluebringer Policyd (Policyd V2) es un servicio multi-plataforma que permite implementar polticas de seguridad
anti-spam para servidores MTA. PolicyD es un software desarrollado en C que permite implementar polticas de
seguridad en nuestro servidor MTA con facilidad: control de acceso, gestin de EHLO/HELO, gestin de SPF,
Greylisting, cuotas, accounting e integracin con amavis. Para poder ver todas las funcionalidades que nos ofrece este
sistema, aconsejo que se den una vuelta por su sitio web oficial: http://www.policyd.org/. Les comento que cuando vi
esta variante de control se me hizo la vida un poco ms fcil, porque es una herramienta mediante la cual puedes
establecer polticas de manera muy rpida y de efecto casi inmediato.
A partir de la versin 7.1 de Zimbra, se aadi este servicio, el cual nos permite tener un control exhaustivo del correo
que entrada y salida de nuestro servidor, aparte de darle nuevas funcionalidades al sistema de antispam.
El sistema de Policyd por defecto viene deshabilitado en el sistema cuando instalamos Zimbra y no lo podemos habilitar
mediante la administracin web de manera standard. Si corremos lo siguiente podemos ver que no est habilitado:

Primeramento nos logueamos en el servidor de correo bajo el usuario zimbra

# su - zimbra

Habilitar CBpolicyd

Comprobamos si est instalado y si existe.

# zmprov gs `zmhostname` | grep zimbraServiceInstalled

Lo Instalamos si no esta

# zmprov ms `zmhostname` +zimbraServiceInstalled cbpolicyd

Lo habilitamos despus

# zmprov ms `zmhostname` +zimbraServiceEnabled cbpolicyd

Comprobamos que se habilito sin problema.

# zmprov gs `zmhostname` | grep zimbraServiceEnabled | grep cbpolicyd

zimbraServiceEnabled: cbpolicyd
Despus de un par de minutos, zmconfigd detecta que tenemos el servicio habilitado y automticamente instala la base
de datos y nos inicia el servicio de Policyd. Esperamos un par de segundos y verificamos que el servicio est
funcionando correctamente.

# zmcbpolicydctl status

policyd is running.

Una vez el servicio de Policyd est funcionando, hemos de indicarle al servidor de postfix (MTA de Zimbra) que cuando
llegue un correo, lo reenvi al puerto 10031, que es donde escucha por defecto Policyd:

# zmprov mcf +zimbraMtaRestriction "check_policy_service inet:127.0.0.1:10031"

# zmprov ms `zmhostname` zimbraMtaEnableSmtpdPolicyd TRUE

Habilitamos el mdulo a emplear, AccessControl: Para el control de acceso a los correos de entrada y salida.

# zmprov ms `zmhostname` zimbraCBPolicydAccessControlEnabled TRUE

# zmprov ms `zmhostname` zimbraCBPolicydCheckHeloEnabled TRUE

# zmprov ms `zmhostname` zimbraCBPolicydCheckSPFEnabled TRUE

Reiniciamos los servicios de Policyd y de postfix, para que se apliquen los cambios que hemos realizado:

zmcbpolicydctl restart && zmmtactl restart

Ya tenemos el servicio habilitado y corriendo. En la documentacin oficial de la wiki de zimbra las modificaciones en
cada uno de los mdulos habilitados se hace directamente en las bases de datos mediante sentencias sql pero nos
haremos ms fcil la vida haciendo accesible la web administrativa de Policyd.

Creamos el siguiente enlace simblico:

Esto hay que hacerlo con permiso de root sino nos da acceso denegado, salimos del usuario zimbra con exit luego:

Zimbra 8.6.x

# ln -s /opt/zimbra/cbpolicyd/share/webui/ /opt/zimbra/httpd/htdocs/policyd

Editamos la configuracin de mdulo de administracin de policyd

# nano /opt/zimbra/cbpolicyd/share/webui/includes/config.php

Zimbra 8.7.x

# ln -s /opt/zimbra/common/share/webui/ /opt/zimbra/data/httpd/htdocs/policyd

Editamos la configuracin de mdulo de administracin de policyd

# nano /opt/zimbra/common/share/webui/includes/config.php

Comentamos la linea:

$DB_DSN="mysql:host=localhost;dbname=cluebringer";

y debajo de ella agregamos lo siguiente:


$DB_DSN="sqlite:/opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb";

Ya con esto garantizamos que la Web de Administracin funcione correctamente y podemos acceder a la misma a
travs de la direccin http://zimbra.subdominio.artex.sa:7780/policyd/index.php nos mostrar la pagina siguiente:

Posteriormente volvemos a loguearnos como zimbra, con su - zimbra:

Y chequeamos los log

tailf /opt/zimbra/log/cbpolicyd.log | ccze

Segunda parte:

Viene la mejor parte, configurar el cbpolicyd desde la web de administracin, una vez logueados en su pgina.

Creamos un grupo g_nacionales, en group, add nuevo grupo.

Despus que lo crees lo seleccionas y lo habilitamos posteriormente le agregamos los miembros (members):
Estos son los usuarios que solo tendrn derecho a enviar correos solo nacional.
Recordar que cualquier cosa que se crees se crea deshabilitado por defecto, por lo que tienes que seleccionar
cada uno y decirle change y en disabled poner no.

Ahora creamos un grupo dominio_cu y agregamos un miembro a este grupo @*.cu todos los dominios .cu.

Despus vamos a Policies->Main y creamos la poltica p_nacionales_in para comprobar la entrada de los
correos.

Despus la seleccionamos y vamos a agregar los miembros (members)


Nos debe quedar as.

Despus creamos la poltica p_nacionales_out para comprobar la salida de los correos.

Ahora la seleccionamos y vamos a agregar los miembros (members)

Nos debe quedar as

El smbolo '!' es la negacin es decir lo contrario por tanto !%dominio_cu quiere decir; Los que no sean cu.

Recuerda habilitar los miembros de la poltica al igual que la poltica.


Lo que hemos hecho hasta aqu, en dichas polticas es agregar dos miembros uno hacia dominios no cu y otros
desde dominios no cu para ms adelante crear la regla access control y que se deniegue tanto entrada no
nacional como salida no nacional desde o hacia el grupo que creo de usuarios nacionales (g_nacionales).

Ya teniendo esto hecho ahora vamos a Access Control y agregamos una regla para la salida y otra para la
entrada, as le daremos un mensaje distinto al usuario que intenta enviar un correo hacia un dominio no
permitido y otro mensaje a cualquier usuario externo que enve un correo un usuario de nuestro dominio que
no est permitido recibir.
Vamos a Access Control -> Configure y agregamos una nueva ACL para la entrada de correos.

Se vincula esta regla a la poltica policy_nacionales_in y el veredicto es REJECT devolviendo en el mensaje


de error al usuario que enva el correo el mensaje: Este usuarios solo puede recibir correos de dominios .cu
Recuerda que tambin tienes que habilitar esta regla.
Creamos la acl para la salida de los correos.

Se vincula esta regla a la poltica policy_nacionales_out y el veredicto es REJECT devolviendo en el


mensaje de error al usuario que enva el correo el mensaje: Su cuenta de correo solo puede enviar correos
nacionales.
Recuerda que tambin tienes que habilitar esta regla.
Estos son los mensajes de error que debe mostrar el cliente de correo Thunderbird y Zimbra Web Client,
cuando un usuarios trata de enviar un mensaje a donde no est autorizado y no se le es permitido el envo.

También podría gustarte