Top Banner
Apresentação Professor: Anahuac de Paula Gil Membro da comunidade SL desde 1996 Criador e mantenedor do KyaPanel Autor do livro OpenLDAP Extreme
72

Zimbra Anahuac2

Jul 07, 2015

Download

Technology

anahuac2
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Zimbra Anahuac2

Apresentação

Professor: Anahuac de Paula Gil

Membro da comunidade SL desde 1996Criador e mantenedor do KyaPanelAutor do livro OpenLDAP Extreme

Page 2: Zimbra Anahuac2

Aulas

Período: de 19 a 30 de novembroHorário: das 08:30 às 12:30 diariamenteIntervalo: das 10:30 às 10:45

Método: práticoMeio: on-line em laboratórioMaterial: slides + manuais oficiais em en_US

Page 3: Zimbra Anahuac2

Infra

Recurso: VirtualBoxSO: Ubuntu Server 10.04 - LTSAplicativo: Zimbra OSE – 7.2.0

Page 4: Zimbra Anahuac2

Infra – Copiando as VM's

Cópia comum:

# cp zimbra.vdi zimbra_mn_ldap.vdi# cp zimbra.vdi zimbra_mn_mailbox.vdi# cp zimbra.vdi zimbra_mn_mta.vdi

# VBoxManage internalcommands sethduuid zimbra_mn_ldap.vdi# VBoxManage internalcommands sethduuid zimbra_mn_mailbox.vdi# VBoxManage internalcommands sethduuid zimbra_mn_mta.vdi

Page 5: Zimbra Anahuac2

ZM – Instalação Distribuída

● Instalar servidor LDAP

* Instalação normal, selecionando somente o pacote “zimbra-ldap” na lista de pacotes.

* Todos os demais pacotes não devem ser instalados

* Atenção para definir uma senha de admin do LDAP – Selecione 1 nas configurações.

Page 6: Zimbra Anahuac2

Fundamentos

Serviço de correio eletrônico

● SMTP● POP/IMAP● Base de usuários● Anti Vírus● Anti Spam● Greylist● SPF● Gotcha

Page 7: Zimbra Anahuac2

Fundamentos

Page 8: Zimbra Anahuac2

DNS

● Resolução direta de host● Resolução reversa de host● Registro MX

IN MX prioridade host/alias

● Registro TXT

host IN TXT "v=spf1 a mx ~all"host IN SPF "v=spf1 a mx ~all"

Page 9: Zimbra Anahuac2

DNS

# apt-get install aptitude# aptitude update# aptitude install bind9 htop nmap loco nail

Em /etc/bind/named.conf.local

zone "training.com" IN { type master; notify no; file "/etc/bind/training.com";};

Page 10: Zimbra Anahuac2

DNSEm /etc/bind/training.com

$ORIGIN training.com.@ 1D IN SOA server.training.com. server.training.com. ( 2010051101 ; serial 10800 ; refresh (3 hours) 3600 ; retry (1 hour) 432000 ; expire (5 days) 38400 ; minimum (10 hours 40 minutes) )

IN NS server.training.com. IN MX 10 mail

training.com. IN TXT "v=spf1 a mx ~all"training.com. IN SPF "v=spf1 a mx ~all"

@ IN A 192.168.0.Xserver IN A 192.168.0.Xmail IN A 192.168.0.Xsmtp IN A 192.168.0.Xpop IN A 192.168.0.Ximap IN A 192.168.0.Xwebmail IN A 192.168.0.Xmuita IN A 192.168.0.Xmailbox IN A 192.168.0.X

Page 11: Zimbra Anahuac2

DNSEm /etc/bind/training.com

$ORIGIN training.com.@ 1D IN SOA server.training.com. server.training.com. ( 2010051101 ; serial 10800 ; refresh (3 hours) 3600 ; retry (1 hour) 432000 ; expire (5 days) 38400 ; minimum (10 hours 40 minutes) )

IN NS server.training.com. IN MX 10 mail

