Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener 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 la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
Proteja sus aplicaciones con OCI Network Firewall y OCI WAF Regional con Let's Encrypt Certificates
Introducción
En un panorama conformado por una transformación digital generalizada, salvaguardar sus aplicaciones ya no es opcional, es una prioridad crítica. A medida que las organizaciones migran sus cargas de trabajo a Oracle Cloud Infrastructure (OCI), es esencial implementar una sólida defensa contra las amenazas cibernéticas. OCI ofrece una amplia gama de herramientas para fortalecer sus aplicaciones, y en este tutorial, le mostraremos cómo proteger sus activos digitales mediante OCI Network Firewall y OCI Web Application Firewall (WAF) regional/local.
¿Por qué es esencial este tutorial?
A medida que sus aplicaciones se comunican con el mundo exterior, se enfrentan al desafío siempre presente de las amenazas de seguridad cibernética. Este tutorial le ayuda a crear una defensa de varias capas, protegiendo sus aplicaciones contra amenazas conocidas y emergentes aprovechando la potencia de OCI Network Firewall y OCI WAF regional. Exploraremos conceptos importantes, incluido el soporte de múltiples dominios y la generación o renovación de certificados X.509 utilizando herramientas estándar. Además, profundizaremos en el uso del servicio gratuito y ampliamente reconocido Let's Encrypt. Con esto, obtendrá una comprensión completa de las prácticas esenciales para proteger sus aplicaciones.
¿Para quién es este tutorial?
Este tutorial está diseñado para arquitectos de nube, profesionales de la seguridad y desarrolladores que buscan una comprensión completa de las funciones de seguridad de OCI. Tanto si eres un experimentado profesional de la nube como si acabas de comenzar tu viaje hacia la seguridad en la nube, este tutorial te dotará de las habilidades necesarias para crear una defensa sólida en torno a tus aplicaciones.
Qué es OCI Network Firewall
Oracle Cloud Infrastructure Network Firewall representa un servicio de firewall gestionado de vanguardia que se crea mediante Palo Alto Networks. Es una tecnología de cortafuegos de próxima generación (NGFW). Ofrece capacidades de firewall basadas en aprendizaje automático para proteger tus cargas de trabajo de OCI y es fácil de consumir en OCI. Como oferta de firewall como servicio nativo de OCI, OCI Network Firewall le permite 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 OCI Network Firewall proporciona estadísticas detalladas sobre el flujo de datos que entran en sus entornos en la nube, abordando la comunicación entrante e intersubred o entre VCN. En esencia, ofrece visibilidad del tráfico de red Norte-Sur y el tráfico de red Este-Oeste. Para obtener más información, consulte OCI Network Firewall.
Qué es OCI Web Application Firewall regional/local
OCI Web Application Firewall (WAF) es un servicio de seguridad basado en la nube que ayuda a proteger las aplicaciones web de amenazas y ataques de seguridad comunes, como la inyección SQL, los scripts entre sitios (XSS) y la denegación de servicio distribuida (DDoS). La región de OCI WAF es la última versión de WAF que normalmente se despliega a nivel regional, integrada con OCI Load Balancer para proporcionar un mecanismo de defensa flexible y escalable. Para obtener más información, consulte OCI Web Application Firewall.
Arquitectura
Esta arquitectura propuesta incluirá protección total para las cargas de trabajo del arrendamiento mediante los siguientes componentes.
-
OCI WAF regional: este WAF está integrado con un equilibrador de carga flexible de OCI (capa 7) para proteger todo el tráfico HTTP(S) que pasa por el equilibrador de carga.
-
Equilibrador de carga de OCI: este equilibrador de carga recibirá solicitudes de la red pública de Internet.
-
Cortafuegos de red de OCI: también se conoce como cortafuegos de última generación. OCI Network Firewall y WAF, trabajando en conjunto, crearán una defensa de varias capas. Si una capa pierde una amenaza, la otra podría atraparla, proporcionando una postura de seguridad más robusta.
Diagrama de Flujo de Datos
El flujo de datos de red se puede ver fácilmente en el siguiente diagrama de red, las solicitudes entrantes en líneas de puntos verdes y las respuestas en líneas de puntos rojos.
En este diagrama se cumplen las mejores prácticas para desplegar OCI Network Firewall para el tráfico Norte-Sur. En la etapa inicial, el tráfico entrante (representado en verde y que funciona en la capa 7) se dirige a través del gateway de Internet. El gateway de Internet tiene una tabla de enrutamiento asociada para desviar todo el tráfico dirigido a la subred del equilibrador de carga (192.168.6.0/24
) hacia la IP privada de NGFW. Esto asegurará que el tráfico entrante atraviese el NGFW para su inspección.
Tras el flujo de red, el tráfico pasa a OCI Network Firewall o Next-Generation Firewall (NGFW) desde el gateway de Internet. Cabe destacar que OCI Network Firewall recibe sin problemas el tráfico sin terminar la conexión TLS/SSL. OCI Network Firewall aplica perfiles de descifrado para descifrar el tráfico TLS, lo que permite una inspección profunda de paquetes. Para obtener más información, consulte Uso de OCI Network Firewall para descifrado SSL.
Una vez que OCI Network Firewall inspecciona a fondo el tráfico, avanza al equilibrador de carga de OCI, que primero termina la conexión TLS/SSL. A continuación, el WAF asociado realiza una inspección profunda de los paquetes en el tráfico descifrado para asegurarse de que está limpio antes de reenviarlo a los servidores backend. A continuación, el equilibrador de carga ejecuta el enrutamiento del equilibrio de carga e inicia una conexión secundaria al servidor backend seleccionado.
Para el tráfico de retorno de servidores de backend, los servidores de backend responden inicialmente al equilibrador de carga de OCI (ilustrado en rojo y que funciona en la capa 7). Al llegar al equilibrador de carga, el WAF asociado primero inspecciona el tráfico devuelto para asegurarse de que cumple los estándares de seguridad. Después de la inspección de WAF, el equilibrador de carga enruta el tráfico de vuelta a una IP privada, donde OCI Network Firewall realiza comprobaciones de seguridad adicionales en la respuesta. Una vez inspeccionado por el firewall, el tráfico se enruta al gateway de Internet en función de la tabla de enrutamiento asociada con la subred de NGFW. Desde IGW, el tráfico devuelto fluirá al cliente original a través de Internet.
Objetivos
El objetivo principal de este tutorial es capacitar a los usuarios para fortalecer sus cargas de trabajo en la nube mediante la configuración efectiva de OCI WAF regional junto con OCI Network Firewall. Al incorporar certificados X.509 firmados de Let's Encrypt para el front-end del equilibrador de carga de OCI, los usuarios pueden garantizar una conexión segura y validada. El tutorial guía aún más a los usuarios en la implantación de las mejores prácticas de OCI Network Firewall para el tráfico Norte-Sur, el despliegue de una aplicación OCI Load Balancer. En particular, esta configuración designa estratégicamente al equilibrador de carga de OCI como el único componente que utiliza un certificado no autofirmado: Let's Encrypt certificate, mientras que otros elementos que utilizan la seguridad de capa de transporte (TLS) utilizan certificados autofirmados sin complicaciones, que son más fáciles de gestionar.
-
Tarea 1: Despliegue local de OCI Web Application Firewall (WAF).
-
Tarea 2: Firmar el certificado del servidor con Let's Encrypt.
-
Tarea 3: Configurar OCI Load Balancer.
-
Tarea 4: Configurar OCI Network Firewall.
-
Tarea 5: Configurar el enrutamiento de OCI.
Requisitos
-
Un arrendamiento de OCI activo. Debe tener los permisos necesarios para crear y gestionar recursos de red en OCI.
-
Comprensión básica del sistema operativo Linux, OCI y Oracle Linux, incluida la forma de instalar y configurar software en Linux.
-
Conocimientos prácticos sobre cómo utilizar la consola de OCI o la interfaz de línea de comandos de Oracle Cloud Infrastructure (CLI de OCI) para crear y gestionar recursos de red.
-
Un buen conocimiento sobre cómo utilizar y configurar OCI Network Firewall y OCI WAF local.
-
Una buena comprensión de la tecnología SSL / TLS y los certificados digitales X.509. Para obtener más información, consulte esta guía recomendada para profundizar en los certificados X.509: Certificados X509 y SSL/TLS: Understand TLS/SSL encryption technology.
Tarea 1: Despliegue local de OCI Web Application Firewall
El primer componente que vamos a desplegar es local de WAF.
-
Conéctese a la consola de OCI y haga clic en Web Application Firewall.
-
En Políticas, haga clic en Crear política de WAF e introduzca la siguiente información. Haga clic en Siguiente.
-
En Política de control de acceso, seleccione Activar control de acceso si es necesario el control de acceso. Para obtener más información, consulte Controles de acceso para políticas de Web Application Firewall.
-
En Política de limitación de frecuencia, seleccione Activar para configurar reglas de limitación de frecuencia si es necesario limitar la frecuencia. Para obtener más información, consulte Limitación de frecuencia para Web Application Firewall.
-
En Protections, seleccione Enable to configure protection rules si es necesario configurar la protección. Para obtener más información, consulte Protecciones para Web Application Firewall.
-
En Seleccionar punto de aplicación, el objetivo de este menú es asociar las políticas de WAF recién creadas a un equilibrador de carga existente. Si no se ha creado ningún equilibrador de carga o está disponible en este momento, puede omitir este paso y asociar las políticas al crear el equilibrador de carga.
Tarea 2: Firmar certificado de servidor con Let's Encrypt
En este tutorial, utilizaremos un servicio de CA público gratuito llamado Let's Encrypt para firmar nuestro certificado de servidor. Por lo tanto, el certificado de cadena aparecerá de la siguiente manera:
1.-End-user Certificate - Issued to: *.example.com; Issued By: Let’s Encrypt R3
2.-Intermediate Certificate 1 - Issued to: Let’s Encrypt R3 (RSA 2048, O = Let's Encrypt, CN = R3); Issued By: Signed by ISRG Root X1:ISRG Root X1 (RSA 4096, O = Internet Security Research Group, CN = ISRG Root X1)
3.-Root certificate - Issued by and to: ISRG Root X1 (RSA 4096, O = Internet Security Research Group, CN = ISRG Root X1) , Selfsigned
In PEM format:
-----BEGIN CERTIFICATE-----
MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
EwJSMzAeFw0yNDAxMTUxNjAyMTNaFw0yNDA0MTQxNjAyMTJaMBgxFjAUBgNVBAMM
DSouZnd0ZXN0LnNpdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1
3NkuEB3r0m/cIWjYBvXEg8QAcib3QjkGO2YwDRu9IwjyxTYTqiWp0F8ZYh2hM1zP
...xxxx
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
oIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
sxPnHKzhm+/b5Dt....XXXX
-----BEGIN CERTIFICATE-----
oOFTJOwT2e4ZvxCzSow/iaNhUd6shweU9GNx7C7ib1uYgeGJXDR5
bHbvO5BieebbpJovJsXQEOEO3tkQjhb7t/eo98flAgeYjzYIlefiN5YNNnWe+w5y
sR2bvAP5SQXYgd0FtCrWQemsAXaVCg/Y39W9Eh81LygXbNKYwagJZHduRze6zqxZ
Xmidf3LWicUGQSk+WT7dJvUsWqNMQB9GoZm1pzpRboY7nn1ypxIFeFntPlF4
FQsDj43QLwWyPntKHEtzBRL8xurgUBN8Q5N0s8p0544fAQjQMNRbcTa0B7rBMDBc
SLeCO5imfWCKoqMpgsy6vYMEG6KDA0Gh1gXxG8K28Kh8hjtGqEgqiNx2mna/H2ql
PRmP6zjzZN7IKw0KKP/32+IVQtQi0Cdd4Xn+GOd....xxx
-----END CERTIFICATE-----
Entonces, antes de usar Let's Encrypt, necesitamos instalar cierto software que nos ayudará a crear nuestro certificado Let's Encrypt o firmar una CSR para firmar. Para obtener más información, consulte Ciframos.
Para firmar, vamos a utilizar certbot de Let's Encrypt. Para obtener más información sobre las instrucciones de configuración, consulte Configuración de instrucciones. Para instalarlo en Oracle Linux, consulte Let's Encrypt - Free Certificates on Oracle Linux (CertBot).
Una vez instalado certbot, puede crear fácilmente un certificado x.509 firmado ejecutando el siguiente comando.
sudo certbot certonly --manual --preferred-challenges=dns --email YOUR EMAIL ADDRESS --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.example.com --key-type rsa
Dado que estamos utilizando un dominio comodín (_.example.com
), certbot requiere un desafío de verificación para confirmar la propiedad de _.example.com
. Elegimos la comprobación de DNS mediante la opción –preferred-challenges=dns. Durante la ejecución de certbot, obtendremos un mensaje sobre la comprobación de DNS como se muestra en la siguiente imagen.
Dado que estamos utilizando un servicio DNS de OCI, solo creamos un registro txt en la zona example.com
.
Ahora, certbot debe terminar el proceso, lo que le permite obtener el certificado de usuario final, completo con la cadena de CA completa y su clave privada correspondiente. Utilizaremos este certificado de usuario final (con su cadena completa) para el listener https del equilibrador de carga más adelante en este tutorial.
Tarea 3: Configurar OCI Load Balancer
Después de completar la configuración para OCI WAF local, nuestro siguiente objetivo es desplegar OCI Load Balancer en la capa 4 a 7, también conocido como OCI Flexible Load Balancer, para que sirva como servicio orientado al público con un WAF local asociado a él.
-
Abra la consola de OCI, haga clic en Red y Equilibrador de carga.
-
Haga clic en Crear equilibrador de carga, introduzca la siguiente información y haga clic en Siguiente.
-
Nombre de equilibrador de carga: introduzca el nombre del equilibrador de carga.
-
Seleccionar tipo de visibilidad: seleccione el equilibrador de carga Público.
-
Ancho de banda: seleccione la unidad del equilibrador de carga y otros detalles de configuración.
-
Seleccionar red: seleccione una VCN con al menos dos subredes públicas, una para OCI Load Balancer y otra para OCI Network Firewall.
-
Mostrar opciones avanzadas: seleccione Utilizar una política de firewall de aplicación web para proteger contra ataques de capa 7 y elija el WAF local creado anteriormente.
-
-
Omita la sección Seleccionar backends, ya que agregaremos servidores backend más adelante una vez que se haya creado el equilibrador de carga y haga clic en Siguiente.
-
En Configurar listener, introduzca la siguiente información y haga clic en Siguiente.
Configuraremos los listeners del equilibrador de carga de solicitudes entrantes, esencialmente el punto de entrada principal del equilibrador de carga en el que recibimos todas las conexiones del mundo exterior. Tendremos que configurar HTTPS para HTTP seguro en el puerto por defecto
443
, lo que inevitablemente requiere el uso de certificados X.509 (certificados SSL). Mediante el uso de HTTPS nos aseguraremos de que todas las conexiones estén cifradas de forma segura.En un escenario típico en el que el equilibrador de carga público sirve como punto de entrada principal para los usuarios finales de Internet, es imprescindible cargar certificados SSL firmados por una autoridad de certificación (CA) pública de buena reputación, como Digicert, Global Sign, Let's Encrypt y otros. Además, estos certificados expuestos a Internet deben renovarse cerca de sus fechas de caducidad para garantizar que los clientes no encuentren mensajes innecesarios como Su conexión no es privada. ERR_CERT_DATE_INVALID.
Dicho esto, tendrá que cargar tanto los detalles públicos como privados del certificado Let's Encrypt que ha creado. Asegúrese de que ambos componentes se cargan correctamente para facilitar conexiones seguras. Asegúrese de cargar el certificado de cadena completa (que incluye CA intermedias y/o raíz) en la parte pública.
-
Gestionar Registro es una configuración opcional y no está dentro del ámbito de este tutorial. Haga clic en Ejecutar.
-
Después de un tiempo, se creará el equilibrador de carga. Ahora, necesitamos configurar los servidores backend. Dado que SSL se utilizará para los servidores backend, primero debemos crear al menos un certificado en la sección de certificados del equilibrador de carga que se utilizará para configurar la conexión SSL para los servidores backend. Como se ha descrito anteriormente, este paquete de certificados se puede crear manualmente con herramientas de terceros o puede utilizar el servicio de gestión de certificados de OCI. Para este tutorial, utilizaremos la herramienta XCA.
Vaya a Redes, Equilibradores de carga, Equilibrador de carga, Detalles del equilibrador de carga y Certificados.
-
En la sección Certificado, seleccione Recurso de certificado como Certificado de gestión de equilibrador de carga y haga clic en Agregar certificado.
Agregue el certificado de CA raíz o intermedia de CA pública que ha utilizado para firmar los certificados SSL del servidor backend. Como recordatorio, hemos estado utilizando certificados autofirmados con cualquier nombre común y SAN, y sin una fecha de caducidad. No es necesario instalar ningún certificado de servidor aquí, ya que el equilibrador de carga solo utilizará la CA raíz para la validación del certificado del servidor backend.
-
Para crear los servidores de backend, seleccione Juegos de backends y haga clic en Crear juego de backends.
-
En Crear juego de backends, introduzca la siguiente información.
- Nombre del juego de backends: introduzca el nombre del juego de backends.
- Seleccione SSL.
- Seleccione Certificado de gestión de equilibrador de carga.
- Agregue el certificado que creó en el paso 7. Si desea asegurarse de que el equilibrador de carga comprueba la firma del certificado SSL recibido, haga clic en Verificar certificado de peer.
- Comprobaciones del sistema:
- Protocolo: seleccione
HTTP
. - Puerto: seleccione el puerto
443
. - Intervalos y timeout: mantenga el intervalo y el timeout predeterminados (10000 y 3000 ms).
- Para la respuesta de estado de la comprobación del sistema, seleccione 200.
- Ruta de acceso de URL (URI): agregue cualquier recurso de la URL que exista en el servidor web. Por ejemplo:
index.html
,mainpage.html
etc.
- Protocolo: seleccione
Tarea 4: Configuración de OCI Network Firewall
Una vez configurado OCI Load Balancer, nuestro objetivo es configurar un firewall de red de OCI para proteger el tráfico Norte-Sur. El firewall se colocará entre el equilibrador de carga recién configurado y el gateway de Internet. Para continuar con la configuración de OCI Network Firewall, consulte Uso de OCI Network Firewall para el proxy de reenvío SSL y la inspección de entrada mediante la regla de descifrado y complete lo siguiente.
-
Despliegue la política de OCI Network Firewall para el modo de inspección de entrada SSL. Para obtener más información, consulte Uso de OCI Network Firewall para descifrado SSL.
-
Al crear el secreto asignado para el perfil de descifrado, utilice el certificado autofirmado idéntico (que contiene claves públicas y privadas) que se ha cargado previamente en el listener del equilibrador de carga de OCI. Recomendamos seguir este tutorial para la creación de archivos JSON. Consulte Creación de plantillas JSON totalmente compatibles a partir de certificados PEM personalizados para OCI Network Firewall.
-
Despliegue el firewall de red de OCI en la subred de publicación de GNFW (192.168.5.0/24) al asociar la política de firewall de red de OCI creada anteriormente. Esta acción asignará una dirección IP privada de la subred mencionada al firewall de red de OCI, que será necesario para la configuración de enrutamiento más adelante.
Tarea 5: Configuración del enrutamiento de OCI
El firewall de red de OCI se ha desplegado. Debemos asegurarnos de que el tráfico Norte-Sur lo atraviese en ambas direcciones. Lo primero que hay que hacer es crear una tabla de enrutamiento dedicada para el gateway de Internet asociado a la VCN en la que se encuentra OCI Network Firewall.
-
Cree la tabla de enrutamiento en la VCN y agregue una entrada de Tipo de destino como
private IP
, Destino como bloque de CIDR, introduciendo el bloque de CIDR de subred de equilibrador de carga, para este tutorial192.168.6.0/24
y Destino como la IP privada asignada al firewall de red de OCI desplegado en la tarea 6. -
Asocie la tabla de enrutamiento al gateway de Internet, haga clic en tres puntos y en Asociar tabla de rutas y, a continuación, seleccione la tabla de enrutamiento.
-
Una vez que esta tabla de enrutamiento esté asociada al gateway de Internet, todo el tráfico dirigido al equilibrador de carga público
192.168.6.0/24
se redirigirá inicialmente a la IP privada192.168.5.78
, donde reside el firewall de red de OCI.Desde la IP privada de OCI Network Firewall
192.168.5.78
, después de la inspección de paquetes desde OCI Network Firewall, el paquete mantendrá su recorrido hacia OCI Load Balancer. A partir de ahí, se dirigen a su destino final entre los servidores backend seleccionados, determinados por la configuración de enrutamiento del equilibrador de carga.Ahora, es esencial asegurarse de que los paquetes que regresan a los usuarios de Internet sigan la misma ruta en orden inverso, recorriendo OCI Network Firewall para la inspección de las respuestas también. Necesitamos crear una tabla de enrutamiento para la subred pública del equilibrador de carga a fin de enrutar las respuestas de los servidores backend a través de la IP privada de OCI Network Firewall
192.168.5.78
, como se muestra en la siguiente imagen.
Desde la subred de OCI Network Firewall, debemos asegurarnos de que las respuestas se enruten al gateway de Internet agregando una ruta 0.0.0.0/0
al gateway de Internet.
Después de llegar al gateway de Internet, los paquetes se reenvían a su origen. Como prueba, vaya a https://www.test.com
.
Enlaces relacionados
Agradecimientos
- Autores: Luis Catalán Hernández (Especialista en OCI Cloud Network y Multi Cloud), Sachin Sharma (Especialista en OCI Cloud Network)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visita education.oracle.com/learning-explorer para convertirte en un Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Secure Your Applications using OCI Network Firewall and OCI WAF Regional with Let's Encrypt Certificates
G17244-01
October 2024