Después de instalar Apigee mTLS en todos los nodos del clúster, puedes
Se debe configurar e inicializar el componente apigee-mtls
. Para ello, genera un archivo
certificado/clave y actualizar el
de configuración en tu máquina de administración. Luego, implementas
los mismos archivos generados y archivo de configuración en todos los nodos del clúster e inicializa el
Componente apigee-mtls
.
Configura apigee-mtls (después de la instalación inicial)
En esta sección, se describe cómo configurar Apigee mTLS directamente después de la instalación inicial. Para obtener información sobre la actualización de un instalación existente de Apigee mTLS, consulta Cambiar un apigee-mtls existente configuración.
Esta sección se aplica a las instalaciones en un único centro de datos. Información sobre la configuración de Apigee mTLS en una configuración de varios centros de datos, consulta Configura varios centros de datos para Apigee mTLS.
El proceso general para configurar apigee-mtls
es el siguiente:
- Actualiza el archivo de configuración: En tu
de administración de configuraciones, actualiza el archivo de configuración para incluir el
apigee-mtls
configuración. - Instalar Consul y generar credenciales: Instalar
Consul y, de manera opcional, úsalo para generar credenciales TLS (solo una vez).
Además, edita tu archivo de configuración de Apigee mTLS para hacer lo siguiente:
- Agrega la información de las credenciales
- Define la topología del clúster
Ten en cuenta que puedes usar tus credenciales existentes o generarlas con Consul.
- Distribuye las credenciales y el archivo de configuración: Distribuye el mismo par de claves/certificado generado y el archivo de configuración actualizado en todos los nodos. en tu clúster.
- Inicializa apigee-mtls: Inicializa el
apigee-mtls
en cada nodo.
Cada uno de estos pasos se describe en las siguientes secciones.
Paso 1: Actualiza el archivo de configuración
En esta sección, se describe cómo modificar el archivo de configuración para incluir la configuración de mTLS propiedades. Para obtener información general sobre el archivo de configuración, consulta Crear una configuración predeterminado.
Después de actualizar tu archivo de configuración con las propiedades relacionadas con mTLS, cópialo en
todos los nodos del clúster antes de inicializar el componente apigee-mtls
en esos
nodos.
Para actualizar el archivo de configuración, haz lo siguiente:
- En la máquina de administración, abre el archivo de configuración para editarlo.
- Copie el siguiente conjunto de propiedades de configuración de mTLS y péguelas en la configuración
archivo:
ALL_IP="ALL_PRIVATE_IPS_IN_CLUSTER" ZK_MTLS_HOSTS="ZOOKEEPER_PRIVATE_IPS" CASS_MTLS_HOSTS="CASSANDRA_PRIVATE_IPS" PG_MTLS_HOSTS="POSTGRES_PRIVATE_IPS" RT_MTLS_HOSTS="ROUTER_PRIVATE_IPS" MS_MTLS_HOSTS="MGMT_SERVER_PRIVATE_IPS" MP_MTLS_HOSTS="MESSAGE_PROCESSOR_PRIVATE_IPS" QP_MTLS_HOSTS="QPID_PRIVATE_IPS" LDAP_MTLS_HOSTS="OPENLDAP_PRIVATE_IPS" MTLS_ENCAPSULATE_LDAP="y" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="BASE64_GOSSIP_MESSAGE" PATH_TO_CA_CERT="PATH/TO/consul-agent-ca.pem" PATH_TO_CA_KEY="PATH/TO/consul-agent-ca-key.pem" APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR="NUMBER_OF_DAYS" TLS_MIN_VERSION="tls12" TLS_CIPHER_SUITES="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
Establece el valor de cada propiedad para que coincida con tu configuración.
En la siguiente tabla, se describen estas propiedades de configuración:
Propiedad Descripción ALL_IP
Una lista separada por espacios de las direcciones IP de host privado de todos los nodos del clúster. El orden de las direcciones IP no importa, excepto que deben ser iguales en todas archivos de configuración en el clúster.
Si configuras Apigee mTLS para varios centros de datos, enumera para todas las direcciones IP de todos los hosts de todas las regiones.
LDAP_MTLS_HOSTS
La dirección IP del host privado del nodo OpenLDAP en el clúster. ZK_MTLS_HOSTS
Una lista separada por espacios de direcciones IP de hosts privados en los que se alojan los nodos de ZooKeeper en el clúster.
Ten en cuenta que, según los requisitos, debe haber al menos, tres nodos de ZooKeeper.
CASS_MTLS_HOSTS
Una lista separada por espacios de direcciones IP de host privados en las que se alojan los servidores de Cassandra en el clúster. PG_MTLS_HOSTS
Una lista separada por espacios de direcciones IP de hosts privados en los que se alojan los servidores de Postgres en el clúster. RT_MTLS_HOSTS
Una lista separada por espacios de direcciones IP de hosts privados en los que se alojan los routers clúster. MTLS_ENCAPSULATE_LDAP
Encripta el tráfico LDAP entre el procesador de mensajes y el servidor LDAP. Establecer en y
MS_MTLS_HOSTS
Una lista separada por espacios de direcciones IP de host privados en las que se encuentran los nodos del servidor de administración alojados en el clúster. MP_MTLS_HOSTS
Una lista separada por espacios de direcciones IP de host privados en las que se usan alojados en el clúster. QP_MTLS_HOSTS
Una lista separada por espacios de direcciones IP de hosts privados en los que se alojan los servidores Qpid en el clúster. ENABLE_SIDECAR_PROXY
Determina si Cassandra y Postgres deben conocer la malla de servicios. Debes establecer este valor como "y".
ENCRYPT_DATA
La clave de encriptación codificada en base64 que usa Consul. Generaste esta clave con el Comando consul keygen
en el Paso 2: Instala Consul y generar credenciales.Este valor debe ser el mismo en todos los nodos del clúster.
PATH_TO_CA_CERT
La ubicación del archivo de certificado en el nodo. Generaste este archivo en Paso 2: Instala Consul y genera credenciales. Esta ubicación debe ser la misma en todos los nodos del clúster para que la archivos de configuración sean los mismos.
El certificado debe estar codificado en X509v3.
PATH_TO_CA_KEY
La ubicación del archivo de claves en el nodo. Generaste este archivo en Paso 2: Instala Consul y genera credenciales. Esta ubicación debe ser la misma en todos los nodos del clúster para que la archivos de configuración sean los mismos.
El archivo de claves debe estar codificado en X509v3.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR
La cantidad de días que tiene un certificado durante la cual generar un certificado personalizado
El valor predeterminado es 365. El valor máximo es de 7,865 días (5 años).
TLS_MIN_VERSION
Especifica la versión de TLS mínima permitida. Configúralo en tls12
para aplicar un mínimo de TLS 1.2.TLS_CIPHER_SUITES
Una lista separada por comas de los conjuntos de algoritmos de cifrado de TLS permitidos. Por ejemplo:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Además de las propiedades mencionadas anteriormente, Apigee mTLS usa varias propiedades adicionales cuando lo instalas en una configuración de varios centros de datos. Para obtener más información, consulta Configura varios centros de datos.
- Asegúrate de que
ENABLE_SIDECAR_PROXY
esté configurado como "y". - Actualiza las direcciones IP en las propiedades relacionadas con el host. Asegúrate de usar
private cuando se refieren a cada nodo, no a la public
direcciones IP internas.
En pasos posteriores, establecerás los valores de las otras propiedades, como
ENCRYPT_DATA
,PATH_TO_CA_CERT
yPATH_TO_CA_KEY
. Tú lo haces aún no han establecido sus valores.Cuando edites las propiedades de configuración de
apigee-mtls
, ten en cuenta lo siguiente:- Todas las propiedades son cadenas. debes unir los valores de todas las propiedades en simples o dobles citas.
- Si un valor relacionado con el host tiene más de una dirección IP privada, separe cada dirección IP con un espacio.
- Use direcciones IP privadas, y no nombres de host ni direcciones IP públicas propiedades en el archivo de configuración.
- El orden de las direcciones IP en un valor de propiedad debe estar en el mismo orden en todos archivos de configuración en el clúster.
- Guarda los cambios en el archivo .
Paso 2: Instala Consul y genera credenciales
En esta sección, se describe cómo instalar Consul y generar las credenciales utilizadas por los componentes habilitados para mTLS.
Debes elegir uno de los siguientes métodos para generar tus credenciales:
- (Recomendado) Crea tu propia autoridad certificadora (AC) usando Consul, como se describe en este sección
- Usar las credenciales de una AC existente con Apigee mTLS (avanzado)
Información acerca de las credenciales
Las credenciales constan de lo siguiente:
- Certificado: El certificado TLS
- Clave: La clave pública de TLS
- Mensaje de chismes: Una clave de encriptación codificada en base 64.
Generas una sola versión de cada uno de estos archivos una sola vez. Luego, copia la clave y el certificado a todos los nodos de tu clúster y agrega la clave de encriptación a tu archivo de configuración también se copia en todos los nodos.
Para obtener más información sobre la implementación de encriptación de Consul, consulta lo siguiente:
Instalar Consul y generar credenciales
Generar credenciales que Apigee mTLS use para autentica las comunicaciones seguras entre los nodos de tu clúster de nube privada, usa un Objeto binario de Consul . Como resultado, debes instalar Consul en tu máquina de administración antes de poder generar credenciales.
Para instalar Consul y generar credenciales de mTLS, sigue estos pasos:
- En la máquina de administración, descarga el binario de Consul 1.8.0 desde la Sitio web de HashiCorp.
- Extrae el contenido del archivo descargado. Por ejemplo, extrae el contenido para
/opt/consul/
- En la máquina de administración, crea una nueva autoridad certificadora (AC) ejecutando el
siguiente comando:
/opt/consul/consul tls ca create
Consul crea los siguientes archivos, que forman un par de certificados/claves:
consul-agent-ca.pem
(certificado)consul-agent-ca-key.pem
(clave)
De forma predeterminada, los archivos de certificados y claves están codificados en X509v3.
Más adelante, copiarás estos archivos en todos los nodos del clúster. Sin embargo, en este momento, debes solo decide dónde en los nodos colocará estos archivos. Deben estar en el mismo su ubicación en cada nodo. Por ejemplo,
/opt/apigee/
- En el archivo de configuración, establece el valor de
PATH_TO_CA_CERT
en la ubicación copiarás el archivoconsul-agent-ca.pem
en el nodo. Por ejemplo:PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
- Establece el valor de
PATH_TO_CA_KEY
en la ubicación en la que copiarás el elemento. archivoconsul-agent-ca-key.pem
en el nodo. Por ejemplo:PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
- Crea una clave de encriptación para Consul mediante la ejecución del siguiente comando:
/opt/consul/consul keygen
Consul genera una cadena aleatoria que se ve de la siguiente manera:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- Copia esta cadena generada y configúrala como el valor de la propiedad
ENCRYPT_DATA
. en el archivo de configuración. Por ejemplo:ENCRYPT_DATA="
QbhgD+EXAMPLE+Y9u0742X
/IqX3X429/x1cIQ+JsQvY=" - Guarda el archivo de configuración.
En el siguiente ejemplo, se muestra la configuración relacionada con mTLS en un archivo de configuración (con valores):
... IP1=10.126.0.121 IP2=10.126.0.124 IP3=10.126.0.125 IP4=10.126.0.127 IP5=10.126.0.130 ALL_IP="$IP1 $IP2 $IP3 $IP4 $IP5" LDAP_MTLS_HOSTS="$IP3" ZK_MTLS_HOSTS="$IP3 $IP4 $IP5" CASS_MTLS_HOSTS="$IP3 $IP4 $IP5" PG_MTLS_HOSTS="$IP2 $IP1" RT_MTLS_HOSTS="$IP4 $IP5" MS_MTLS_HOSTS="$IP3" MP_MTLS_HOSTS="$IP4 $IP5" QP_MTLS_HOSTS="$IP2 $IP1" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=" PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem" PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem" ...
Paso 3: Distribuye el archivo de configuración y las credenciales
Copia los siguientes archivos en todos los nodos con una herramienta como scp
:
- Archivo de configuración: copia la versión actualizada de este archivo y reemplaza la una versión existente en todos los nodos (no solo en los que ejecutan ZooKeeper).
- consul-agent-ca.pem: Copia los datos en la ubicación que especificaste como valor de
PATH_TO_CA_CERT
en el archivo de configuración - consul-agent-ca-key.pem: Copia el código de la ubicación que especificaste como valor de
PATH_TO_CA_KEY
en el archivo de configuración
Asegúrate de que las ubicaciones en las que copias el certificado y los archivos de claves coincidan con los valores que establecido en el archivo de configuración en Paso 2: Instala Consul y genera credenciales.
Paso 4: Inicializa apigee-mtls
Después de instalar apigee-mtls
en cada nodo, actualizar el archivo de configuración y
junto con sus credenciales en todos los nodos del clúster, está listo para inicializar el
El componente apigee-mtls
en cada nodo.
Para inicializar apigee-mtls, sigue estos pasos:
- Accede a un nodo en el clúster como usuario raíz. Puedes realizar estos pasos en los nodos en el orden que quieras.
- Haz que el usuario
apigee:apigee
sea propietario del archivo de configuración actualizado, como que se muestra a continuación:chown apigee:apigee config_file
- Para configurar el componente
apigee-mtls
, ejecuta el siguiente comando:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
- Ejecuta el siguiente comando para verificar que la configuración se haya realizado correctamente (opcional):
/opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
- Ejecuta el siguiente comando para iniciar Apigee mTLS:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls start
Luego de instalar Apigee mTLS, debes iniciar este componente antes de cualquier otra componentes en el nodo.
- (Solo para nodos de Cassandra) Cassandra requiere argumentos adicionales para funcionar dentro del
de seguridad en la nube. Como resultado, debes ejecutar los siguientes comandos en cada nodo de Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- (Solo nodos Postgres) Postgres requiere argumentos adicionales para funcionar dentro del
de seguridad en la nube. Como resultado, debes hacer lo siguiente en los nodos de Postgres:
(Solo para la versión principal)
- Ejecuta los siguientes comandos en el nodo principal de Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
(Solo en espera)
- Crea una copia de seguridad de tus datos de Postgres existentes. Para instalar Apigee mTLS, debes volver a inicializar el nodos primarios/en espera, por lo que habrá pérdida de datos. Para obtener más información, consulta Configura la replicación principal o en espera para Postgres.
- Borra todos los datos de Postgres:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- Configura Postgres y, luego, reinicia Postgres, como se muestra en el siguiente ejemplo:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Si instalas una topología de varios centros de datos, usa una ruta absoluta para el de Terraform.
- Ejecuta los siguientes comandos en el nodo principal de Postgres:
- Inicia los componentes de Apigee restantes en el nodo, en la
order order que
que se muestra a continuación:
/opt/apigee/apigee-service/bin/apigee-service component_name start
- Repite este proceso para cada nodo del clúster.
- Verifica que la inicialización
apigee-mtls
se haya realizado correctamente mediante uno (opcional). o más de los siguientes métodos:- Valida la configuración de iptables
- Verifica el estado del proxy remoto
- Verifica el estado del quórum
Cada uno de estos métodos se describe en el artículo Verifica tu actual.
Cambiar una configuración existente de Apigee-mtls
Para personalizar una configuración de apigee-mtls
existente, debes desinstalar y
reinstala apigee-mtls
. Asegúrate también de aplicar tu personalización en todos
nodos.
Para reiterar este punto, cuando cambie una configuración de mTLS existente de Apigee, tenga en cuenta lo siguiente:
- Si cambias un archivo de configuración, primero debes desinstalar
apigee-mtls
y vuelve a ejecutarsetup
oconfigure
:# DO THIS:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls uninstall
# BEFORE YOU DO THIS:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f file
OR/opt/apigee/apigee-service/bin/apigee-service apigee-mtls configure
- Debes desinstalar y volver a ejecutar
setup
oconfigure
en todos los nodos de la clúster, no solo en un nodo.