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
- Baixar a interface do policyd: http://download.policyd.org/v2.1.x-201205100639/
- Extrair em /opt/
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:
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