Proteja los datos con el firewall virtual vSRX 3.0 mediante GCP KMS (HSM)
En este tema se describe la integración de vSRX Virtual Firewall 3.0 con el servicio de administración de claves (KMS) de GCP (Google Cloud Platform) para proteger información confidencial, como claves privadas que deben almacenarse dentro de un límite FIPS. GCP proporciona compatibilidad con KMS que utilizan aplicaciones como vSRX Virtual Firewall 3.0 para proteger y administrar claves criptográficas.
Visión general
Hay una biblioteca contenedora disponible en Junos para permitir que VPN y otras aplicaciones (como mgd) se integren y se comuniquen con KMS basado en la nube. Esta biblioteca contenedora proporciona una interfaz para el Servicio de administración de claves (KMS) mediante las API de PKCS#11. Las aplicaciones de Junos usan esta biblioteca contenedora con compatibilidad actualizada para que GCP se comunique con KMS. Para admitir las API de PKCS#11, el equipo de GCP proporciona a Juniper una biblioteca que actúa como intermediario entre las aplicaciones de Junos y el servicio Cloud KMS. Esta biblioteca se agrega como parte del paquete vSRX Virtual Firewall 3.0 Junos. No es necesario que usted realice ninguna acción para habilitar las bibliotecas.
Después de habilitar el servicio KMS, debe especificar la clave de cifrado maestra (MEK) mediante el request security hsm master-encryption-password set plain-text-password
comando. A continuación, el Firewall virtual vSRX 3.0 crea la clave de enlace maestro (MBK) del par de claves RSA 2048 en KMS y cifra el MEK mediante MBK en KMS. MEK se utiliza como clave para cifrar datos en reposo, como hash de configuración, archivos de par de claves privadas y archivo de contraseña maestra.
El firewall virtual vSRX con GCP KMS tiene las siguientes limitaciones:
-
El Firewall virtual vSRX utiliza la interfaz de administración para acceder al servicio KMS. Si la interfaz de administración no está habilitada o configurada, el servicio KMS no se puede usar desde el Firewall virtual vSRX.
-
El proxy SSL, Sky-ATP, la descarga de firmas IDP o cualquier otro módulo que utilice conexiones basadas en certificados no funcionará cuando HSM esté habilitado.
-
El par de claves RSA con un ID de clave solo se puede generar una vez. No se puede usar para que otro par de claves genere o cree una solicitud, para un ID de clave eliminado o para otra solicitud de clave nueva.
La figura 1 ilustra el inventario de claves en vSRX Virtual Firewall 3.0.
La compatibilidad para generar pares de claves de infraestructura de clave pública (PKI) en GCP Cloud KMS está habilitada y cualquier solicitud, como RSA SIGN, que necesite la clave privada del par de claves generado, se enviará al KMS en la nube de GCP. En concreto, se han descargado las siguientes operaciones en el KMS:
-
Firma de clave privada durante la creación de la solicitud de firma de certificado (CSR) en el demonio PKI (PKID) que se ejecuta en el dispositivo.
-
Firma de clave privada durante la comprobación del certificado recibido del servidor de CA en PKID.
-
Firma de clave privada durante las negociaciones de IKE en Key Management Daemon (KMD), que es el demonio IKE que se ejecuta en el dispositivo.
Todas las aplicaciones VPN (PKID y KMD) usarán una biblioteca contenedora para comunicarse con el servicio KMS para crear, administrar y ejecutar operaciones criptográficas en las claves RSA.
La figura 2 ilustra cómo las aplicaciones VPN acceden al servicio KMS.
Puedes proteger los datos en reposo y lograr la integridad de la configuración con el firewall virtual vSRX 3.0 mediante GCP KMS. Sigue los pasos que se indican en este tema para configurar el servicio GCP Cloud KMS y el llavero para el firewall virtual vSRX 3.0.
El llavero es un componente del servicio KMS en el que van a residir las claves creadas por las aplicaciones de Junos. Un llavero organiza las claves en una ubicación específica de Google Cloud y te permite administrar el control de acceso en grupos de claves. No es necesario que el nombre de un llavero sea único en un proyecto de Google Cloud, sino que debe ser único dentro de una ubicación determinada. Después de la creación, un llavero no se puede eliminar. Los llaveros no incurren en costos de almacenamiento.
Integrar GCP KMS con vSRX Virtual Firewall 3.0
Para habilitar y configurar vSRX Virtual Firewall 3.0 para acceder a KMS en GCP.
-
Inicia la instancia de vSRX Virtual Firewall 3.0 en GCP. Consulte Implementación de firewalls virtuales vSRX en Google Cloud Platform e Implementación de vSRX en Google Cloud Platform.
-
Configura GCP KMS para vSRX Virtual Firewall 3.0.
Antes de poder habilitar vSRX Virtual Firewall 3.0 para que se comunique con el servicio KMS, debes asegurarte de que la instancia de vSRX Virtual Firewall 3.0 esté autenticada y autorizada para acceder al servicio GCP Cloud KMS. Para configurar el entorno o la cuenta de GCP, haz lo siguiente:
-
Cree una cuenta de servicio.
Una cuenta de servicio es un tipo especial de cuenta de Google destinado a representar a un usuario no humano, como máquinas virtuales (VM), que necesita autenticarse y estar autorizado para acceder a los datos en las API de Google.
vSRX Virtual Firewall 3.0 usa la biblioteca PKCS#11 proporcionada por GCP para acceder al servicio Cloud KMS. La biblioteca usa cuentas de servicio para autenticarse con credenciales de cuenta de servicio.
-
Para crear una nueva cuenta de servicio para usarla con vSRX Virtual Firewall 3.0 para acceder a Cloud KMS, consulte
Introducción a la autenticación. Si ya tiene una cuenta de servicio, consulte Autenticación como cuenta de servicio.
-
Cree el rol de IAM para la cuenta de servicio a fin de habilitar el acceso a la instancia de vSRX Virtual Firewall 3.0.
Una vez que haya configurado la cuenta de servicio, otorgue a la cuenta uno o varios roles con los siguientes permisos de IAM:
-
cloudkms.cryptoKeys.list en todos los KeyRings configurados.
-
cloudkms.cryptoKeyVersions.list en todas las CryptoKeys de cada KeyRing configurado.
-
cloudkms.cryptoKeyVersions.viewPublicKey para todas las claves asimétricas contenidas en todos los KeyRings configurados.
-
cloudkms.cryptoKeyVersions.use para descifrar o cloudkms.cryptoKeyVersions.use para firmar las claves que se utilizarán para descifrar o firmar.
-
cloudkms.cryptoKeys.create si desea crear claves.
-
cloudkms.cryptoKeyVersions.destroy si desea destruir claves.
También puede utilizar grupos predefinidos de roles de IAM, como se indica a continuación, para conceder a la cuenta de servicio los permisos necesarios. Para obtener más información acerca de los roles asociados a cada uno de los grupos anteriores, vea Permisos y roles.
-
-
Asocie el rol de IAM a la instancia de vSRX Virtual Firewall 3.0, ya sea desde la GUI o mediante la CLI de GCP.
Una vez que haya creado la cuenta de servicio y concedido los roles de IAM necesarios, como se mencionó anteriormente, puede crear una nueva instancia de vSRX Virtual Firewall 3.0 con esta cuenta de servicio o establecer una instancia existente de vSRX Virtual Firewall 3.0 para que utilice la cuenta de servicio.
Para obtener más información, consulte Creación y habilitación de cuentas de servicio para instancias.
Crear llavero
Después de conceder el acceso necesario para que la instancia de vSRX Virtual Firewall 3.0 se comunique con KMS, debe crear el anillo de claves, que es un componente del servicio KMS donde residirán las claves creadas por vSRX Virtual Firewall 3.0.
El llavero se puede crear usando gcloud o desde la consola. Para obtener más información, consulte Crear un llavero
.Además, GCP KMS no permite la creación de una clave con un ID que ya se usó y se creó anteriormente. GCP KMS tampoco permite eliminar una clave existente y crear otra clave con el mismo nombre.
Nota:El llavero se puede crear en una región específica, ubicaciones duales o multirregionales. Ubicación hace referencia al centro de datos en el que se van a guardar las claves. Si utiliza una clave de región específica, la clave se encuentra solo en esa ubicación. En el caso de las regiones duales, las claves se replican en otras regiones, lo mismo implica para ubicaciones multirregionales. Para obtener más información, consulte Ubicaciones de Cloud KMS.
Después de crear el llavero, anote el ID de recurso del llavero, ya que es necesario para ingresar al firewall virtual vSRX 3.0 mediante la CLI. La biblioteca GCP PKCS#11 KMS en vSRX Virtual Firewall 3.0 usará este ID de recurso para comunicarse con KMS. El nombre de la clave creada en el llavero puede contener letras, números, guiones bajos (_) y guiones (-).
-
-
-
Proporciona información sobre los recursos del anillo de claves de GCP mediante el
request security hsm set gcp project <name_of_project> location <location_of_key_ring> key-ring <name_of_key_ring>
comando. Para obtener más información, consulte Obtener un ID de recurso de Cloud KMS -
Después de habilitar el servicio KMS, debe especificar la clave de cifrado maestra (MEK) mediante el
request security hsm master-encryption-password set plain-text-password
comando en vSRX Virtual Firewall 3.0.Una vez especificado el MEK, vSRX Virtual Firewall 3.0 crea el par de claves RSA 2048 (MBK) en KMS y cifra MEK mediante la clave de enlace maestro (MBK) en KMS. MEK se utiliza como clave para cifrar datos en reposo, como hash de configuración, archivos de par de claves privadas y archivo de contraseña maestra.
-
Cambie la contraseña de cifrado maestra.
Si desea cambiar la contraseña de cifrado maestro, puede ejecutar el comando desde el
request security hsm master-encryption-password set plain-text-password
modo operativo:Nota:Se recomienda que no se realicen cambios en la configuración mientras se cambia la contraseña de cifrado maestro.
El sistema comprueba si la contraseña de cifrado maestra ya está configurada. Si la contraseña de cifrado maestro está configurada, se le pedirá que introduzca la contraseña de cifrado maestra actual.
La contraseña de cifrado maestra introducida se valida con la contraseña de cifrado maestra actual para asegurarse de que estas contraseñas de cifrado maestro coinciden. Si la validación se realiza correctamente, se le pedirá que introduzca la nueva contraseña de cifrado maestra como texto sin formato. Se le pedirá que ingrese la clave dos veces para validar la contraseña.
A continuación, el sistema procede a volver a cifrar los datos confidenciales con la nueva contraseña maestra de cifrado. Debe esperar a que se complete este proceso de recifrado antes de intentar cambiar de nuevo la contraseña de cifrado maestro.
Si el archivo de contraseña de cifrado maestro cifrado se pierde o se daña, el sistema no podrá descifrar los datos confidenciales. El sistema solo se puede recuperar volviendo a importar los datos confidenciales en texto sin cifrar y volviéndolos a cifrar.
-
Comprobar el estado de HSM mediante el
show security hsm status
comando para comprobar si KMS está habilitado y accesible, también muestra el identificador de recurso del anillo de claves que se está utilizando, la clave de enlace maestro (MBK) y el estado de la clave de cifrado maestra (MEK).
Verificar el estado del HSM
Propósito
Para comprobar la conectividad con HSM.
Acción
Puede usar el show security hsm status
comando para comprobar el estado del HSM. Se muestra la siguiente información:
-
Si HSM está habilitado y accesible o deshabilitado
-
¿Se crea la clave de enlace maestra (par de claves RSA) en HSM?
-
¿Está configurada la clave de cifrado maestra? - Estado de la contraseña de cifrado maestra (establecida o no establecida)
-
Información del proveedor de la nube
Mostrar estado de HSM de seguridad
- Sintaxis
- Información de la versión
- Descripción
- Opciones
- Nivel de privilegio requerido
- Campos de salida
- Salida de muestra
Sintaxis
show security hsm status
Información de la versión
Comando introducido en Junos OS versión 19.4R1.
Descripción
Muestra el estado actual del módulo de seguridad de hardware (HSM). Puede usar este show security hsm status
comando para comprobar el estado de HSM, la clave de enlace maestra, la contraseña de cifrado maestro y los detalles del proveedor de la nube.
Opciones
Este comando no tiene opciones.
Nivel de privilegio requerido
Seguridad
Campos de salida
En la tabla 1 se enumeran los campos de salida del show security hsm status
comando.
Nombre del campo |
Descripción del campo |
---|---|
|
Especifica si HSM está habilitado o deshabilitado. |
|
Muestra el estado de la clave de enlace maestro del HSM, independientemente de si se crea o no en HSM. HSM genera claves criptográficas y las cifra para que solo pueda descifrarlas el HSM. Este proceso se conoce como vinculación. Cada HSM tiene una clave de enlace maestra, que también se conoce como clave raíz de almacenamiento. |
|
Muestra el estado de configuración del cifrado maestro, independientemente de si está definido o no. Los datos cifrados y el hash de la configuración están protegidos por el Firewall virtual vSRX mediante el servicio Microsoft Key Vault (HSM). |
|
Muestra los detalles específicos del proveedor de la nube. |
Salida de muestra
- mostrar el estado de hsm de seguridad (salida del comando de estado de HSM cuando el firewall virtual vSRX se inicia inicialmente, pero la función GCP KMS no está habilitada)
- mostrar el estado de hsm de seguridad (salida del comando de estado de HSM después de una integración exitosa con GCP KMS)
mostrar el estado de hsm de seguridad (salida del comando de estado de HSM cuando el firewall virtual vSRX se inicia inicialmente, pero la función GCP KMS no está habilitada)
user@host> show security hsm status
HSM Status: Accessible: no Master Binding Key: not-created Master Encryption Key: not-configured
mostrar el estado de hsm de seguridad (salida del comando de estado de HSM después de una integración exitosa con GCP KMS)
user@host> show security hsm status
HSM Status: Accessible: yes Master Binding Key: not-created Master Encryption Key: not-configured GCP Key Ring: projects/example-project-98765/locations/us-central1/keyRings/example-ring
solicitar seguridad hsm master-encryption-password
- Sintaxis
- Información de la versión
- Descripción
- Opciones
- Nivel de privilegio requerido
- Campos de salida
- Salida de muestra
Sintaxis
request security hsm master-encryption-password set plain-text-password
Información de la versión
Comando introducido en Junos OS versión 19.4R1.
Descripción
Utilice este comando para establecer o reemplazar la contraseña (en texto sin formato).
Opciones
plain-text-password | Establezca o reemplace la contraseña (en texto sin formato). |
Nivel de privilegio requerido
Mantenimiento
Campos de salida
Cuando ingresa este comando, se le proporciona información sobre el estado de su solicitud.
Salida de muestra
solicitar seguridad hsm master-encryption-password set plain-text-password
user@host> request security hsm master-encryption-password set plain-text-password
Enter new master encryption password: Repeat new master encryption password: Binding password with HSM Master encryption password is bound to HSM Encoding master password .. Successfully encoded master password Deleting all previous local certificates, keypairs and certificate requests