El caso

La base de datos de la tienda tenía dirección pública. Cualquiera en internet podía tocar a su puerta.

Isaac creó el servidor web y la base de datos de la tienda de la misma manera: cada VM con una dirección pública, para facilitar el acceso. Al día siguiente, el log de la base de datos ya mostraba cientos de intentos de inicio de sesión desde países a los que él nunca le había vendido.

Solo el servidor web necesitaba ser visto desde internet. La base de datos solo necesitaba hablar con el servidor web.

Este post parte de Regiones y zonas, de Máquinas virtuales y de Seguridad y responsabilidad compartida en la nube: la configuración de red es parte de la seguridad que te toca a ti.

El problema

Todo expuesto

Una VM con dirección pública recibe intentos de acceso todo el tiempo, de robots que recorren internet buscando puertos abiertos. Cuantas más cosas expuestas, mayor es la superficie de ataque.

La mayoría de los componentes de un sistema no necesita ser alcanzada desde afuera: la base de datos, las colas, los servicios internos. Solo necesitan hablar con otros componentes.

La solución

Una red privada, solo tuya

La nube te deja crear una red virtual, un pedazo de la red del proveedor aislado de los otros clientes, donde defines las direcciones, las reglas y las rutas. En AWS y Google Cloud se llama VPC; en Azure, Virtual Network (VNet); en Oracle, VCN.

Dentro de ella, divides el espacio en subredes. La subred es lo que decide quién puede ver a quién:

  • Subred pública (public subnet): tiene una ruta hacia internet. Aquí quedan los componentes que el mundo necesita alcanzar, como el servidor web.
  • Subred privada (private subnet): no tiene ruta de entrada desde internet. Aquí viven la base de datos y los servicios internos.
InternetPuerta de enlace de internet✕ bloqueadoRed virtual (VPC)Subred públicaServidor webFirewall: solo 80 y 443Subred privadaBase de datosSolo acepta el servidor web
El servidor web queda visible; la base de datos, no.

Red virtual (virtual private cloud, VPC)

Tu espacio aislado en la nube. Eliges el rango de direcciones privadas y lo que entra en él.

En la tienda: una única red para toda la tienda.

Subred (subnet)

Una división de la red virtual. Define, por medio de las rutas, quién habla con internet y quién no.

En la tienda: una subred pública para el sitio y una privada para la base de datos.

Puerta de enlace de internet (internet gateway)

La puerta que conecta la red virtual con internet, en ambos sentidos, para quienes tienen dirección pública.

En la tienda: es por ahí que el cliente llega al sitio.

NAT

Permite que quien está en la subred privada salga a internet, sin permitir que alguien entre.

En la tienda: la base de datos descarga actualizaciones, y nadie de afuera la alcanza.

El nombre en cada nube

Los conceptos valen para cualquier proveedor. Cambian los productos:

AWSAzureGoogle CloudOracle Cloud
Red virtual (virtual network)VPCVirtual NetworkVPCVCN
Salida sin entrada (NAT)NAT GatewayNAT GatewayCloud NATNAT Gateway
VPN hasta la empresa (site-to-site VPN)Site-to-Site VPNVPN GatewayCloud VPNSite-to-Site VPN
Enlace dedicado (dedicated connection)Direct ConnectExpressRouteCloud InterconnectFastConnect

Quién puede entrar

Firewalls

La subred dice por dónde puede pasar el tráfico. El firewall dice qué puede pasar. Son reglas de entrada y de salida: desde qué dirección, hacia qué puerto, con qué protocolo.

En general, todo lo que no fue permitido explícitamente está bloqueado. Abres solo lo necesario:

QuiénRegla de entrada (inbound rule)
Servidor webCualquier dirección, puertos 80 y 443 (la web)
Base de datosSolo el servidor web, en el puerto de la base de datos

Cada proveedor tiene el suyo: grupos de seguridad en AWS, Network Security Groups en Azure, reglas de firewall de la VPC en Google Cloud y Network Security Groups en Oracle. Cambian los nombres y algunos detalles; la idea es la misma.

No confundas

Gateway de internet × NAT

Ambos conectan la red con internet, y los exámenes adoran intercambiarlos. La pregunta es quién inicia la conversación.

Puerta de enlace de internet (internet gateway)

“¿Quiero que internet alcance a mi servidor, y que mi servidor alcance a internet?”

Ejemplo
El servidor web de la tienda, atendiendo a los clientes.
Foco
Entrada y salida, para quienes tienen dirección pública.

NAT

“¿Quiero que el servidor privado acceda a internet, sin que nadie de afuera lo alcance?”

Ejemplo
La base de datos descargando una actualización de seguridad.
Foco
Solo salida: quien está adentro inicia, quien está afuera no.

En la práctica

Qué va dónde

Lo que tienesDónde ponerlo
Sitio y API a los que acceden los clientesSubred pública (public subnet)
Base de datos y servicios internosSubred privada (private subnet)
Servidor privado que necesita descargar actualizacionesSubred privada (private subnet), con NAT
Oficina que accede a la red de la nube de forma seguraVPN por internet, o enlace dedicado

La VPN crea un túnel cifrado por internet. El enlace dedicado es un cable reservado entre la empresa y el proveedor, con más estabilidad y un costo mayor.

Términos clave

Seis términos para fijar

Toca la tarjeta para ver la definición.

Prueba rápida

Tres preguntas, estilo examen

01

Un servidor en una subred privada necesita descargar actualizaciones de internet, sin recibir conexiones desde afuera. ¿Qué debe usar?

02

¿En qué subred debe quedar la base de datos, a la que solo necesita acceder el servidor web?

03

Una empresa quiere conectar su oficina a la red virtual, con el tráfico cifrado, usando la internet común. ¿Qué debe usar?


La pregunta de examen sobre redes suele ser siempre la misma: ¿quién necesita ser alcanzado desde afuera, y quién no? Quien lo necesita va en una subred pública. El resto va en una subred privada, protegida por firewall, y sale por el NAT cuando lo necesita. Eso es lo que Isaac haría hoy, con la base de datos lejos de internet. El próximo paso de la ruta es Costos en la nube.