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.
Protección de la red interna de Oracle Cloud Infrastructure mediante un firewall de DNS
Introducción
Tener el control de lo que están haciendo sus instancias de máquina virtual (VM) es esencial para que pueda controlar su comportamiento. En la mayoría de los casos, las consultas del sistema de nombres de dominio (DNS) se olvidan y no se controlan ni supervisan, lo que deja el camino abierto para que una máquina comprometida se conecte a servidores de comandos y control (C2) y descargue software malicioso, por ejemplo. Ser capaz de controlar y bloquear estas consultas salientes a servidores C2 y otros tipos de servidores maliciosos, agrega una capa adicional de seguridad a su red, y es posible que evite que su máquina virtual y red se vean aún más comprometidas.
Objetivos
- Utilice el servicio DNS privado de Oracle Cloud Infrastructure (OCI) para proteger su red interna de OCI contra consultas DNS salientes maliciosas configurando un firewall de DNS y agregando registro para tener un mejor control y visibilidad de las consultas DNS de sus instancias.
Requisitos
-
Acceso a un arrendamiento de OCI.
-
Conocimientos básicos de DNS.
-
Una red virtual en la nube (VCN).
Configuración: por defecto, cada VCN se crea con su propio solucionador de DNS y, si presta atención a la configuración en máquinas Linux, se configuran en el archivo
/etc/resolv.conf
con el siguiente contenido (por ejemplo, para Oracle Linux 9):[opc@linu-lab ~]$ cat /etc/resolv.conf ... nameserver 169.254.169.254
La dirección de dirección IP privada automática (APIPA)
169.254.169.254
se utiliza en la red de OCI para varios servicios, entre ellos el solucionador de DNS. -
Una cuenta en cualquier proveedor de firewall de DNS (opcional).
Tarea 1: Localización del solucionador de DNS en la consola de OCI
Asegúrese de que ya ha creado una VCN y haga clic en el nombre de la VCN. En la página Detalles de red virtual en la nube, haga clic en Solucionador de DNS.
Tarea 2: Configuración de un punto final de reenvío
-
En Recursos, haga clic en Puntos finales y en Crear punto final.
-
En la página Crear punto final, introduzca la siguiente información y haga clic en Crear punto final.
- Nombre: introduzca un nombre.
- Subred: seleccione la subred en la que desea el punto final del reenviador.
- Tipo de punto final: seleccione Reenvío.
Debe tomar un par de minutos y cuando termine, tendrá su reenviador DNS creado. Esto nos permitirá configurar una redirección de consultas donde queramos, en nuestro caso a un firewall DNS.
El solucionador de DNS sigue un orden en el que se resuelven las consultas de las instancias:
En primer lugar, comprobará todas las vistas privadas asociadas y, a continuación, las reglas de resolución y, por último, utilizará los propios solucionadores de Internet públicos de Oracle para resolver los nombres de host. Para obtener más información, consulte Configuración y resolución.
En el siguiente paso, queremos desviar todas las consultas que no son locales (no existen en ninguna vista privada) y enviarlas a un servicio de firewall de DNS o a algún otro servidor DNS gestionado por su compañía para controlar las consultas.
Puede optar por elegir un servicio gratuito, como OpenDNS, Quad9, ControlD y muchos otros, o elegir un servicio de pago con mucho más control y características, como Cisco Umbrella, ControlD, NextDNS, InfoBlox y muchos más.
Nota: No tenemos ninguna conexión con los proveedores de DNS mencionados en la tarea 3. Se utilizan como ejemplo debido a la simplicidad, facilidad de uso y configuración. Hay muchos otros proveedores que ofrecen servicios similares, encontrar el que mejor se adapte a sus necesidades.
Tarea 3: Creación de una regla de solucionador
-
Uso de un servicio de firewall de DNS gratuito
Recuerde que el solucionador evaluará las reglas según su orden y se detendrá en la primera coincidencia. Asegúrese de que si tiene otras reglas para dominios internos, nuestra regla es la última, para que podamos redirigir todas las demás consultas a nuestro firewall de DNS.
En este tutorial, utilizamos el servicio Quad9, este es un servicio gratuito que es muy simple de usar sin prácticamente ninguna configuración. Otros servicios gratuitos como ControlD le permiten configurar varias categorías de consultas para que se bloqueen.
-
En Recursos, haga clic en Reglas y en Gestión de reglas.
-
En la página Gestionar reglas, introduzca la siguiente información.
-
Condición de regla: seleccione Ninguno para crear un cliente Coincidir con todo, lo que significa que todas las consultas no resueltas en las vistas privadas o por las reglas anteriores se desviarán al reenviador del solucionador y no serán resueltas por el solucionador público de Internet de OCI.
-
Punto de origen: seleccione el punto final de reenviador creado en la tarea 2.
-
Dirección IP de destino: utilizamos los servidores DNS Quad9
9.9.9.9
.
-
-
Haga clic en Guardar cambios y espere unos minutos a que se actualice el solucionador.
Todas las consultas de la instancia se envían al servicio de firewall de DNS Quad9 y se bloquean si alguna instancia intenta conectarse a una IP maliciosa.
O bien:
-
-
Uso de un servicio de firewall de DNS de pago
Si necesita más control, características y registro, entonces tal vez el servicio gratuito no sea la solución para su caso. Los servicios de pago ofrecen mucho más control y características que los servicios gratuitos y pueden permitirle detectar instancias que realizan consultas sospechosas a nombres de host que no deberían.
En este tutorial, utilizaremos NextDNS y hay algunos pasos adicionales que se necesitan para que funcione.
En primer lugar, necesita una cuenta, NextDNS ofrece un nivel gratuito con hasta 300K consultas al mes, que debería ser más que suficiente para probar el servicio. Después de tener la cuenta, conéctese y cree un nuevo perfil para la VCN.
-
Haga clic en Nuevo e introduzca un nombre.
-
Haga clic en Configuración y seleccione la región en la que se guardarán los logs. Puede elegir entre EE. UU., Europa o Suiza.
-
Haga clic en Seguridad y seleccione cómo filtrar y bloquear IP maliciosas mediante IA, mediante fuentes y muchas más opciones.
-
Haga clic en Privacidad y agregue la lista de IP maliciosas conocidas, rastreadores, servidores de anuncios y mucho más.
-
También puede crear listas de denegación y permiso en DenyList y AllowList.
La mejor parte de este servicio son las capacidades de registro y análisis. Esto nos permitió encontrar una extensión de navegador en la computadora portátil haciendo docenas de miles de consultas a un nombre de host muy extraño, lo que resultó en la eliminación de la extensión.
-
Ahora, haga clic en Configuración y podemos ver que hay diferentes puntos finales, IPv4, IPv6, DoT (DNS sobre TLS) y DOH (DNS sobre HTTP).
-
En este tutorial, utilizaremos IPv4, y tenemos IP específicas para sus solucionadores, solo necesitamos vincular nuestra dirección IP, para que NextDNS sepa de dónde provienen las consultas, para que puedan registrarlas en su perfil.
Para ello, necesitamos iniciar sesión en una de las instancias con acceso a Internet (a través de NAT) y ejecutar el siguiente comando para enlazar la IP al perfil.
[opc@linux-lab ~]$ curl https://link-ip.nextdns.io/d34ff7/fd11c0xxxxx67cab 158.101.204.149[opc@linux-lab ~]$
Haga clic en Mostrar opciones avanzadas, IP enlazada y obtenga el enlace correcto para su perfil.
El script devolverá la IP del gateway de NAT de OCI, que utiliza el solucionador de DNS de OCI para realizar todas las consultas.
Solo necesitamos realizar un último cambio en la regla de solucionador para apuntar a la IP IPv4 del solucionador NextDNS.
-
En la página de resolución de VCN, haga clic en Reglas, suprima la regla que hemos agregado anteriormente y cree una nueva que apunte a la IP
45.90.28.43
.Una vez que el solucionador de DNS de OCI se actualice con este cambio, todas las instancias internas que realicen consultas de DNS en esta VCN utilizarán el servicio de firewall NextDNS.
Crear una lista de denegación
Vamos a crear una lista de denegación y comprobar si funciona. Vaya a la consola NextDNS, seleccione el perfil creado y haga clic en DenyList. Agregue el dominio
malicious.site
y haga clic en Intro.En la instancia interna, intente resolver la IP de este dominio.
[opc@linux-lab ~]$ dig +short A malicious.site 0.0.0.0
Como se esperaba, la consulta no se resuelve en ninguna IP y se devuelve
0.0.0.0
. Además, se ha registrado la consulta.El separador Análisis comienza a mostrar información sobre todas las consultas realizadas en este perfil. A partir de ahora, todas las consultas realizadas por instancias internas dentro de su VCN utilizarán la regla de solucionador para reenviar consultas al firewall de DNS.
-
Notas:
Todos estos proveedores tienen redes anycast y arquitecturas altamente resilientes y escalables, que deberían sostener el fallo de los servidores, pero si desea aumentar la resiliencia de su propia arquitectura, debe Implantar un equilibrador de carga de red en OCI que se utilizará como reenviador en la regla de solucionador y utilizar las varias IP proporcionadas por los proveedores de DNS como backends del equilibrador de carga de red. En caso de que una de las IP del proveedor de DNS se caiga, lo que sería muy inusual, el equilibrador de carga de red cambia el tráfico a la otra IP.
Recuerde que la lista de seguridad de la subred donde se despliega el reenviador de punto final de DNS privado debe permitir conexiones en el puerto 53 del protocolo de datagramas de usuario (UDP) y el protocolo de control de transmisión (TCP), para poder recibir consultas DNS.
Esta subred debe tener conectividad a Internet a través de un gateway de NAT. Asegúrese de que tanto las listas de seguridad como las tablas de enrutamiento estén correctamente configuradas para permitir esto.
Enlaces relacionados
Agradecimientos
- Autor: Carlos Jorge Santos (ingeniero de OCI Cloud - especialista en dominios de red)
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.
Protect your Oracle Cloud Infrastructure Internal Network using a DNS Firewall
G16355-01
September 2024