Skip to content

Instantly share code, notes, and snippets.

@sandromello
Last active August 29, 2015 14:02
Show Gist options
  • Save sandromello/31ce37527e08bc7ff423 to your computer and use it in GitHub Desktop.
Save sandromello/31ce37527e08bc7ff423 to your computer and use it in GitHub Desktop.
Policyd AKA Cluebringer Tips for Zimbra

Instalar os pacotes php + php-mysql + httpd + mysql-server

Logar em um servidor MTA:

cd /opt/zimbra/cbpolicyd/share/database/
for i in core.tsql access_control.tsql quotas.tsql amavis.tsql checkhelo.tsql checkspf.tsql greylisting.tsql accounting.tsql
do
./convert-tsql mysql $i
done > /tmp/db1.sql 

Tranferir o arquivo /tmp/db1.sql para o servidor que hospedará o banco, depois executar:

mysql -u root -e "create database nome_do_banco"

Popular banco

mysql -u root -D nome_do_banco < /tmp/db1.sql

Criar um link simbólico:

cd /var/www/html && ln -s /opt/<past_cluebringer>/webui

Configurar o arquivo: /var/www/html/webui/includes/config.php

<? php
$DB_DSN="mysql:host=localhost;dbname=<nome_do_banco>";
$DB_USER="<usuario_do_banco>";
$DB_PASS="<senha_do_banco>";
$DB_TABLE_PREFIX="";
?>
/etc/init.d/httpd restart

A partir daí já é possível configurar as políticas, para entender melhor como funcionam as regras:

http://wiki.policyd.org/start

Após configurar o banco e as respectivas políticas, o próximo passo é implementar o daemon nos mtas de saída:

Configurar em /opt/zimbra/conf/cbpolicyd.conf.in (sem os sinais <>):

DSN=DBI:mysql:database=<nome_do_banco>;host=<hostdobanco>
Username=<usuario_do_banco>
Password=<senha_do_banco>

Deixe comentado algumas linhas de módulos e protocolos não utilizados:

protocols=<<EOT
Postfix
#Bizanga
EOT

# Modules to load
modules=<<EOT
Core
#AccessControl
#Accounting
#Amavis
#CheckHelo
#CheckSPF
#Greylisting
Quotas
EOT

Como usuário zimbra, execute:

zmlocalconfig -e cbpolicyd_bypass_mode=pass
zmlocalconfig -e cbpolicyd_log_detail=modules,tracking

Para habilitar o serviço no MTA:

zmprov ms `zmhostname` +zimbraServiceEnabled cbpolicyd

Para desabilitar o serviço:

zmprov ms `zmhostname` -zimbraServiceEnabled cbpolicyd

Após habilitar o serviço, o MTA irá enviar as conexões para a porta 10031 (cbpolicyd). Acompanhe pelos logs para identificar se o serviço está operando corretamente: /opt/zimbra/log/cbpolicyd.log

IMPORTANTE: Caso ocorram erros na implementação é importante saber como desconfigurar, o serviço consiste na configuração de duas chaves do postfix, para consultar se elas estão configuradas, executar como usuário zimbra:

postconf |grep 10031

Essa configuração vem dos arquivos: /opt/zimbra/conf/zmconfigd/smtpd_end_of_data_restrictions.cf e /opt/zimbra/conf/zmconfigd/smtpd_recipient_restrictions.cf

Referências:

http://wiki.zimbra.com/wiki/How-to_for_cbpolicyd

http://www.zimbra.com/forums/administrators/59689-zimbra-8-0-1-policyd.html

http://wiki.policyd.org/start

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment