Configuração SSL
Ativar SSL
O SSL pode ser ativado editando o arquivo
# True if SSL is enabled
webServerEnableHttps=true
webServerRedirectHttp=true
Importante
Observe que, ao editar o arquivo
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 webServerPort
NÃO ENTREM EM CONFLITO.
Depois de editar seu arquivo
/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 webServerEnableHttp
e altere-a para:
# HTTP
webServerEnableHttp=false
Salve as alterações e reinicie o CycleCloud. O acesso HTTP ao CycleCloud será desativado.