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"
http://ipservidorzimbra:7780/webui/index.php
Despues de la instalacion vamos a Configurar nuestras reglasa
agregamos una politica nueva con el nombre
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.
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.iptables -A INPUT -p tcp --dport 7780 -m conntrack --ctstate NEW -j ACCEPT
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 |
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
Publicar un comentario