Edge para la 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 una mensajería segura y encriptada en todo tu entorno de API, desde las apps hasta Apigee Edge y tus servicios de backend.
Independientemente de la configuración del entorno de 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 API local.
Para una instalación local de la nube privada perimetral, existen varios lugares en los que puedes configurar TLS:
- Entre un router y Message Processor
- Para acceder a la API de Edge Management
- Para acceder a la IU de administración de Edge
- Para acceder a tus APIs desde una app
- Para acceder a tus servicios de backend desde Edge
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 clave privada.
Para configurar TLS para el acceso de una app a tus APIs, el paso 4 anterior, consulta Configura el acceso de TLS a una API para la nube privada. Para configurar TLS para el acceso desde Edge a tus servicios de backend, el paso 5 anterior, consulta 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.
Crea un archivo JKS
Representas el almacén de claves como un archivo JKS, en el que el almacén de claves contiene el certificado TLS y la clave privada. Existen varias formas de crear un archivo JKS, pero una de ellas es usar las utilidades de openssl y keytool.
Por ejemplo, tienes un archivo PEM llamado server.pem que contiene tu certificado TLS y un archivo PEM denominado 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 procesador de mensajes, 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" al comando keytool:
> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest
Genera una contraseña ofuscada
Algunas partes del procedimiento de configuración de TLS de Edge requieren que ingreses 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 si usas los archivos .jar de Jetty instalados con Edge. Genera la contraseña ofuscada con un comando en 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 muestra 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.