training.com. IN TXT "v=spf1 a mx ~all"training.com. IN SPF "v=spf1 a mx ~all"

@ IN A 192.168.0.Xserver IN A 192.168.0.Xmail IN A 192.168.0.Xsmtp IN A 192.168.0.Xpop IN A 192.168.0.Ximap IN A 192.168.0.Xwebmail IN A 192.168.0.Xmuita IN A 192.168.0.Xmailbox IN A 192.168.0.X

Page 12: Zimbra Anahuac2

DNS

● Em /etc/resolv.conf

nameserver ip_do_servidor_dns

Page 13: Zimbra Anahuac2

SMTP x ESMTP

SMTP ESMTP

Primeiro comando de conexão:

HELO

Primeiro comando de conexão:

EHLO

RFC 821 RFC 1869

SMTP “MAIL FROM” e “RCPT TO” permite um tamanho de apenas 512

caracteres incluindo o <CRLF>.

ESMTP ‘MAIL FROM’ and “RCPT TO’ permite um tamanho maior do que 512

caracteres.

SMTP puro não pode ser estendido com novos comandos.

ESMTP é um framework que otimiza o SMTP permitindo que se adionem

novos comandos.

Page 14: Zimbra Anahuac2

Introdução ao Zimbra

● Serviço de colaboração

- Email, agenda, tarefas, arquivos...

● Foi software proprietário. Yahoo e VM Ware

● Feito em Java, compilado.

● Pacotes próprios de Postfix, OpenLDAP,

Amavis, MySQL, etc

● Versões NE e OSE

Page 15: Zimbra Anahuac2

ZM - Componentes

● Jetty – Servidor web onde ele é executado

● Postfix – Servidor SMTP

● OpenLDAP – Autenticação

● MySQL – Base de dados principal

● Lucene – Serviço de textos e pesquisas

● Antivirus – ClamAV, SpamAssassin e Amavis

● James/Sieve – Criação de filtros

Page 16: Zimbra Anahuac2

ZM - Pacotes

● zimbra-apache, zimbra-core, zimbra-ldap,

zimbra-logger, zimbra-memcached, zimbra-

mta, zimbra-proxy, zimbra-snmp, zimbra-spell e

zimbra-store

Page 17: Zimbra Anahuac2

ZM – Arquitetura

● Core – Núcleo do Zimbra● LDAP – Autenticação ● MTA – Envio e recebimento de mensagens● Store – Armazenamento● SNMP – Análise e monitoramento● Logger – Registro de atividades● Spell – Correção ortográfica (apache)● Proxy – Serviço POP/IMAP● Memcahe – Cache e otimização de memória

Page 18: Zimbra Anahuac2

ZM - Disponibilidade e Escalabilidade

● Disponibilidade – Somente disponível na versão NE– Na versão OSE com HeartBeat e DRBD

● Escalabilidade– Proveniente do ambiente multi-server

Page 19: Zimbra Anahuac2

ZM – Instalação do Zimbra

1) Download:

http://www.zimbra.com/downloads/os-downloads.html

2) Pré-requisitos

● Pacotes extras: libperl5.10, sysstat e sqlite3

# aptitude install libperl5.10 sysstat sqlite3

● Ao menos 5Gb de espaço livre em /opt

Page 20: Zimbra Anahuac2

ZM – Instalação do Zimbra

3) Instalando

# cd zcs-7.2.0_GA_2669.UBUNTU10_64.20120410002303# ./install.sh

4) Passos

- Concorda com a licença?- Seleção dos pacotes a serem instalados: Y para todos- Resolução de nomes para domínio:

* Muda hostname?* Muda domínio?

- Tela de definições: senha admin, portas e outros.- Tecla “a” confirma- Informar a Zimbra sobre essa instalação?

Page 21: Zimbra Anahuac2

ZM – Pós instalação

● Análise do log de instalação;

# vi /opt/zimbra/log/zmsetup.*

● Serviços e portas iniciadas

# nmap ip_principal

Page 22: Zimbra Anahuac2

ZM – Pós instalação

● Organização dos diretórios

# ls /opt/zimbra

- bin- conf- postfix- store

Page 23: Zimbra Anahuac2

ZM – Console Administrativo● Endereços

- Contas- Nomes alternativos- Listas de distribuição- Recursos (locais ou maquinas - agenda)

● Configuração- Classe de serviço

* Informações gerais* Recursos* Preferências* Temas* Zimlets* Conjunto de servidores* Avançado

Page 24: Zimbra Anahuac2

ZM – Console Administrativo● Configuração

- Domínios

* Informações gerais* Lista global de endereços* Autenticação* Hosts virtuais* Avançado* Interoperação livre/ocupado* Zimlets* Temas* Certificado

Page 25: Zimbra Anahuac2

ZM – Console Administrativo

● Configuração

- Configurações do servidor

* Informações gerais* Serviços* MTA* IMAP* POP* Volumes

Page 26: Zimbra Anahuac2

ZM – Console Administrativo

● Configuração

- Zimlets

* http://gallery.zimbra.com/

* Zimbra Notifier (só para Windows)* Colored E-mails* Downloader* Holiday Calendar* Undo Send

Page 27: Zimbra Anahuac2

ZM – Console Administrativo

● Configuração

- Zimlets

* Instalando

Download → Zimlets → Ditribuir

Page 28: Zimbra Anahuac2

ZM – Console Administrativo

● Configuração

- Extensões administrativas

* http://gallery.zimbra.com/

* Domain Signature Disclaimer

Page 29: Zimbra Anahuac2

ZM – Console Administrativo● Configuração

- Zimlets

- Extensões administrativas

- Configurações globais* Informações gerais* Anexos* MTA* IMAP* POP* AS/AV* Interoperação livre/ocupado* Temas* Avançado

Page 30: Zimbra Anahuac2

ZM – Console Administrativo

● Monitorando

- Status do servidor- Estatísticas do servidor

● Ferramentas

- Filas de e-mail- Atualizações de software- Certificados- Migração de conta

● Buscas

Page 31: Zimbra Anahuac2

ZM – Linha de comando

● 99,9% das vezes, executar como usuário “zimbra”

# zmprov help

● Criando domínios e usuários

# zmprov cd dominio # zmprov ca usuario@dominio senha

Page 32: Zimbra Anahuac2

ZM – Linha de comando

● Modificando usuários

# zmprov ma usuario@dominio zimbraMailQuota cota # zmprov sm usuario@dominio cf /pasta # zmprov sp usuario@dominio senha # zmprov ma usuario@dominio userPassword “hash”

● Listando domínios e usuários

# zmprov gad (get all domains) # zmprov -l gaa dominio (get all accounts)

Page 33: Zimbra Anahuac2

ZM – Linha de comando● Removendo domínios e usuários

# zmprov da usuario@dominio # zmprov dd dominio

● Automatizando criação

* criar um arquivo com lista de domínios (/tmp/arq_dom)* criar um arquivo com lista de usuários (/tmp/arq_usu)

# for each_dom in `cat /tmp/arq_dom` ; do for each_usu in `cat /tmp/arq_usu` ; do zmprov ca $each_usu@$each_dom senha123 ; done ; done

Page 34: Zimbra Anahuac2

ZM – Linha de comando

● Automatizando remoção

* criar um arquivo com lista de domínios# zmprov gad > /tmp/all_doms

* criar um arquivo com lista de usuários de cada domínio e removê-los e remover o domínio

# for each_dom in `cat /tmp/all_doms` ; do zmprov -l gaa $each_dom > /tmp/$each_dom ; for each_usu in `cat /tmp/$each_dom` ; do zmprov da $each_usu ; done ; done

Page 35: Zimbra Anahuac2

ZM – Linha de comando

● Segredos

* Remover botão SPAM

# zmprov mc default zimbraFeatureAntispamEnabled FALSE

