Uno de nuestros clientes que maneja datos confidenciales de clientes necesitaba una infraestructura en la nube segura para sus aplicaciones web y bases de datos. Implementamos una pasarela NAT en una VPC para permitir que las instancias de subredes privadas accedieran a Internet para actualizaciones y llamadas a API, al tiempo que bloqueábamos el tráfico entrante. Esta solución proporciona acceso a Internet a instancias privadas sin exponerlas directamente a la Internet pública, lo que mejora la seguridad. Esto es lo que hicimos:
Este diagrama ilustra una configuración típica de VPC dividida en tres secciones principales: VPC, subred pública y subred privada. En primer lugar tenemos la caja verde exterior, la VPC, que aísla los recursos que contiene de otras redes. Los usuarios acceden al servidor web a través de la Internet pública utilizando una dirección IP estática asignada mediante NAT 1:1. El servidor web procesa las peticiones y, si es necesario, se comunica con el servidor de la base de datos. El servidor web se comunica con el servidor de base de datos a través del Servidor Router. El Servidor Router utiliza NAT personalizado para enrutar de forma segura el tráfico entre las subredes pública y privada. El servidor de base de datos, situado en la subred privada, recibe peticiones del servidor web a través de VLAN. El aislamiento de la subred privada garantiza que el servidor de base de datos no esté expuesto directamente a Internet, lo que mejora la seguridad. En este tutorial, recorreremos los pasos para configurar esta arquitectura, garantizando una comunicación segura y eficiente entre las subredes privada y pública. Crearemos una VPC con una subred pública y otra privada, configuraremos la pasarela NAT y configuraremos VLAN.
Tutorial
En este tutorial, vamos a crear una puerta de enlace NAT en una VPC, al igual que el diagrama que acabamos de ver. Si ya tienes una cuenta en Linode , puedes ir al paso 1. Si no tienes una cuenta en Linode , usa este enlace para registrarte y obtener $100 en créditos gratis para seguir los siguientes pasos. Desde Linode Dashboard, vamos a crear una VPC con dos subredes: una subred pública y una subred privada. En la subred privada, añadiremos una base de datos, y en la subred privada, añadiremos 2 instancias: una que actuará como servidor web, y otra que actuará como servidor router (NAT personalizado).
Paso 1: Crear una VPC
El primer paso para construir una pasarela NAT en una VPC es crear la VPC para aislar lógicamente nuestros recursos. Recordemos que ésta es la caja verde del diagrama que hemos visto. Las subredes privada y pública vivirán dentro de esta VPC.
Para ello, desde Linode Cloud Manager , haga clic en VPC en el panel izquierdo y, a continuación, en Crear VPC.
Paso 2: Configurar la subred pública
A continuación, tenemos que añadir una subred pública en la VPC que contendrá el servidor del router (NAT personalizado) y el servidor web. Recordemos que este es el cuadrado azul del diagrama que hemos visto.
En la parte inferior de la pantalla, donde dice Subredes, añada una etiqueta para la subred pública. Esta subred albergará el Servidor Router (Custom NAT) y el Servidor Web.
A continuación, haga clic en Crear VPC para aprovisionar la VPC.
Verá la subred pública creada con el ID de subred y el rango IP correspondientes.
Paso 3: Desplegar el Servidor Router y el Servidor Web
A continuación, necesitamos desplegar 2 instancias de Linode en la subred pública. Una instancia de Linode actuará como nuestro servidor de enrutamiento (NAT personalizado), que se encargará de las operaciones de NAT para gestionar el tráfico entre las subredes pública y privada. El otro servidor actuará como servidor web para gestionar el tráfico entrante desde Internet y reenviar las peticiones necesarias a la subred privada. En primer lugar, crearemos el servidor router. Desde Cloud Managerhaga clic en Linodes en el panel izquierdo, luego haga clic en Crear Linode. Elija la misma región que eligió cuando creó la VPC y, a continuación, seleccione la opción CPU dedicada de 8 GB.
A continuación, desplácese hacia abajo y asigne la VPC que creó en el paso 1, y luego elija la subred pública en el menú desplegable.
Haga clic en Crear Linode para finalizar el aprovisionamiento de esta instancia.
Ahora, vamos a crear el servidor web, utilizando el mismo proceso anterior. Haga clic en Crear Linode, seleccione la región que eligió para su VPC y, a continuación, asigne la VPC a esta instancia. Ahora verás tanto el servidor web como el servidor del router listados en la VPC bajo la subred pública.
Paso 4: Crear una subred privada
A continuación, tenemos que crear la subred privada dentro de la VPC para alojar el servidor de base de datos, que no tendrá acceso directo a la Internet pública. Ahora estamos construyendo la caja púrpura.
Desde su VPC, haga clic en Crear subred y, a continuación, introduzca una etiqueta y asigne el intervalo de IP privadas. Esta subred mantiene su base de datos protegida de cualquier amenaza externa.
Paso 5: Despliegue del servidor de base de datos
Ahora, vamos a desplegar una instancia de Linode en la subred privada para que sirva como servidor de nuestra base de datos. Esta instancia sólo será accesible desde la subred pública a través de la conexión segura VLAN. Desde el panel izquierdo en Linode Cloud Manager , haz clic en Linodes, luego haz clic en Create Linode. Introduzca database-server como la etiqueta, elija vpc-nat-gateway-demo como la VPC, y elija private-subnet como la subred.
Una vez desplegado este servidor, debería ver lo siguiente:
A continuación tenemos que editar la configuración y marcar la casilla Asignar una dirección IP pública para este Linode. La razón por la que hacemos esto es porque necesitamos descargar herramientas de red desde este servidor.
Paso 6: Configurar VLAN
A continuación, necesitamos establecer un VLAN para permitir la comunicación segura entre las subredes pública y privada. El servidor de la base de datos y el servidor del enrutador pueden comunicarse entre sí a través de VLAN.
Esto garantiza que el tráfico entre el servidor web y el servidor de base de datos siga siendo privado y seguro. En el servidor del router, haz clic en la pestaña Configuraciones y, a continuación, en Editar. Añade un VLAN, e introduce una dirección (utiliza el texto del marcador de posición como guía).
Ahora, vayamos al servidor del router y añadamos ese VLAN a la configuración.
Paso 7: Reenviar el tráfico desde el servidor de base de datos al servidor router
Recordemos que asignamos una IP pública para poder acceder a Internet y descargar algunas herramientas de red.
Ahora, vamos a descargar ipconfig
utilizando los siguientes comandos:
$ modprobe iptable_nat
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$ iptables -A FORWARD -i eth1 -j ACCEPT
A continuación, tenemos que volver al servidor de base de datos y quitar la casilla de IP pública para que no tenga acceso a Internet.
El servidor de base de datos está ahora aislado de forma segura en la subred privada. Ahora será capaz de hablar con el servidor del router. Hagamos ping a la VPC del servidor del router.
A continuación, tenemos que hacer que el servidor de base de datos enrute el tráfico a través de VLAN. Para ello, ejecute el siguiente comando desde el servidor de base de datos:
route add default gw {VLAN-IP-FOR-ROUTER}
A continuación, ejecute la ruta.
Aquí encontrará la lista VLAN .
Ahora necesitamos configurar el servidor router para reenviar el tráfico desde eth1 (VLAN) a internet. En este paso, estamos habilitando NATing en el servidor y habilitando el reenvío IP.
Desde el servidor del router ejecute estos comandos:
$ modprobe iptable_nat
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$ iptables -A FORWARD -i eth1 -j ACCEPT
Hemos configurado con éxito una puerta de enlace NAT en una VPC.
Ventajas de esta arquitectura
Utilizar esta arquitectura tiene un par de ventajas clave. En primer lugar, se mejora la seguridad. Una VPC permite aislar recursos dentro de subredes distintas (públicas y privadas). Una pasarela NAT garantiza que las instancias de las subredes privadas puedan acceder a Internet sin exponerse directamente a las amenazas de la Internet pública. Al utilizar una pasarela NAT en una VPC, sólo se permite el tráfico saliente desde las instancias privadas a Internet, lo que evita conexiones entrantes no solicitadas que podrían plantear riesgos de seguridad. Colocamos la base de datos dentro de la subred privada, y los elementos sensibles aquí están protegidos de la exposición directa a Internet, lo que reduce el riesgo de violación de datos.
Esta arquitectura también mejora enormemente la escalabilidad. Las pasarelas NAT están diseñadas para gestionar volúmenes considerables de tráfico y pueden ajustarse automáticamente a demandas crecientes, eliminando la necesidad de intervención manual. A medida que crece la carga de tráfico, la pasarela NAT escala sus recursos para mantener un rendimiento óptimo y garantizar una disponibilidad continua. Esta escalabilidad automatizada es especialmente beneficiosa para las plataformas de comercio electrónico, que a menudo experimentan patrones de tráfico fluctuantes debido a ventas estacionales, promociones y comportamientos variables de los clientes. Al aprovechar las pasarelas NAT, los desarrolladores pueden garantizar que sus aplicaciones sigan respondiendo y siendo fiables, incluso bajo una gran demanda, proporcionando en última instancia una mejor experiencia de usuario y apoyando el crecimiento del negocio.
La creación de una pasarela NAT en una VPC mediante Linode proporciona una forma segura y eficaz de gestionar el tráfico de red entre los recursos públicos y privados. Garantiza que sus instancias privadas puedan acceder a los recursos externos necesarios a la vez que las protege de la exposición directa a Internet, mejorando en última instancia la seguridad, escalabilidad y eficiencia de su infraestructura en la nube.
Siguiendo los pasos descritos anteriormente y utilizando el diagrama proporcionado como referencia, no solo podrá proteger los datos confidenciales de sus clientes, sino también optimizar el rendimiento de su red. Si eres un desarrollador que busca optimizar su seguridad en la nube y quieres construir más recursos en la nube, utiliza este enlace para solicitar hasta 5.000 dólares en créditos de Linode .
Comentarios (4)
how can i create a linode account
i tried to register and got rejected
Hello Linh – If you’re having trouble creating an account, we suggest completing the form below and choosing the option that says, “I received a Signup Cancellation email when creating an account”:
https://www.linode.com/support/contact/
This post from the Linode Community Questions site titled “My signup was flagged as “fraudulent behavior” has more information. Keep in mind, you’ll only hear back from us if we decide to overturn our initial decision.
Hi, thank you for the write up, but I think there is an issue with this article. In step 6 when you are configuring the VLAN you label both the configuration of the Database and Router Server as the Router Sever. “From the router server, click on the Configurations tab…” and then later on in the same step you say, “Now, let’s go to the router server and add that VLAN to the configuration.” I assume first is the VLAN configuration for the database (192.0.2.2/24) and the second is for the router (192.0.2.1/24).
Hi Dane – We appreciate you pointing out that redundant statement! In case they were not aware, I have forwarded this feedback to the team responsible for our documentation so they may make the necessary changes.