Olá! Nesse artigo eu gostaria de falar sobre a implementação do TLS 1.3 no Zimbra, que foi promovido a estável nos patchs 20 e 13 das versões 8.8.15 e 9.0.0, respectivamente:

https://wiki.zimbra.com/wiki/Zimbra_Releases/9.0.0/P13

https://wiki.zimbra.com/wiki/Zimbra_Releases/8.8.15/P20

Para habilitar o TLS 1.3 é necessário que o seu ambiente esteja com as seguintes versões ou superiores:

8.8.15 Patch 20

9.0.0 Patch 13

Para habilitar, é necessário aplicar as configurações nos componentes Proxy e Mailbox, portanto, se estiver em um ambiente Multi Server, aplique as configurações em cada servidor com estes serviços.

Habilitando o TLS 1.3 no Proxy:

$ zmprov mcf +zimbraReverseProxySSLProtocols TLSv1.3

Adicione a cifra TLS_AES_256_GCM_SHA384:

zmprov mcf zimbraReverseProxySSLCiphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:TLS_AES_256_GCM_SHA384:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4'

Reinicie o serviço do Proxy:

$ zmproxyctl restart

Habilitando o TLS 1.3 no Mailbox:

Esta configuração exige um pouco mais de atenção, pois você precisa ajustar o parâmetro mailboxd_java_options com valores do seu ambiente, adicionando “TLSv1.3” nas opções “https.protocol” e “tls.client.protocols”

Exemplo:

Obtendo os valores do ambiente:

$ zmlocalconfig mailboxd_java_options
mailboxd_java_options = -server -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2 -Djava.awt.headless=true -Dsun.net.inetaddr.ttl=${networkaddress_cache_ttl} -Dorg.apache.jasper.compiler.disablejsr199=true -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=1 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=15 -XX:G1MaxNewSizePercent=45 -XX:-OmitStackTraceInFastThrow -verbose:gc -Xlog:gc*=info,safepoint=info:file=/opt/zimbra/log/gc.log:time:filecount=20,filesize=10m -Djava.net.preferIPv4Stack=true

Modicando os parâmetros copiando o conteúdo e alterando somente as duas opções citadas acima:

$ zmlocalconfig -e mailboxd_java_options='-server -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3 -Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3 -Djava.awt.headless=true -Dsun.net.inetaddr.ttl=${networkaddress_cache_ttl} -Dorg.apache.jasper.compiler.disablejsr199=true -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=1 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=15 -XX:G1MaxNewSizePercent=45 -XX:-OmitStackTraceInFastThrow -verbose:gc -Xlog:gc*=info,safepoint=info:file=/opt/zimbra/log/gc.log:time:filecount=20,filesize=10m -Djava.net.preferIPv4Stack=true'

Reinicie o serviço do Mailbox:

$ zmmailboxdctl restart

2 respostas a “Zimbra: Habilitando TLS 1.3 (8.8.15 e 9.0.0)”

  1. Avatar de Michel Rocheles Kannenberg
    Michel Rocheles Kannenberg

    Boa tarde Fábio

    Meu servidor Zimbra estava com a versão 8.6.0. Para fazer a implementação do TLSv1.3 conforme seu artigo, fiz a atualização do Zimbra para Release 8.8.15.GA.3869 Patch 8.8.15_P21. Tudo ocorreu bem.

    Porém ao habilitar o TLS 1.3 no Mailbox após reiniciar o serviço o mesmo não subiu. Até reiniciar o proxy deu tudo certo.

    único log que relatou algum erro foi no arquivo de log “zmmailboxd.out” com a seguinte mensagem:
    error could not create the java virtual machine

    Vi no seu artigo “Zimbra: Serviço mailbox não inicia após atualização para a versão 8.8.15” que detectasse um erro de parametros no arquivo “mailboxd_java_options”.

    Juntei uma peça com outra e vi que meu arquivo “mailboxd_java_options” estão com menos parâmetros que o teu arquivo exibido aqui neste artigo, esse é o meu “mailboxd_java_options”:

    mailboxd_java_options = -server -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2 -Djava.awt.headless=true -Dsun.net.inetaddr.ttl= -Dorg.apache.jasper.compiler.disablejsr199=true -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=1 -XX:-OmitStackTraceInFastThrow -verbose:gc -Xlog:gc*=debug,safepoint=info:file=/opt/zimbra/log/gc.log:time:filecount=20,filesize=10m -Djava.net.preferIPv4Stack=true

    Além de não estar com os parâmetros novos do TLSv1.3 (não estão para não confundir) não tenho os seguintes parâmetros iguais ao teu arquivo:
    Dsun.net.inetaddr.ttl=${networkaddress_cache_ttl}
    -XX:+UnlockExperimentalVMOptions
    -XX:G1NewSizePercent=15
    -XX:G1MaxNewSizePercent=45

    Pode ser que o erro está ocorrendo por falta destes parâmentros?

    Obrigado pela ajuda.

  2. Avatar de Michel R. Kannenberg
    Michel R. Kannenberg

    Bom dia,

    Neste fim de semana coloquei os parâmetros faltantes no arquivo “mailboxd_java_options”. Ao reiniciar o Mailbox subiu tudo certo, sem erros.

Deixe um comentário

Tendência