* Confirmação de recebimento

# zmprov mc default zimbraFeatureReadReceiptsEnabled TRUE# zmprov mc default zimbraPrefMailSendReadReceipts always

Page 36: Zimbra Anahuac2

ZM – Linha de comando

● Segredos

* LDAP tunning

# zmlocalconfig -e ldap_common_threads=8# zmlocalconfig -e ldap_common_toolthreads=1# zmlocalconfig -e ldap_db_idlcachesize=10000

* Processo de configuração preso

# zmlocalconfig -n zmmtaconfig_interval=86400

Page 37: Zimbra Anahuac2

ZM – Linha de comando

● Segredos

* Impedindo modificações

/opt/zimbra/conf/zmmta.cf

* LDAP tunning

# zmlocalconfig -n zmmtaconfig_interval=86400

* Força o uso de autenticação em ambiente SSL

# zmtlsctl mixed

Page 38: Zimbra Anahuac2

ZM – Linha de comando● Segredos

* Definir host virtual

# zmprov md dominio.foo.bar zimbraVirtualHostname webmail.dominio.foo.bar

* Mudar URL para interface de alteração de senhas

# zmprov md dominio.foo.bar zimbraChangePasswordURL https://webmail.dominio.foo.bar:81/kyapanel

* Limpar cache e forçar mudanças mais rapidamente

# zmprov fc server hostname

Page 39: Zimbra Anahuac2

ZM – Linha de comando

● Ilegais: links e logotipos

* Tentativa de remover o link da tela de login

# zmtlsctl mixed

* Mudar link do logotipo

# zmprov md dominio.foo.bar zimbraSkinLogoURL http://dominio.foo.bar

Page 40: Zimbra Anahuac2

ZM – Linha de comando

● Ilegais: links e logotipos

* Definir outro logotipo na tela de login (450 x 100)

# zmprov md dominio.foo.bar zimbraSkinLogoLoginBanner /path/image.png

* Definir outro logotipo na interface interna (120 x 35)

# zmprov md dominio.foo.bar zimbraSkinLogoAppBanner /path/image.png

OBS: Não esquecer do permissionamento

Page 41: Zimbra Anahuac2

ZM – Testando envio e recebimento● Enviando

* Via interface* Via comando

# export smtp=endereço_ip# echo teste | nail -v -s “Assunto da mensagem” -r [email protected] -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth=login -S [email protected] smtp-auth-password=senha123 [email protected]

Page 42: Zimbra Anahuac2

ZM – Instalação Distribuída

● Separar os serviços (dividir para conquistar)

* LDAP Server* Zimbra MailBoxes* MTA ( SMTP + AVAS )

Page 43: Zimbra Anahuac2

ZM – Instalação Distribuída

● Benefícios

* Escalabilidade● Pode-se crescer, teoricamente, sem limite

* Disponibilidade● Um server cai, mas os demais continuam funcionando

* Desempenho● Carga distribuída combate gargalos como I/O

* A busca pelo servidor certo é automática no login

Page 44: Zimbra Anahuac2

ZM – Instalação Distribuída

● Instalar servidor LDAP

* Instalação normal, selecionando somente os pacotes “zimbra-ldap” e “zimbra-snmp” na lista de pacotes.

* Todos os demais pacotes não devem ser instalados

Page 45: Zimbra Anahuac2

ZM – Instalação Distribuída

● Instalar servidor LDAP

* Atenção para a definição da senha de admin do LDAP( Common Configuration → 2 )

* Atenção com o timezone( Timezone = 30 → América/São Paulo)

Page 46: Zimbra Anahuac2

ZM – Instalação Distribuída

● Instalar servidor LDAP

* No menu principal selecione 2 → zimbra-ldap

* Defina todas as senhas

Page 47: Zimbra Anahuac2

ZM – Instalação Distribuída● Instalar servidor Mailbox

* O pacote zimbra-logger só é instalado no primeiro servidor Mailbox

* Serão instalados os pacotes abaixo:

