Configura TLS para la API de administración

De forma predeterminada, TLS está inhabilitado para la API de administración y accedes a la API de administración de Edge a través de HTTP con la dirección IP del nodo del servidor de administración y el puerto 8080. Por ejemplo:

http://ms_IP:8080

De manera alternativa, puedes configurar el acceso TLS a la API de administración para poder acceder a ella en el formulario:

https://ms_IP:8443

En este ejemplo, configuras el acceso a TLS para usar el puerto 8443. 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 el firewall permita el tráfico a través del puerto especificado.

Para garantizar la encriptación del tráfico desde y hacia tu API de administración, establece la configuración en /opt/apigee/customer/application/management-server.properties .

Además de la configuración de TLS, también puede controlar la validación de la contraseña (longitud de la contraseña) y la calidad) modificando el archivo management-server.properties.

Asegúrate de que el puerto TLS esté abierto

El procedimiento de esta sección configura TLS para usar el puerto 8443 en el servidor de administración. Independientemente del 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 8443 -j ACCEPT --verbose

Configura TLS

Edita el archivo /opt/apigee/customer/application/management-server.properties para controlar el uso de TLS en el tráfico hacia y desde tu API de administración. Si este archivo no existe, crearla.

Para configurar el acceso de TLS a la API de administración, haz lo siguiente:

  1. Genera el archivo JKS del almacén de claves que contiene tu certificación TLS y clave privada. Para ver más consulta Configura TLS/SSL para Edge On Local.
  2. Copia el archivo JKS del almacén de claves en un directorio del nodo del servidor de administración, como /opt/apigee/customer/application.
  3. Cambia la propiedad del archivo JKS al usuario "apigee":
    chown apigee:apigee keystore.jks

    En el ejemplo anterior, keystore.jks es el nombre del archivo del almacén de claves.

  4. Edita /opt/apigee/customer/application/management-server.properties para establecer las siguientes propiedades. Si ese archivo no existe, créalo:
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword

    En el que keyStore.jks es el archivo del almacén de claves. obfuscatedPassword es la contraseña de tu almacén de claves ofuscada. Consulta Configuración de TLS/SSL para Edge On Local para información para generar contraseñas ofuscadas.

  5. Reinicia el servidor de administración perimetral con el siguiente comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

La API de administración ahora admite el acceso a través de TLS.

Configurar la IU de Edge para que use TLS para acceder la API de Edge

En el procedimiento anterior, Apigee recomendó dejar conf_webserver_http.turn.off=false para que la IU de Edge pueda seguir realizando llamadas a la API de Edge a través de HTTP.

Usa el siguiente procedimiento para configurar la IU de Edge para que realice estas llamadas solo a través de HTTPS:

  1. Configura el acceso de TLS a la API de administración como se describió anteriormente.
  2. Después de confirmar que TLS funciona para la API de administración, edita /opt/apigee/customer/application/management-server.properties para establecer la siguiente propiedad:
    conf_webserver_http.turn.off=true
  3. Ejecuta el siguiente comando para reiniciar el servidor de administración perimetral:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. Edita /opt/apigee/customer/application/ui.properties para establecer la siguiente propiedad para la IU de Edge:
    conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"

    En el ejemplo anterior, FQ_domain_name es el nombre de dominio completo, según la dirección del certificado del servidor de administración, y port es el puerto que conf_webserver_ssl.port especificó anteriormente.

    Si ui.properties no existe, créalo.

  5. Solo si usaste un certificado autofirmado (no se recomienda en un entorno de producción) cuando configuraste el acceso de TLS a la API de administración anterior, agrega la siguiente propiedad a ui.properties:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    De lo contrario, la IU de Edge rechazará un certificado autofirmado.

  6. Ejecuta el siguiente comando para reiniciar la IU de Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Cómo usar un almacén de claves PKCS12 para sistemas operativos habilitados con FIPS

Si usas Edge para una nube privada en un sistema operativo compatible con FIPS, debes usar un almacén de claves PKCS12. Esto es necesario para cumplir con los estándares FIPS. Además de las otras configuraciones estándar mencionadas en este artículo, agrega la siguiente configuración a tu archivo management-server.properties:

conf/webserver.properties+keystore.type=PKCS12

Asegúrate de aplicar este cambio si tu entorno está habilitado para FIPS para garantizar la compatibilidad con los estándares de encriptación requeridos.

Propiedades de TLS para el servidor de administración

En la siguiente tabla, se enumeran todas las propiedades de TLS/SSL que puedes configurar en management-server.properties:

Propiedades Descripción

conf_webserver_http.port=8080

El valor predeterminado es 8080.

conf_webserver_ssl.enabled=false

Para habilitar o inhabilitar TLS/SSL. Con TLS/SSL habilitado (verdadero), también debes configurar las propiedades ssl.port y keystore.path.

conf_webserver_http.turn.off=true

Para habilitar o inhabilitar http junto con https. Si quieres usar solo HTTPS, deja el valor predeterminado en true.

conf_webserver_ssl.port=8443

El puerto TLS/SSL

Obligatorio cuando TLS/SSL está habilitado (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=path

Es la ruta de acceso al archivo de almacén de claves.

Obligatorio cuando TLS/SSL está habilitado (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=password

Usa una contraseña ofuscada con este formato: OBF:xxxxxxxxxx

conf_webserver_cert.alias=alias

Alias de certificado del almacén de claves opcional

conf_webserver_keymanager.password=password

Si tu administrador de claves tiene una contraseña, ingresa una versión ofuscada de la contraseña en este formato:

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

Configura la configuración de tu almacén de confianza. Determina si deseas aceptar todas Certificados TLS/SSL (por ejemplo, para aceptar tipos no estándar) La ruta predeterminada es false. Proporciona la ruta a tu almacén de confianza y, luego, ingresa una contraseña de almacén de confianza ofuscada en este formato:

OBF:xxxxxxxxxx

conf_http_HTTPTransport.ssl.cipher.suites.blacklist=CIPHER_SUITE_1, CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

Indica los conjuntos de algoritmos de cifrado que deseas incluir o excluir. Por ejemplo, si descubres una vulnerabilidad en un algoritmo de cifrado, puedes excluirlo aquí. Separa varios algoritmos de cifrado con comas.

Los algoritmos de cifrado que quites a través de la lista de entidades bloqueadas tendrán prioridad sobre los que se incluyan a través de la lista de entidades permitidas.

Nota: De forma predeterminada, si no se especifica una lista de entidades bloqueadas ni una lista de entidades permitidas, se excluyen los algoritmos de cifrado que coincidan con la siguiente expresión regular de Java.

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

Sin embargo, si especificas una lista negra, este filtro anulado y debe incluir todos los cifrados en una lista negra de forma individual.

Para obtener información sobre los conjuntos de algoritmos de cifrado y la arquitectura de criptografía, consulta la documentación de los proveedores de Oracle de la arquitectura de criptografía de Java para JDK 8.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Números enteros que determinan lo siguiente:

  • El tamaño de caché de la sesión TLS/SSL (en bytes) para almacenar la información de la sesión de varios clientes.
  • Es la cantidad de tiempo que pueden durar las sesiones TLS/SSL antes de que se agote el tiempo de espera (en milisegundos).