Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos del entorno en la nube.
Creación de plantillas JSON totalmente compatibles a partir de certificados PEM personalizados para OCI Network Firewall
Introducción
Oracle Cloud Infrastructure Network Firewall (OCI Network Firewall), una sólida solución de seguridad de red, proporciona funciones de seguridad avanzadas, incluidos perfiles de descifrado. Estos perfiles permiten al firewall descifrar e inspeccionar el tráfico SSL/TLS para mejorar la seguridad.
En este tutorial, simplificaremos el proceso de generación de plantillas JSON totalmente compatibles basadas en certificados de correo con privacidad mejorada (PEM), lo que le permitirá configurar perfiles de descifrado de forma eficaz en OCI Network Firewall sin obtener errores de análisis de secretos asignados innecesarios (es decir, Fallo de 'secreto asignado' de secreto asignado). No se ha podido recuperar el secreto).
Para emplear reglas de descifrado de forma eficaz, es esencial establecer secretos asignados para su utilización en un perfil de descifrado. Estos secretos asignados se crean inicialmente en Oracle Cloud Infrastructure Vault y, posteriormente, se enlazan a los modos Inspección de entrada SSL o Proxy de reenvío SSL.
Qué es el firewall de red de OCI
Oracle Cloud Infrastructure Network Firewall representa un servicio de firewall gestionado de vanguardia que se crea con la tecnología de firewall de última generación (NGFW) de Palo Alto Networks. Ofrece capacidades de firewall basadas en aprendizaje automático para proteger sus cargas de trabajo de OCI y es fácil de consumir en OCI. Como oferta de firewall como servicio nativa de OCI, OCI Network Firewall le permite comenzar a aprovechar las funciones de firewall sin necesidad de configurar y gestionar una infraestructura de seguridad adicional. La instancia de OCI Network Firewall es altamente escalable con alta disponibilidad incorporada y se puede crear en una red virtual en la nube (VCN) y una subred de su elección
El servicio Network Firewall proporciona estadísticas detalladas sobre el flujo de datos que entran en tus entornos en la nube y abordan la comunicación entrante y entre subredes/entre VCN. En esencia, ofrece visibilidad del tráfico de red Norte-Sur y del tráfico de red Este-Oeste.
Al seguir este tutorial, podrá crear las plantillas JSON basadas en certificados de CA (incluidos los intermedios) más los pares de certificados públicos y privados necesarios para el descifrado.
Objetivos
-
Descargar e instalar Perl.
-
Descargar e instalar OpenSSL.
-
Proporcione un código de script simple para simplificar la creación de plantillas JSON, incluidos los certificados PEM solicitados, para activar el proceso de descifrado SSL.
-
Pruebe los scripts.
Requisitos
-
Un arrendamiento activo de OCI. Debe tener los permisos necesarios para crear y gestionar recursos de red en OCI.
-
Conocimientos básicos del sistema operativo Linux, OCI y Oracle Linux, incluido cómo instalar y configurar softwares en Linux.
-
Conocimientos avanzados sobre cómo utilizar la consola de OCI o la CLI de OCI para crear y gestionar recursos de red.
-
Comprender bien cómo utilizar y configurar OCI Network Firewall.
Tarea 1: Configuración de la plantilla JSON para configurar la autenticación de certificados
Hemos creado un script de Linux para crear un archivo JSON con el formato correcto a partir de sus propios certificados. Para obtener más información, consulte Setting Up Certificate Authentication.
Así es como se ve el archivo JSON.
{
"caCertOrderedList" : [
"ROOT_CERT01_PEM_CONTENT",
"INTERMEDIATE_CERT01_PEM_CONTENT",
"INTERMEDIATE_CERT02_PEM_CONTENT",
],
"certKeyPair": {
"cert" : "LEAF_CERT_01_PEM_CONTENT",
"key": "PRIVATE_KEY_01_PEM_CONTENT"
}
}
Puede aprender a crear el archivo JSON a partir de los certificados obligatorios en función del modo de descifrado, de la siguiente manera:
-
caCertOrderedList, certificados de autoridad de certificación (CA):
-
Inspección de entrada SSL: Este es el modo en el que protege el tráfico SSL/TLS de los clientes a los servidores de red de destino (cualquier servidor para el que tenga el certificado y pueda importarlo al firewall de red) y bloquea las sesiones sospechosas. Si el certificado de servidor, también conocido como certificado de hoja, está firmado por certificados de CA intermedios, recomendamos cargar el certificado de cadena completo ["CA root","CA intermedia 1", "CA intermedia 2" ...].
Nota: En
caCertOrderedList, cargue todos los certificados de cadena de CA para evitar problemas de autenticación de certificados de servidor de cliente, ya que es posible que algunos clientes no tengan la cadena de CA completa instalada en su almacén de confianza. -
Proxy de reenvío SSL: Este es el modo en el que protege el tráfico SSL/TLS que va a sitios externos, funciona como un proxy de reenvío SSL. Utilice este modo al descifrar e inspeccionar el tráfico de usuarios internos a la web. Por razones obvias, no es propietario de las claves privadas de certificados de sitios externos, por lo que Firewall no puede utilizarla para descifrar y capturar la clave maestra de sesión durante la negociación TLS (RSA) como lo hace en SSL Inbound Inspection. En este modo, el Firewall actuará como un hombre en el medio, haciendo que una copia de los certificados recibidos de servidores web externos lo firme con una CA que esté en nuestra posesión (idealmente una CA Enterprise). Este certificado "copiado", denominado certificado de suplantación. Marque Número de punto 5.
Nota: En
caCertOrderedList, cargue todo el certificado de CA encadenado de Enterprise ["raíz de Enterprise CA", "Enterprise CA intermedio 1", "Enterprise CA intermedio 2" ...].
-
-
certKeyPair, certificado de servidor y su clave privada:
-
Inspección de entrada SSL: en un modo de inspección de entrada, estos son los servidores de destino que desea proteger mediante Network Firewall (es decir, el equilibrador de carga de aplicaciones) de clientes externos. Como se mencionó anteriormente, estos servidores de destino son servidores que tiene todo el certificado (clave privada + certificado) y están bajo su control. Aquí es donde instala el certificado público del servidor en el campo "cert" y la clave privada en el campo "key".
-
Proxy de reenvío SSL: En un modo de proxy de reenvío SSL, está protegiendo el tráfico SSL/TLS de los clientes internos que van a sitios/webs externos. Como se mencionó anteriormente, no es propietario de los certificados de sitios externos (certificado privado + público), por lo tanto, Firewall debe suplantar los certificados recibidos para actuar como proxy man-in-the-middle. Para ello, necesitamos instalar una CA personalizada o una CA de empresa (raíz o no raíz) junto con su clave privada en el firewall, para que el firewall pueda firmar la copia de los certificados de servidor recibidos (impersonación) mediante la clave privada de CA. En certKeyPair, instale el certificado de CA de empresa en el campo "cert" y su clave privada en el campo "key".
Nota: El problema que hemos observado es que muchos clientes utilizan sus editores de texto, copian y pegan sus certificados con el formato JSON propuesto, lo que da como resultado un JSON incorrecto. Este problema está relacionado con las diferencias entre Windows y los saltos de línea de linux "\r\n".
El error que puede encontrar desde la consola de OCI al crear el firewall de red puede ser "Error de secreto asignado 'Mapped-secret'. No se ha podido recuperar el secreto".
-
-
Cree el archivo JSON mencionado con los certificados.
-
Copie el código siguiente.
cat > certificates.json << EOF { "caCertOrderedList" : [ "$(perl -pe 's/\n/\\n/' ca.cert.pem)" $(for ((i=1; i<=10; i++)); do intermediate_file="ca.intermediate${i}.pem" if [ -f "$intermediate_file" ]; then echo -n ", \"$(perl -pe 's/\n/\\n/' "$intermediate_file")\"" fi done) ], "certKeyPair": { "cert" : "$(perl -pe 's/\n/\\n/' cert.pem)", "key": "$(perl -pe 's/\n/\\n/' key.pem)" } } EOF -
Pegue el archivo VM de Linux con la extensión
sh.vi create_json.sh -
Pulse la tecla ESC, introduzca dos puntos
:e introduzcawq. Pulse Intro para escribir el archivo y salir del editor. -
Una vez creado el archivo, debe convertir el script en ejecutable.
chmod +x create_json.sh -
Ahora que tenemos el script listo, necesitamos traer los certificados necesarios para crear el archivo JSON final. La secuencia de comandos necesita los siguientes nombres de archivos
PEM:-
ca.cert.pem: es el certificado de CA ROOT que se ha utilizado para firmar el certificado del servidor web interno en modo SSL entrante. Además, podría ser la CA de empresa raíz que se utilizará en modo de proxy de reenvío. -
ca.intermediateX.pem: si la CA que se utiliza tiene certificados intermedios/encadenados, agréguelos comoca.intermediate1.pem,ca.intermediate2.pem, etc. (hasta diez). Esto asegurará que los clientes no tengan problemas de autenticación al no tenerlos instalados en su almacén de CA de confianza. -
cert.pem: certificado del servidor (público) que está protegiendo en modo de entrada SSL. También puede ser el certificado de Enterprise CA en modo de proxy de reenvío. -
key.pem: es la clave privada del certificado del servidor que está protegiendo en el modo de entrada SSL. También puede ser la clave privada del certificado de Enterprise CA en modo de proxy de reenvío.
-
-
Ejecutar el archivo de comandos.
./create_json.shGenerará un archivo denominado
certificates.jsonque puede copiar y pegar fácilmente en el almacén/secreto para utilizarlo en la política de firewall de red de OCI.
Enlaces relacionados
Agradecimientos
- Autoras: Luis Catalán Hernández (Especialista en redes de OCI Cloud y multinube), Sachin Sharma (Especialista en redes de OCI Cloud)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Create Fully Compatible JSON Templates from Custom PEM Certificates for OCI Network Firewall
F89630-01
November 2023
Copyright © 2023, Oracle and/or its affiliates.