Configura TLS para la IU de administración

Edge para la nube privada v4.19.01

De forma predeterminada, puedes acceder a la IU de administración perimetral a través de HTTP con la dirección IP del nodo del servidor de administración y el puerto 9000. Por ejemplo:

http://ms_IP:9000

Como alternativa, puedes configurar el acceso TLS a la IU de administración para poder acceder a ella con el siguiente formato:

https://ms_IP:9443

En este ejemplo, se configurará el acceso TLS para usar el puerto 9443. Sin embargo, Edge no requiere ese número de puerto; puedes configurar el servidor de administración para que use otros valores de puerto. El único requisito es que tu firewall permita el tráfico a través del puerto especificado.

Asegúrate de que el puerto TLS esté abierto

El procedimiento de esta sección configura TLS para que use el puerto 9443 en el servidor de administración. Sin importar el puerto que uses, debes asegurarte de que esté abierto en el servidor de administración. Por ejemplo, puedes usar el siguiente comando para abrirlo:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose

Configura TLS

Usa el siguiente procedimiento para configurar el acceso TLS a la IU de administración:

  1. Genera el archivo JKS del almacén de claves que contiene tu certificación TLS y tu clave privada, y cópialo en el nodo del servidor de administración. Si deseas obtener más información, consulta Configura TLS/SSL para dispositivos perimetrales locales.
  2. Ejecuta el siguiente comando para configurar TLS:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. Ingresa el número de puerto HTTPS, por ejemplo, 9443.
  4. Especifica si deseas inhabilitar el acceso HTTP a la IU de administración. De forma predeterminada, se puede acceder a la IU de administración a través de HTTP en el puerto 9000.
  5. Ingresa el algoritmo del almacén de claves. El valor predeterminado es JKS.
  6. Ingresa la ruta de acceso absoluta al archivo JKS del almacén de claves.

    La secuencia de comandos copia el archivo en el directorio /opt/apigee/customer/conf en el nodo del servidor de administración y cambia la propiedad del archivo a “apigee”.

  7. Ingresa la contraseña del almacén de claves de texto simple.
  8. Luego, la secuencia de comandos reinicia la IU de administración de Edge. Después del reinicio, la IU de administración admite el acceso a través de TLS.

    Puedes ver esta configuración en /opt/apigee/etc/edge-ui.d/SSL.sh.

Usa un archivo de configuración para configurar TLS

Como alternativa al procedimiento anterior, puedes pasar un archivo de configuración al comando en el paso 2 del procedimiento. Debes usar este método si quieres establecer propiedades TLS opcionales.

Para usar un archivo de configuración, crea un archivo nuevo y agrega las siguientes propiedades:

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

Guarda el archivo en un directorio local con el nombre que quieras. Luego, usa el siguiente comando para configurar TLS:

/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

En el ejemplo anterior, configFile es la ruta de acceso completa al archivo que guardaste.

Configurar la IU de Edge cuando TLS finalice en el balanceador de cargas

Si tienes un balanceador de cargas que reenvía solicitudes a la IU de Edge, puedes optar por finalizar la conexión TLS en el balanceador de cargas y, luego, hacer que el balanceador de cargas reenvíe las solicitudes a la IU perimetral a través de HTTP. Se admite esta configuración, pero debes configurar el balanceador de cargas y la IU de Edge según corresponda.

La configuración adicional es obligatoria cuando la IU de Edge envía correos electrónicos a los usuarios para configurar su contraseña cuando se crea el usuario o cuando solicita restablecer una contraseña perdida. Este correo electrónico contiene una URL que el usuario selecciona para establecer o restablecer una contraseña. De forma predeterminada, si la IU de Edge no está configurada para usar TLS, la URL en el correo electrónico generado usará el protocolo HTTP y no el HTTPS. Debes configurar el balanceador de cargas y la IU de Edge para generar una dirección de correo electrónico que use HTTPS.

Para configurar el balanceador de cargas, asegúrate de que establezca el siguiente encabezado en las solicitudes reenviadas a la IU de Edge:

X-Forwarded-Proto: https

Para configurar la IU de Edge, haz lo siguiente:

  1. Abre el archivo /opt/apigee/customer/application/ui.properties en un editor. Si el archivo no existe, créalo:
    vi /opt/apigee/customer/application/ui.properties
  2. Configura la siguiente propiedad en ui.properties:
    conf/application.conf+trustxforwarded=true
  3. Guarda los cambios en ui.properties.
  4. Reinicia la IU de Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Configura propiedades TLS opcionales

