Edge para nube privada v. 4.16.09
TLS (seguridad de la capa de transporte, cuyo predecesor es SSL) es la tecnología de seguridad estándar para garantizar la mensajería segura y encriptada en todo el entorno de la API, desde las apps hasta Apigee Edge y los servicios de backend.
Independientemente de la configuración del entorno para tu API de administración, por ejemplo, si usas un proxy, un router o un balanceador de cargas frente a tu API de administración (o no), Edge te permite habilitar y configurar TLS, lo que te brinda control sobre la encriptación de mensajes en tu entorno de administración de APIs local.
Para una instalación local de Edge para la nube privada, hay varios lugares en los que puedes configurar TLS:
- Entre un router y un Message Processor
- Para acceder a la API de administración de Edge
- Para acceder a la IU de administración de Edge
- Para el acceso de una app a tus APIs
- Para acceder desde Edge a tus servicios de backend
A continuación, se describe la configuración de TLS para los primeros tres elementos. En todos estos procedimientos, se supone que creaste un archivo JKS que contiene tu certificación TLS y tu clave privada.
Para configurar TLS para el acceso de una app a tus APIs, consulta el punto 4 anterior, Configura el acceso TLS a una API para la nube privada. Para configurar TLS para el acceso desde Edge a tus servicios de backend, consulta el punto 5 anterior, Configura TLS desde Edge al backend (nube y nube privada).
Para obtener una descripción general completa de la configuración de TLS en Edge, consulta TLS/SSL.
Cómo crear un archivo JKS
Representas el almacén de claves como un archivo JKS, en el que el almacén de claves contiene tu certificado TLS y tu clave privada. Existen varias formas de crear un archivo JKS, pero una de ellas es usar las utilidades openssl y keytool.
Por ejemplo, tienes un archivo PEM llamado server.pem que contiene tu certificado TLS y un archivo PEM llamado private_key.pem que contiene tu clave privada. Usa los siguientes comandos para crear el archivo PKCS12:
> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12
Debes ingresar la frase de contraseña de la clave, si tiene una, y una contraseña de exportación. Este comando crea un archivo PKCS12 llamado keystore.pkcs12.
Usa el siguiente comando para convertirlo en un archivo JKS llamado keystore.jks:
> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks
Se te solicitará que ingreses la contraseña nueva para el archivo JKS y la contraseña existente para el archivo PKCS12. Asegúrate de usar la misma contraseña para el archivo JKS que usaste para el archivo PKCS12.
Si tienes que especificar un alias de clave, como cuando configuras TLS entre un router y un Message Processor, incluye la opción "-name" en el comando openssl:
> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest
Luego, incluye la opción "-alias" en el comando keytool:
> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest
Genera una contraseña ofuscada
En algunas partes del procedimiento de configuración de TLS de Edge, debes ingresar una contraseña ofuscada en un archivo de configuración. Una contraseña ofuscada es una alternativa más segura que ingresar tu contraseña en texto sin formato.
Puedes generar una contraseña ofuscada en Java con los archivos .jar de Jetty instalados con Edge. Genera la contraseña ofuscada con un comando que tenga el siguiente formato:
> IFS= read -rsp Password: passvar; echo; java -cp "/opt/apigee/edge-gateway/lib/thirdparty/*" org.eclipse.jetty.util.security.Password $passvar 2>&1 |tail -2; unset passvar
Ingresa la contraseña nueva en el mensaje. Por motivos de seguridad, no se muestra el texto de la contraseña. Este comando devuelve la contraseña con el siguiente formato:
OBF:58fh40h61svy156789gk1saj MD5:902fobg9d80e6043b394cb2314e9c6
Usa la contraseña ofuscada que especifica OBF cuando configures TLS.
Para obtener más información, consulta este artículo.