Configuración de SSL

Habilitar SSL

SSL se puede habilitar editando el archivo cycle_server.properties que se encuentra en el directorio de instalación de CycleCloud. Abra el archivo cycle_server.properties con un editor de texto y establezca los siguientes valores correctamente:

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

Importante

Tenga en cuenta que, al editar el archivo cycle_server.properties , es importante que primero busque definiciones clavevalores preexistentes en el archivo. Si hay más de una definición, la última está en vigor.

El puerto SSL predeterminado para CycleCloud es el puerto 8443. Si desea ejecutar comunicaciones web cifradas en algún otro puerto, puede cambiar la webServerSslPort propiedad al nuevo valor de puerto. Asegúrese de que los webServerSslPortwebServerPort valores y NO ENTRAN EN CONFLICTO.

Después de editar el archivo cycle_server.properties , deberá reiniciar CycleCloud para que el canal de comunicación cifrado active:

/opt/cycle_server/cycle_server restart

Suponiendo que no cambió el puerto SSL de CycleCloud al configurarlo para las comunicaciones cifradas, ahora puede ir a para http://<my CycleCloud address>:8443/ comprobar la conexión SSL.

Nota:

Si la dirección URL HTTPS no funciona, compruebe cycleCloud< Home>/logs/catalina.err y <CycleCloud Home>/logs/cycle_server.log para ver los mensajes de error que podrían indicar por qué el canal cifrado no responde.

certificados de Self-Generated

Si no tiene un certificado de una entidad de certificación (CA), como VeriSign, puede usar el certificado autofirmado generado automáticamente proporcionado con Azure CycleCloud. Esta es una forma rápida de empezar a usar SSL sin costo alguno, pero la mayoría de los exploradores web mostrarán una advertencia que indica que una entidad de confianza no ha comprobado el certificado que se usa para cifrar el canal. En algunos casos, como las implementaciones internas de CycleCloud en redes seguras, esto es aceptable. Los usuarios tendrán que agregar una excepción a su explorador para ver el sitio, pero el contenido y la sesión se cifrarán según lo previsto.

Advertencia

El certificado autofirmado de Azure CycleCloud tiene una vida útil reducida. Cuando expire, los exploradores volverán a emitir la advertencia sobre los certificados SSL que no son de confianza. Los usuarios tendrán que aceptarlos explícitamente para ver la consola web.

Trabajar con Let's Encrypt

CycleCloud admite certificados de Let's Encrypt. Para usar Let's Encrypt con CycleCloud, debe hacer lo siguiente:

  • habilitar SSL en el puerto 443
  • asegúrese de que CycleCloud sea accesible públicamente a través del puerto 443 con un nombre de dominio externo.

Puede habilitar la compatibilidad con Let's Encrypt con la opción "SSL" en la página de configuración o mediante la ejecución cycle_server keystore automatic DOMAIN_NAME desde la máquina CycleCloud.

Trabajar con certificados de CA-Generated

El uso de un certificado generado por ca permitirá el acceso web a la instalación de CycleCloud sin mostrar el error de certificado de confianza. Para iniciar el proceso, ejecute primero:

./cycle_server keystore create_request <FQDN>

Se le pedirá que proporcione un nombre de dominio, que es el campo "Nombre común" en el certificado firmado. Esto generará un nuevo certificado autofirmado para el dominio especificado y escribirá un archivo cycle_server.csr. Debe proporcionar la CSR a una entidad de certificación y proporcionará el certificado firmado final (que se denominará server.crt a continuación). También necesitará los certificados raíz y los intermedios usados en la cadena entre el nuevo certificado y el certificado raíz. La ENTIDAD de certificación debe proporcionarlas. Si los han proporcionado agrupados como un único archivo de certificado, puede importarlos con el siguiente comando:

./cycle_server keystore import server.crt

Si proporcionaron varios archivos de certificado, debe importarlos todos a la vez anexando los nombres a ese mismo comando, separados por espacios:

./cycle_server keystore import server.crt ca_cert_chain.crt

Importar certificados existentes

Si ha creado previamente una entidad de certificación o un certificado autofirmado, puede actualizar CycleCloud para usarlo con el siguiente comando:

./cycle_server keystore update server.crt

Si desea importar un archivo PFX, puede hacerlo con el siguiente comando en CycleCloud 7.9.7 o posterior:

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

Tenga en cuenta que el archivo PFX solo puede contener una entrada.

Por último, si realiza cambios en el almacén de claves fuera de estos comandos, puede volver a cargar el almacén de claves inmediatamente en CycleCloud 7.9.7 o posterior:

./cycle_server keystore reconfig

Configuración de CycleCloud para usar HTTPS nativo

De forma predeterminada, Azure CycleCloud está configurado para usar la implementación estándar de HTTPS de E/S de Java. Este valor predeterminado funciona bien en todas las plataformas compatibles.

Para mejorar el rendimiento al ejecutarse en plataformas Linux, CycleCloud puede configurarse opcionalmente para usar la implementación de HTTPS nativo de Tomcat.

Para habilitar NATIVE HTTPS en Linux, agregue los webServerEnableHttps atributos y webServerUseNativeHttps al archivo cycle_server.properties . Abra cycle_server.properties con un editor de texto y establezca los valores siguientes:

# Turn on HTTPS
webServerEnableHttps = true

# Use Native HTTPS connector
webServerUseNativeHttps = true

Compatibilidad con versiones anteriores para TLS 1.0 y 1.1

De forma predeterminada, los conectores Java y Native HTTPS se configurarán para usar solo el protocolo TLS 1.2. Si necesita ofrecer protocolos TLS 1.0 o 1.1 para clientes web anteriores, puede optar por la compatibilidad con versiones anteriores.

Abra cycle_server.properties con un editor de texto y busque el sslEnabledProtocols atributo :

sslEnabledProtocols="TLSv1.2"

Cambie el atributo a una + lista delimitada de protocolos que desea admitir.

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

Desactivar las comunicaciones sin cifrar

La configuración anterior permite realizar conexiones sin cifrar (HTTP), pero se redirigen a HTTPS para la seguridad. Es posible que desee evitar el acceso sin cifrar a la instalación de CycleCloud. Para desactivar las comunicaciones sin cifrar, abra el archivo cycle_server.properties en un editor de texto. Busque la webServerEnableHttp propiedad y cámbiela a:

# HTTP
webServerEnableHttp=false

Guarde los cambios y reinicie CycleCloud. Se deshabilitará el acceso HTTP a CycleCloud.