Como configurar corretamente o SNI no Zimbra OSE?

No início do século 21, um recurso como os endereços IPv4 estava à beira da exaustão. Já em 2011, a IANA alocou os últimos cinco blocos /8 do seu espaço de endereçamento para os registradores de internet regionais, e em 2017, os endereços acabaram para eles também. A resposta à catastrófica escassez de endereços IPv4 não foi apenas o surgimento do protocolo IPv6, mas também a tecnologia SNI, que permitiu hospedar um grande número de sites em um único endereço IPv4. A essência do SNI é que essa extensão permite que os clientes informem ao servidor, durante o handshake, o nome do site com o qual desejam se conectar. Isso permite que o servidor armazene múltiplos certificados, garantindo assim o funcionamento de vários domínios em um único endereço IP. A tecnologia SNI se tornou especialmente demandada entre provedores de SaaS para negócios, que agora têm a capacidade de hospedar praticamente um número ilimitado de domínios sem se preocupar com a quantidade necessária de endereços IPv4. Vamos descobrir como implementar o suporte ao SNI no Zimbra Collaboration Suite Open-Source Edition.

Como configurar corretamente o SNI no Zimbra OSE?

O SNI funciona em todas as versões atuais e suportadas do Zimbra OSE. Se você estiver usando o Zimbra Open-Source em uma infraestrutura multisservidor, você precisará executar todas as etapas abaixo no nó com o servidor Proxy Zimbra instalado. Além disso, serão necessárias pares correspondentes de certificado+chave, bem como cadeias de certificados confiáveis de sua autoridade certificadora para cada um dos domínios que você deseja hospedar em seu endereço IPv4. Chamamos sua atenção para o fato de que a maioria dos erros na configuração do SNI no Zimbra OSE é devido a arquivos de certificados incorretos. Portanto, recomendamos verificar tudo minuciosamente antes da instalação.

Primeiramente, para que o SNI funcione corretamente, é necessário inserir o comando zmprov mcf zimbraReverseProxySNIEnabled TRUE no nó com o servidor proxy Zimbra, e depois reiniciar o serviço Proxy usando o comando zmproxyctl restart.

Começaremos criando um nome de domínio. Para exemplo, usaremos o domínio company.ru e, após criar o domínio, vamos definir o nome do host virtual do Zimbra e o endereço IP virtual. É importante observar que o nome do host virtual do Zimbra deve corresponder ao nome que o usuário deve inserir na barra de endereços do navegador para acessar o domínio, além de coincidir com o nome especificado no certificado. Para exemplificar, vamos usar como nome do host virtual do Zimbra mail.company.ru, e como endereço IPv4 virtual, usaremos o endereço 1.2.3.4.

Após isso, basta inserir o comando zmprov md company.ru zimbraVirtualHostName mail.company.ru zimbraVirtualIPAddress 1.2.3.4, para vincular o host virtual do Zimbra ao virtual endereço IP. Lembre-se de que, se o servidor estiver atrás de NAT ou de um firewall, é necessário garantir que todas as solicitações para o domínio sejam direcionadas ao endereço IP externo vinculado, e não ao seu endereço na rede local.

Depois que tudo estiver feito, basta verificar e preparar os certificados do domínio para instalação, e então instalá-los.

Se a emissão do certificado para o domínio ocorreu corretamente, você deve ter três arquivos de certificados: dois deles representam as cadeias de certificados do seu centro de certificação, e um é o certificado do domínio em si. Além disso, você deve ter um arquivo com a chave que usou para obter o certificado. Crie uma pasta separada /tmp/company.ru e coloque todos os arquivos de chaves e certificados disponíveis lá. No final, deve ficar algo assim:

ls /tmp/company.ru
company.ru.key
 company.ru.crt
 company.ru.root.crt
 company.ru.intermediate.crt

Depois, vamos unir as cadeias de certificados em um único arquivo usando o comando cat company.ru.root.crt company.ru.intermediate.crt >> company.ru_ca.crt e vamos confirmar que os certificados estão em ordem usando o comando /opt/zimbra/bin/zmcertmgr verifycrt comm /tmp/company.ru/company.ru.key /tmp/company.ru/company.ru.crt /tmp/company.ru/company.ru_ca.crt. Após a verificação bem-sucedida dos certificados e da chave, podemos prosseguir com a instalação deles.

Para começar a instalação, primeiro vamos unir o certificado do domínio e as cadeias de confiança dos centros de certificação em um único arquivo. Isso também é feito usando um comando do tipo cat company.ru.crt company.ru_ca.crt >> company.ru.bundle. Depois disso, é necessário executar o comando para gravar todos os certificados e a chave no LDAP: /opt/zimbra/libexec/zmdomaincertmgr savecrt company.ru company.ru.bundle company.ru.key, e então instalar os certificados com o comando /opt/zimbra/libexec/zmdomaincertmgr deploycrtsApós a instalação, os certificados e a chave do domínio company.ru serão armazenados na pasta /opt/zimbra/conf/domaincerts/company.ru. 

Ao repetir essas ações usando diferentes nomes de domínio, mas com o mesmo endereço IP, é possível hospedar várias centenas de domínios em um único endereço IPv4. Além disso, é possível usar sem qualquer problema certificados de diferentes autoridades certificadoras. A validade de todas as ações realizadas pode ser verificada em qualquer navegador, onde cada nome de host virtual deve exibir o seu certificado SSL. 

Para qualquer questão relacionada ao Zextras Suite, você pode entrar em contato com a representante da empresa «Zextras», Ekaterina Triandafiliadi, pelo e-mail katerina@zextras.com

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster