Configuração de SSL
Habilitar SSL
O SSL pode ser habilitado 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 estará em vigor.
A porta SSL padrão para CycleCloud é a porta 8443. Se você quiser executar comunicações da Web criptografadas em alguma outra porta, poderá alterar a webServerSslPort
propriedade para o novo valor de porta. Verifique se os webServerSslPort
valores e os webServerPort
valores NÃO ENTRAM EM CONFLITO.
Depois de editar o 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/
verificar a conexão SSL.
Observação
Se a URL HTTPS não funcionar, verifique o <CycleCloud Home>/logs/catalina.err e <CycleCloud Home>/logs/cycle_server.log para obter mensagens de erro que podem indicar por que o canal criptografado não está respondendo.
certificados Self-Generated
Se você não tiver um certificado de uma AC (Autoridade de Certificação), como o VeriSign, poderá usar o certificado autoassinado gerado automaticamente fornecido com o Azure CycleCloud. Essa é uma maneira rápida de começar a usar o SSL sem 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 navegador para exibir o site, mas o conteúdo e a sessão serão criptografados conforme o esperado.
Aviso
O certificado autoassinado do Azure CycleCloud tem uma vida útil reduzida. Quando ele expirar, os navegadores emitirão novamente o aviso sobre os certificados SSL não confiáveis. Os usuários terão que aceitá-los explicitamente para exibir o console Web.
Trabalhando com Let's Encrypt
O CycleCloud dá suporte a certificados do Let's Encrypt. Para usar Let's Encrypt with CycleCloud, você deve:
- habilitar o SSL na porta 443
- garantir que o CycleCloud seja publicamente acessível pela porta 443 com um nome de domínio externo
Você pode habilitar o suporte ao Let's Encrypt com a opção "SSL" na página de configurações ou executando cycle_server keystore automatic DOMAIN_NAME
no computador CycleCloud.
Trabalhando com certificados CA-Generated
O uso de um certificado gerado pela AC permitirá o acesso da Web à instalação do CycleCloud sem exibir o erro de certificado confiável. Para iniciar o processo, primeiro execute:
./cycle_server keystore create_request <FQDN>
Você será solicitado a fornecer 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 eles fornecerão o certificado assinado final (que será chamado de server.crt abaixo). Você também precisará dos certificados raiz e dos intermediários usados na cadeia entre o novo certificado e o certificado raiz. A AC deve fornecê-las para você. Se eles tiverem fornecido como um único arquivo de certificado, você poderá importá-los com o seguinte comando:
./cycle_server keystore import server.crt
Se eles fornecerem vários arquivos de certificado, você deverá importá-los todos ao mesmo tempo acrescentando 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ê já tiver criado uma AC ou um certificado autoassinado, poderá atualizar o CycleCloud para usá-lo com o seguinte comando:
./cycle_server keystore update server.crt
Se você quiser importar um arquivo PFX, poderá 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.
Por fim, se você fizer alterações no repositório de chaves fora desses comandos, poderá recarregar o repositório de chaves imediatamente no CycleCloud 7.9.7 ou posterior:
./cycle_server keystore reconfig
Configurando o CycleCloud para usar HTTPS nativo
Por padrão, o Azure CycleCloud é configurado para usar a implementação HTTPS de E/S java padrão. Esse padrão funciona bem em todas as plataformas com suporte.
Para melhorar o desempenho durante a execução em plataformas Linux, o CycleCloud pode opcionalmente ser configurado para usar a implementação https nativa do Tomcat.
Para habilitar HTTPS nativo no Linux, adicione os atributos e webServerUseNativeHttps
o webServerEnableHttps
arquivo cycle_server.properties. Abra cycle_server.properties com um editor de texto e defina os seguintes valores:
# Turn on HTTPS
webServerEnableHttps = true
# Use Native HTTPS connector
webServerUseNativeHttps = true
Compatibilidade com versões anteriores para TLS 1.0 e 1.1
Por padrão, os conectores HTTPS nativos e Java serão configurados para usar apenas o protocolo TLS 1.2. Se você precisar oferecer protocolos TLS 1.0 ou 1.1 para clientes Web mais antigos, poderá optar pela compatibilidade com versões anteriores.
Abra cycle_server.properties com um editor de texto e procure o sslEnabledProtocols
atributo:
sslEnabledProtocols="TLSv1.2"
Altere o atributo para uma +
lista delimitada de protocolos que você deseja dar suporte.
sslEnabledProtocols="TLSv1.0+TLSv1.1+TLSv1.2"
Desativar comunicações não criptografadas
A configuração acima permite que conexões HTTP (não criptografadas) sejam feitas, mas elas são redirecionadas para HTTPS para segurança.
Talvez você deseje impedir o acesso não criptografado à instalação do CycleCloud. Para desativar as comunicações não criptografadas, abra o arquivo cycle_server.properties em um editor de texto. Procure a webServerEnableHttp
propriedade e altere-a para:
# HTTP
webServerEnableHttp=false
Salve as alterações e reinicie o CycleCloud. O acesso HTTP ao CycleCloud será desabilitado.