Partilhar via


Configuração SSL

Ativar SSL

O SSL pode ser ativado editando o arquivo cycle_server.properties encontrado no diretório de instalação do CycleCloud. Abra o arquivo cycle_server.properties com um editor de texto e defina os seguintes valores adequadamente:

# True if SSL is enabled
webServerEnableHttps=true
webServerRedirectHttp=true

Importante

Observe que, ao editar o arquivo cycle_server.properties, é importante que você primeiro procure definições de valor de chave pré-existentes no arquivo. Se houver mais de uma definição, a última está em vigor.

A porta SSL padrão para o CycleCloud é a porta 8443. Se você quiser executar comunicações da Web criptografadas em alguma outra porta, poderá alterar a propriedade webServerSslPort para o novo valor de porta. Certifique-se de que os valores webServerSslPort e webServerPortNÃO ENTREM EM CONFLITO.

Depois de editar seu arquivo cycle_server.properties, você precisará reiniciar o CycleCloud para que o canal de comunicação criptografado seja ativado:

/opt/cycle_server/cycle_server restart

Supondo que você não alterou a porta SSL para CycleCloud ao configurá-la para comunicações criptografadas, agora você pode ir para http://<my CycleCloud address>:8443/ para verificar a conexão SSL.

Observação

Se o URL HTTPS não funcionar, verifique o <CycleCloud Home>/logs/catalina.err e <CycleCloud Home>/logs/cycle_server.log para mensagens de erro que possam indicar por que o canal criptografado não está respondendo.

Self-Generated Certificados

Se você não tiver um certificado de uma Autoridade de Certificação (CA), como a VeriSign, poderá usar o certificado autoassinado gerado automaticamente fornecido com o Azure CycleCloud. Esta é uma maneira rápida de começar a usar SSL sem nenhum custo, mas a maioria dos navegadores da Web exibirá um aviso informando que uma autoridade confiável não verificou o certificado que está sendo usado para criptografar o canal. Para alguns casos, como implantações internas do CycleCloud em redes seguras, isso é aceitável. Os usuários terão que adicionar uma exceção ao seu navegador para visualizar o site, mas o conteúdo e a sessão serão criptografados conforme o esperado.

Advertência

O certificado autoassinado do Azure CycleCloud tem uma vida útil reduzida. Quando expirar, os navegadores emitirão novamente o aviso sobre os certificados SSL não serem confiáveis. Os usuários terão que aceitá-los explicitamente para visualizar o console da Web.

Trabalhando com Let's Encrypt

O CycleCloud suporta certificados do Let's Encrypt. Para usar o Let's Encrypt com o CycleCloud, você deve:

  • ativar a ligação SSL na porta 443
  • garantir que o CycleCloud esteja publicamente acessível pela porta 443 com um nome de domínio externo

Você pode ativar o suporte Let's Encrypt com a opção "SSL" na página de configurações, ou executando cycle_server keystore automatic DOMAIN_NAME da máquina CycleCloud.

Trabalhando com certificados CA-Generated

O uso de um certificado gerado por CA permitirá o acesso da Web à sua instalação do CycleCloud sem exibir o erro de certificado confiável. Para iniciar o processo, primeiro execute:

./cycle_server keystore create_request <FQDN>

Ser-lhe-á pedido que forneça um nome de domínio, que é o campo "Nome comum" no certificado assinado. Isso gerará um novo certificado autoassinado para o domínio especificado e gravará um arquivo cycle_server.csr. Você deve fornecer o CSR a uma autoridade de certificação e ela fornecerá o certificado assinado final (que será referido como server.crt abaixo). Você também precisará dos certificados raiz e quaisquer intermediários usados na cadeia entre o novo certificado e o certificado raiz. A autoridade de certificação deve fornecê-los para você. Se eles os forneceram agrupados como um único arquivo de certificado, você pode importá-los com o seguinte comando:

./cycle_server keystore import server.crt

Se eles forneceram vários arquivos de certificado, você deve importá-los todos de uma vez anexando os nomes a esse mesmo comando, separados por espaços:

./cycle_server keystore import server.crt ca_cert_chain.crt

Importar certificados existentes

Se você criou anteriormente uma autoridade de certificação ou um certificado autoassinado, pode atualizar o CycleCloud para usá-lo com o seguinte comando:

./cycle_server keystore update server.crt

Se você quiser importar um arquivo PFX, você pode fazê-lo com o seguinte comando no CycleCloud 7.9.7 ou posterior:

./cycle_server keystore import_pfx server.pfx --pass PASSWORD

Observe que o arquivo PFX só pode conter uma entrada.

Finalmente, se fizer alterações no keystore fora desses comandos, pode recarregar o keystore imediatamente no CycleCloud 7.9.7 ou posterior.

./cycle_server keystore reconfig

Detalhes da implementação do Keystore

Os certificados para o CycleCloud são armazenados em /opt/cycle_server/config/private/keystore, além de outros certificados necessários para a operação. A seguir está uma lista não exaustiva dos itens armazenados no armazenamento de chaves:

Aliás Finalidade
identidade Contém a cadeia de certificados para a interface da Web voltada para o usuário (porta 443 ou 8443)
identidade de cluster Mantém a cadeia de certificados para que os nós se conectem ao CycleCloud (porta 9443)
raiz Contém o certificado usado para assinar todos os certificados locais, incluindo identidade de cluster

O armazenamento de chaves pode ser inspecionado com o ficheiro de armazenamento de chaves do Java. Por exemplo, o comando a seguir listará todos os itens no keystore:

keytool -list -keystore /opt/cycle_server/config/private/keystore -storepass changeit

Os comandos cycle_server acima atualizam o alias identity. A atualização de outras entradas, incluindo os certificados cluster-identity ou root, NÃO suportada.

O keystore pode ser modificado diretamente, mas isso não é recomendado. Em geral, as alterações exigirão uma reinicialização do CycleServer para entrar em vigor.

Advertência

Alterar o conteúdo do keystore pode resultar em clusters que não funcionam! Sempre faça um backup antes de modificá-lo.

A senha do armazenamento de chaves está changeit e não pode ser alterada no momento. No entanto, o arquivo é legível e gravável apenas pelo usuário cycle_server.

Compatibilidade com versões anteriores para TLS 1.0 e 1.1

Por padrão, o CycleServer será configurado para usar apenas o protocolo TLS 1.2. Se você precisar oferecer protocolos TLS 1.0 ou 1.1 para clientes da Web mais antigos, você pode optar pela compatibilidade com versões anteriores.

Abra cycle_server.properties com um editor de texto e procure o atributo sslEnabledProtocols:

sslEnabledProtocols="TLSv1.2"

Altere o atributo para uma lista + delimitada de protocolos que você deseja suportar.

sslEnabledProtocols="TLSv1.0+TLSv1.1+TLSv1.2"

Desativar comunicações não encriptadas

A configuração acima permite que conexões não criptografadas (HTTP) sejam feitas, mas elas são redirecionadas para HTTPS por segurança. Você pode querer impedir o acesso não criptografado à sua instalação do CycleCloud. Para desativar as comunicações não encriptadas, abra o ficheiro cycle_server.properties num editor de texto. Procure a propriedade webServerEnableHttp e altere-a para:

# HTTP
webServerEnableHttp=false

Salve as alterações e reinicie o CycleCloud. O acesso HTTP ao CycleCloud será desativado.