* Os pacotes zimbra-memcached, zimbra-proxy e zimbra-snmp também

Page 48: Zimbra Anahuac2

ZM – Instalação Distribuída

● Instalar servidor Mailbox

* Configurar o servidor LDAP no menu abaixo (2):

* Definir senha também (4)

* Definir timezone igual ao do servidor LDAP

Page 49: Zimbra Anahuac2

ZM – Instalação Distribuída● Instalar servidor Mailbox

* Admin Password* SMTP Host → ainda não foi instalado, mas...

Page 50: Zimbra Anahuac2

ZM – Instalação Distribuída

● Instalar servidor Mailbox

* Definir a senha do nginx 5 → 7

Page 51: Zimbra Anahuac2

ZM – Instalação Distribuída

● Instalar servidor MTA

* Apenas o pacote zimbra-mta é instalado

* Se for usar SNMP deve instalar em todos os servidores

Page 52: Zimbra Anahuac2

ZM – Instalação Distribuída

● Instalar servidor MTA

* Configurar:

Page 53: Zimbra Anahuac2

ZM – Instalação Distribuída

● Instalar servidor MTA

* Configurar:

* LDAP → 1 → 2* LDAP Admin password → 1 → 4

* MTA Auth host → 2 →2 (Um servidor Mailbox)* Postfix user → 2 → 6* Amavis user → 2 → 7

Page 54: Zimbra Anahuac2

ZM – Migração

● Com mesmo hostname e endereço IP

● Na máquina de Origem

* Parar o Zimbra

● Na máquina de destino

