Restringir numero de correos en zimbra con cbpolicyd

Hola bienvenidos a otro post sobre linux hoy veremos como implementar cbpolicyd en zimbra para restringir el numero de correos salientes por tiempo.


 Usuario zimbra

Veri si está activo el cbpolicyd
zmprov gs `zmhostname` zimbraServiceInstalled

Activar el cbpolicyd

zmprov ms `zmhostname` +zimbraServiceInstalled cbpolicyd +zimbraServiceEnabled cbpolicyd

reiniciamos para que se active el servicio de zimbra

zmcontrol restart 

Y verificar que el servicio cbpolicy esté arriba

zmcontrol status
Host mail.ejemplo.gob.ec
        amavis                  Running
        antispam                Running
        antivirus               Running
        cbpolicyd               Running
        ldap                    Running
        logger                  Running
        mailbox                 Running
        memcached               Running
        mta                     Running
        opendkim                Running
        proxy                   Running
        service webapp          Running
        snmp                    Running
        spell                   Running
        stats                   Running
        zimbra webapp           Running
        zimbraAdmin webapp      Running
        zimlet webapp           Running
        zmconfigd               Running



Abrimos el archivo donde esta el esquema de la base de datos

sqlite3 /opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb

 dentro de sqlite ponemos  ".tables"

SQLite version 3.6.20
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
access_control             greylisting_autowhitelist
accounting                 greylisting_tracking
accounting_tracking        greylisting_whitelist
amavis_rules               policies
checkhelo                  policy_group_members
checkhelo_blacklist        policy_groups
checkhelo_tracking         policy_members
checkhelo_whitelist        quotas
checkspf                   quotas_limits
greylisting                quotas_tracking
greylisting_autoblacklist  session_tracking

para salir de sqlite

.quit

Ingresamos como usuario root
 su -

cd /opt/zimbra/data/httpd/htdocs/

ln -s /opt/zimbra/common/share/webui  .

Configuramos el acceso ala base de datos

vi /opt/zimbra/common/share/webui/includes/config.php

dejarlo así:

<?php

# mysql:host=xx;dbname=yyy
#
# pgsql:host=xx;dbname=yyy
#
# sqlite:////full/unix/path/to/file.db?mode=0666
#
#$DB_DSN="sqlite:////tmp/cluebringer.sqlite";
#$DB_DSN="mysql:host=localhost;dbname=cluebringer";
$DB_DSN="sqlite:/opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb";
$DB_USER="root";
#$DB_PASS="";
$DB_TABLE_PREFIX="";



#
# THE BELOW SECTION IS UNSUPPORTED AND MEANT FOR THE ORIGINAL SPONSOR OF V2
#

#$DB_POSTFIX_DSN="mysql:host=localhost;dbname=postfix";
#$DB_POSTFIX_USER="root";
#$DB_POSTFIX_PASS="";

?>
Nos aseguramos que las lineas verdes esten tal y como estan y todo lo demas comentado


Reiniciar servicio

su - zimbra -c "zmcontrol restart"


Agregue una línea en el firewall que permita el acceso del puerto 7780

iptables -A INPUT -p tcp --dport 7780 -m conntrack --ctstate NEW -j ACCEPT
Ahora puede ingresar a la interface web.

http://ipservidorzimbra:7780/webui/index.php



Despues de la instalacion vamos a Configurar nuestras reglasa





agregamos una politica nueva con el nombre
Nombre: Rate limit Sending Message


Prioridad:0 (puede ser un numero de 0 -100 la prioridad mas alta es 0 y la mas baja es 100)
Descripcion: Para identificar la regla
Disabled:no para que no se apague






en el grupo agregaremos los siguientes. Despues de esteo regresamos a policy list y seleccionamos el Rate limit sending message y agregamos los siguientes miembros

 ahora agregaremos las cuotas



y los limites dentro de cada cuota

en este caso la he configurado para que solo pueda mandar un mail por minuto
Despues de verificar que funcione podemos implementarlo en produccion o en un entorno real.

Comentarios