zimbra anahuac2

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

Upload: anahuac2

Post on 07-Jul-2015

3.215 views

Category:

Technology


10 download

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# ./