* Instalar a mesma versão do Linux* Instalar a mesma versão do Zimbra* Parar o Zimbra* Remover o conteúdo de /opt/zimbra/* Usar o rsync para copiar tudo:

# rsync -avHS ip_de_origem:/opt/zimbra/* /opt/zimbra

Page 55: Zimbra Anahuac2

ZM – Migração

● Com endereço IP diferente

● Se for na mesma sub-rede (sub net mask) tudo bem. Nada precisa ser feito além de ajustar o DNS

● Na máquina de destino

Se for em outra rede, será necessário ajustar o parâmetro zimbraMtaMyNetworks com o comando abaixo:

# zmprov modifyServer hostname_do_servidor zimbraMtaMyNetworks '127.0.0.0/8 novo_endereco_ip'

Page 56: Zimbra Anahuac2

ZM – Backup

● Completo

● Implica em copiar todo o /opt/zimbra.

● Prós:

* Restauração garantida;* Recuperação de desastres garantida;

● Contras:

* Muita área;* Restauração parcial problemática

Page 57: Zimbra Anahuac2

ZM – Backup

● Somente das caixas

● Implica em copiar os usuários um por um

● Prós:

* Restauração parcial facilitada;* Pode-se fazer backup incremental por usuário

● Contras:

* Restauração completa mais trabalhosa;* Recuperação de desastres é improvável.

Page 58: Zimbra Anahuac2

ZM – Backup

● Misto: completo + caixas postais

● Implica em copiar os usuários um por um

● Prós

* Todos

● Contras:

* Muito espaço

Page 59: Zimbra Anahuac2

ZM – Backup

● Backup completo: How To

# rsync -avhS --delete origem destino

● Diariamente ou até duas vezes por dia● Cuidado com o I/O

Page 60: Zimbra Anahuac2

ZM – Backup

● Backup de caixa postal

● Usando SOAP - Protocolo Simples de Acesso a Objetos● Usando “curl” como ferramenta:

# curl -k -u admin:senha https://serverhost:7071/home/conta/?fmt=tgz> arquivo.tgz

Page 61: Zimbra Anahuac2

ZM – Backup

● Backup das informações LDAP de caixa postal

● Usando ldapsearch

# ldapsearch -x -H ldapserver -D admin -w senha-b '' -LLL "(zimbraMailDeliveryAddress=caixa_postal)"

> caixa_postal.ldiff

Page 62: Zimbra Anahuac2

ZM – Backup - zmbkpose

● Script pronto

● zmbkpose

● Desenvolvido por um brasileiro;● Shell script, usando SOAP e curl;● Permite backup e restore de caixas postais individuais e em

lote● Tem que instalar o curl

# aptitude install curl

Page 63: Zimbra Anahuac2

ZM – Backup - zmbkpose

● Configurando zmbkpose

● Criar /etc/zmbkpose e copiar zmbkpose.conf para láDefinir

# mkdir /etc/zmbkpose ; cp zmbpkose.conf /etc/zmbkpose

● Editar zmbkpose.conf

ADMINUSERADMINPASSLDAPMASTERSERVERLDAPZIMBRAPASSPARALLEL_SUPPORTMAX_PARALLEL_PROCESS

Page 64: Zimbra Anahuac2

ZM – Backup - zmbkpose

● Configurando zmbkpose

● Copiar o script para /usr/bin e definir permissionamento

# cp zmbkpose /usr/bin# chmod +x /usr/bin/zmbkpose

Page 65: Zimbra Anahuac2

ZM – Backup - zmbkpose

● Executando zmbkpose

# su zimbra# zmbkpose -h # zmbkpose -f# zmbkpose -i

Page 66: Zimbra Anahuac2

ZM – Backup - zmbkpose

● Restaurando uma conta

● Corrigir a linha 280 do zmbkpose

| awk '{print $2}'

por

| cut -d: -f1

# zmbkpose -r conta@dominio data(MM/DD/AA)

Page 67: Zimbra Anahuac2

ZM – Recuperação de Desastres

● Restaurar backup completo e ajustar o permissionamento

● Restaurar com cp ou rsync● Redefinir os permissionamentos

# chown -R zimbra:zimbra /opt/zimbra# /opt/zimbra/libexec/zmfixperms

Page 68: Zimbra Anahuac2

ZM – Troubleshooting

● Consiste na avaliação dos logs de registro

● /opt/zimbra/log

mailbox.logaccess_log.*backup.log

Page 69: Zimbra Anahuac2

ZM – MySql - Integridade

● Consiste na avaliação dos logs de registro

● /opt/zimbra/libexec/zmdbintegrityreport

● /opt/zimbra/mysql/bin/mysqlcheck --defaults-file=/opt/zimbra/conf/my.cnf -S /opt/zimbra/db/mysql.sock -A -C -s -u root --password=xxxxxxx

Page 70: Zimbra Anahuac2

ZM – KyaPanel

● Sistema de gestão de servidores de E-mail

● Permite gestão independente de múltiplos domínios● Gestão personalizada por domínio e por usuário● Backup e restore integrado● Gestão personalizada de spam

● Ainda não gerencia ambientes multi-node

Page 71: Zimbra Anahuac2

ZM – KyaPanel● Baixando, instalando e configurando

● Baixando de http://www.kyapanel.com● Para o Zimbra● Instala os pacotes abaixo:

# aptitude install bc slapd apache2 ldap-utils libapache2-mod-php5 libpam-ldap libdb4.8 phpldapadmin php5-ldap php5-cgi db4.8-util postfix-ldap courier-base courier-imap courier-ldap courier-pop courier-authdaemon libfile-tail-perl librrds-perl librrd4 heirloom-mailx maildrop munin munin-node gettext rrdtool sqlite tcputils xinetd bc maildrop uudeview ytnef

● Basta responder de forma padrão qualquer tela de configuração

Page 72: Zimbra Anahuac2

ZM – KyaPanel

● Baixando, instalando e configurando

● Apontar o navegador para http://endereçoip/kyapanel● Basta seguir as orientações do instalador até finalizar a

instalação do KyaPanel● Remover courier, slapd e postfix da inicialização (rcconf)

● Como o objetivo é integrar com Zimbra, antes de configurar os demais serviços, vamos fazer a integração.

# cd /usr/share/kyapanel/mail/zimbra# ./