Zimbra Anahuac2

3,304
-1

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,304
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
75
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Zimbra Anahuac2

  1. 1. ApresentaçãoProfessor: Anahuac de Paula Gil Membro da comunidade SL desde 1996 Criador e mantenedor do KyaPanel Autor do livro OpenLDAP Extreme
  2. 2. AulasPeríodo: de 19 a 30 de novembroHorário: das 08:30 às 12:30 diariamenteIntervalo: das 10:30 às 10:45Método: práticoMeio: on-line em laboratórioMaterial: slides + manuais oficiais em en_US
  3. 3. InfraRecurso: VirtualBoxSO: Ubuntu Server 10.04 - LTSAplicativo: Zimbra OSE – 7.2.0
  4. 4. Infra – Copiando as VMsCó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
  5. 5. 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.
  6. 6. FundamentosServiço de correio eletrônico ● SMTP ● POP/IMAP ● Base de usuários ● Anti Vírus ● Anti Spam ● Greylist ● SPF ● Gotcha
  7. 7. Fundamentos
  8. 8. 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"
  9. 9. 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"; };
  10. 10. 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.X server IN A 192.168.0.X mail IN A 192.168.0.X smtp IN A 192.168.0.X pop IN A 192.168.0.X imap IN A 192.168.0.X webmail IN A 192.168.0.X muita IN A 192.168.0.X mailbox IN A 192.168.0.X
  11. 11. 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.X server IN A 192.168.0.X mail IN A 192.168.0.X smtp IN A 192.168.0.X pop IN A 192.168.0.X imap IN A 192.168.0.X webmail IN A 192.168.0.X muita IN A 192.168.0.X mailbox IN A 192.168.0.X
  12. 12. DNS● Em /etc/resolv.conf nameserver ip_do_servidor_dns
  13. 13. SMTP x ESMTP SMTP ESMTP Primeiro comando de conexão: Primeiro comando de conexão: HELO EHLO RFC 821 RFC 1869 SMTP “MAIL FROM” e “RCPT TO” ESMTP ‘MAIL FROM’ and “RCPT TO’ permite um tamanho de apenas 512 permite um tamanho maior do que 512 caracteres incluindo o <CRLF>. caracteres. SMTP puro não pode ser estendido ESMTP é um framework que otimiza o com novos comandos. SMTP permitindo que se adionem novos comandos.
  14. 14. 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
  15. 15. 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
  16. 16. ZM - Pacotes● zimbra-apache, zimbra-core, zimbra-ldap, zimbra-logger, zimbra-memcached, zimbra- mta, zimbra-proxy, zimbra-snmp, zimbra-spell e zimbra-store
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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?
  21. 21. 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
  22. 22. ZM – Pós instalação● Organização dos diretórios # ls /opt/zimbra - bin - conf - postfix - store
  23. 23. 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
  24. 24. 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
  25. 25. ZM – Console Administrativo● Configuração - Configurações do servidor * Informações gerais * Serviços * MTA * IMAP * POP * Volumes
  26. 26. ZM – Console Administrativo● Configuração - Zimlets * http://gallery.zimbra.com/ * Zimbra Notifier (só para Windows) * Colored E-mails * Downloader * Holiday Calendar * Undo Send
  27. 27. ZM – Console Administrativo● Configuração - Zimlets * Instalando Download → Zimlets → Ditribuir
  28. 28. ZM – Console Administrativo● Configuração - Extensões administrativas * http://gallery.zimbra.com/ * Domain Signature Disclaimer
  29. 29. 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
  30. 30. 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
  31. 31. 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
  32. 32. 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)
  33. 33. 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
  34. 34. 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
  35. 35. 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
  36. 36. 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
  37. 37. 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
  38. 38. 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
  39. 39. 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 zimbraSkinLogoURLhttp://dominio.foo.bar
  40. 40. 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
  41. 41. ZM – Testando envio e recebimento● Enviando * Via interface * Via comando # export smtp=endereço_ip # echo teste | nail -v -s “Assunto da mensagem” -r anahuac@anahuac.biz -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth=login -S smtp-auth-user=usuario@dominio.foo.bar -S smtp-auth-password=senha123 destinatario@dominio.foo.bar
  42. 42. ZM – Instalação Distribuída● Separar os serviços (dividir para conquistar) * LDAP Server * Zimbra MailBoxes * MTA ( SMTP + AVAS )
  43. 43. 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
  44. 44. 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
  45. 45. 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)
  46. 46. ZM – Instalação Distribuída● Instalar servidor LDAP * No menu principal selecione 2 → zimbra-ldap * Defina todas as senhas
  47. 47. 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
  48. 48. 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
  49. 49. ZM – Instalação Distribuída● Instalar servidor Mailbox * Admin Password * SMTP Host → ainda não foi instalado, mas...
  50. 50. ZM – Instalação Distribuída● Instalar servidor Mailbox * Definir a senha do nginx 5 → 7
  51. 51. ZM – Instalação Distribuída● Instalar servidor MTA * Apenas o pacote zimbra-mta é instalado * Se for usar SNMP deve instalar em todos os servidores
  52. 52. ZM – Instalação Distribuída● Instalar servidor MTA * Configurar:
  53. 53. 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
  54. 54. 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
  55. 55. 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
  56. 56. 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
  57. 57. 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.
  58. 58. ZM – Backup● Misto: completo + caixas postais ● Implica em copiar os usuários um por um ● Prós * Todos ● Contras: * Muito espaço
  59. 59. ZM – Backup● Backup completo: How To # rsync -avhS --delete origem destino ● Diariamente ou até duas vezes por dia ● Cuidado com o I/O
  60. 60. 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
  61. 61. 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
  62. 62. 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
  63. 63. 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 ADMINUSER ADMINPASS LDAPMASTERSERVER LDAPZIMBRAPASS PARALLEL_SUPPORT MAX_PARALLEL_PROCESS
  64. 64. ZM – Backup - zmbkpose● Configurando zmbkpose ● Copiar o script para /usr/bin e definir permissionamento # cp zmbkpose /usr/bin # chmod +x /usr/bin/zmbkpose
  65. 65. ZM – Backup - zmbkpose● Executando zmbkpose # su zimbra # zmbkpose -h # zmbkpose -f # zmbkpose -i
  66. 66. 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)
  67. 67. 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
  68. 68. ZM – Troubleshooting● Consiste na avaliação dos logs de registro ● /opt/zimbra/log mailbox.log access_log.* backup.log
  69. 69. 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
  70. 70. 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
  71. 71. 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
  72. 72. 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 # ./

×