La IU de Edge admite propiedades de configuración de TLS opcionales que puedes usar para establecer lo siguiente:

  • Protocolo TLS predeterminado
  • Lista de protocolos TLS compatibles
  • Algoritmos TLS compatibles
  • Algoritmos de cifrado TLS admitidos

Estos parámetros opcionales solo están disponibles cuando estableces la siguiente propiedad de configuración en un archivo de configuración, como se describe en Usa un archivo de configuración para configurar TLS:

TLS_CONFIGURE=y

En la siguiente tabla, se describen estas propiedades:

Propiedad Descripción
TLS_PROTOCOL Define el protocolo TLS predeterminado para la IU de Edge. De forma predeterminada, es TLS 1.2. Los valores válidos son TLSv1.2, TLSv1.1, TLSv1.
TLS_ENABLED_PROTOCOL

Define la lista de protocolos habilitados como una matriz separada por comas. Por ejemplo:

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

Ten en cuenta que debes escapar el carácter ".

De forma predeterminada, todos los protocolos están habilitados.

TLS_DISABLED_ALGO

Define los conjuntos de cifrado inhabilitados y también se puede usar a fin de evitar que se usen tamaños de claves pequeños para el protocolo de enlace TLS. No hay un valor predeterminado.

Los valores que se pasan a TLS_DISABLED_ALGO corresponden a los valores permitidos para jdk.tls.disabledAlgorithms, como se describe aquí. Sin embargo, debes escapar los caracteres de espacio cuando configuras TLS_DISABLED_ALGO:

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048

TLS_ENABLED_CIPHERS

Define la lista de algoritmos de cifrado de TLS disponibles como un array separado por comas. Por ejemplo:

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

Ten en cuenta que debes escapar el carácter ".

Esta es la lista predeterminada de algoritmos de cifrado habilitados:

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

Encuentra la lista de algoritmos de cifrado disponibles aquí.

Inhabilita los protocolos TLS

Para inhabilitar los protocolos TLS, debes editar el archivo de configuración, como se describe en Usa un archivo de configuración para configurar TLS de la siguiente manera:

  1. Abre el archivo de configuración en un editor.
  2. Para inhabilitar un solo protocolo TLS, por ejemplo, TLSv1.0, agrega lo siguiente al archivo de configuración:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    Para inhabilitar varios protocolos, por ejemplo, TLSv1.0 y TLSv1.1, agrega lo siguiente al archivo de configuración:

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. Guarda los cambios en el archivo de configuración.
  4. Ejecuta el siguiente comando para configurar TLS:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    En el ejemplo anterior, configFile es la ruta de acceso completa al archivo de configuración.

  5. Reinicia la IU de Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Usa cookies seguras

Apigee Edge para nube privada admite agregar la marca secure al encabezado Set-Cookie para las respuestas de la IU de Edge. Si esta marca está presente, la cookie solo se puede enviar a través de canales habilitados para TLS. Si no está presente, la cookie se puede enviar a través de cualquier canal, ya sea segura o no.

Las cookies sin la marca secure pueden permitir que un atacante capture y reutilice la cookie o apropiarse de una sesión activa. Por lo tanto, la práctica recomendada es habilitar esta configuración.

A fin de configurar la marca secure para las cookies de la IU de Edge, ejecuta lo siguiente:

  1. Abre el siguiente archivo en un editor de texto:
    /opt/apigee/customer/application/ui.properties

    Si el archivo no existe, créalo.

  2. Establece la propiedad conf_application_session.secure en true en el archivo ui.properties, como se muestra en el siguiente ejemplo:
    conf_application_session.secure=true
  3. Guarda los cambios.
  4. Reinicia la IU de Edge con la utilidad apigee-serice, como se muestra en el siguiente ejemplo:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Para confirmar que el cambio funcione, verifica los encabezados de respuesta de la IU de Edge con una utilidad como curl; por ejemplo:

curl -i -v https://edge_UI_URL

El encabezado debe contener una línea similar a la siguiente:

Set-Cookie: secure; ...

Inhabilita TLS en la IU de Edge

Para inhabilitar TLS en la IU de Edge, usa el siguiente comando:

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl