Descubre el poder de las CNAPP con nuestra guía
Descubre el poder de las CNAPP con nuestra guía
Hay muchos conceptos que debes dominar cuando empiezas tu trayectoria en DevOps. Algunos son específicos de una sola nube o proveedor de servicios; otros, como el tema que abordaremos en este artículo, se aplican a todo el sector.
En esta publicación hablaremos de las nubes privadas virtuales (VPC), explicaremos qué son, cómo funcionan y por qué son un elemento básico en la infraestructura de nube contemporánea.
Los conceptos básicos de las VPC
¿Qué es exactamente una VPC? Si alguna vez has visto una película en la que se muestra una cámara acorazada, sabrás que hay una gran sala con muchas cajas de seguridad separadas.
Una VPC es un único compartimento dentro de la totalidad de la nube pública de un determinado proveedor, algo así como una caja de seguridad dentro de la cámara acorazada del banco. La cámara acorazada en sí es pública, y muchos clientes del banco acceden a ella de vez en cuando; es posible que incluso tengan cajas en la misma cámara que tú. Sin embargo, para ellos, tu caja es intocable, o incluso invisible; solo tú tienes la llave para abrirla, lo que significa que nadie más puede acceder a ella a menos que tú lo desees.
Como es lógico, en el caso de la VPC, el "banco" (AWS, Google Cloud o Azure) se encuentra lejos, está gestionado por una horda de ingenieros, y las cajas no están separadas por acero blindado, sino por características lógicas.
En AWS y GCP, la VPC se denomina VPC; en Azure, se denomina VNet (red virtual de Azure). Todas cuentan con características y medidas de seguridad similares.
Características y aislamiento
Una VPC es un lugar en el que puedes implementar servicios y ofertas de la nube pública con un estricto control de acceso. Puede abarcar varias regiones y zonas de disponibilidad, lo que te permite desplegar infraestructura más cerca de tus clientes o protegerte contra un fallo en una sola ubicación.
El tema del aislamiento es recurrente ya que, en realidad, es la característica más importante de todas. Tus datos están separados de los datos de otros clientes. Lo que decidas que esté aislado queda aislado del exterior, y el acceso a los recursos desplegados puede limitarse fácilmente a solo aquellos que designes.
Los mecanismos de aislamiento más utilizados son las subredes públicas o privadas, los grupos de seguridad y las listas de control de acceso; conceptos de los que hablaremos a continuación.
Las ventajas
¿En qué puede beneficiarte optar por una VPC en lugar de una nube pública? Ser una entidad independiente regida por tus propias normas, pero formar también parte de un "conjunto mayor", protegido por el proveedor de la nube que elijas, tiene múltiples ventajas.
Como siempre, la seguridad es la más importante. Dispones de acceso a muchas de las soluciones que se esperan de una nube pública tradicional, pero con mucha más flexibilidad. Las herramientas de observabilidad adicionales, el control de acceso detallado y la multitud de salvaguardas y mecanismos integrados en el propio concepto contribuyen en gran medida a la seguridad y privacidad de tu infraestructura y tus datos.
Otra ventaja es que las VPC son mucho más baratas que la nube privada tradicional, y aun así te ofrecen muchas funciones por las que tendrías que pagar una cantidad considerable.
Los recursos que puedes implementar dentro de una VPC son los que suele ofrecer la nube pública, por lo que, al igual que sucede en las nubes públicas, puedes escalar recursos de forma económica y sencilla.
Configuración: listas de control de acceso a la red, grupos de seguridad y subredes
Configurar correctamente el acceso a tu VPC depende totalmente de ti porque garantizar el aislamiento de los datos es fundamental. Por eso, tienes que asegurarte de hacerlo bien en todo momento. Estos mecanismos te ayudarán a conseguirlo.
Subredes
Las subredes son la forma más tradicional de aislar objetos de red. Si alguna vez has configurado un router en casa o has trabajado con algún tipo de red, seguro que te has topado con ellas. En esencia, las subredes son bloques de direcciones IP que puedes asignar a tus recursos. Se derivan del grupo de red principal de tu VPC, asemejándose a una matrioska.
Hay dos tipos principales de subredes: pública y privada. La subred privada está aislada de Internet, a menos que incorpores un dispositivo de traducción de direcciones de red (NAT) para que actúe como una especie de "traductor".
La subred pública puede llegar a Internet, normalmente con la ayuda de una puerta de enlace de Internet que actúa como válvula de entrada/salida. La puerta de enlace proporciona una dirección IP a la que se puede acceder desde el exterior, lo que genera un punto al que puedes conectarte.
Una subred pública, accesible desde Internet, y una privada a la que no se puede acceder desde el exterior.Listas de control de acceso de red
Las listas de control de acceso (ACL) de red son un componente adicional de la lógica de la subred y actúan como un registro ordenado de reglas sobre qué tipo de tráfico puede entrar y salir, a través de qué puerto, e incluso desde dónde y hacia dónde. Veamos el siguiente ejemplo:
Un escenario típico de ACL de subred en la práctica. La solicitud de la izquierda tendrá éxito; en la de la derecha se agotará el tiempo de espera.Es importante que prestes atención al orden de estas reglas. Se procesan de menor a mayor número, y si se encuentra una coincidencia, se aplica independientemente de lo que pueda decir una regla con un número mayor. Resulta fácil pasar por alto este aspecto, pero un leve error podría provocar una fuga.
Grupos de seguridad
Los grupos de seguridad ofrecen un enfoque diferente. En lugar de controlar ciertas subredes, operan en recursos como las instancias. A diferencia de las ACL de red, no puedes crear explícitamente una regla de "denegación"; los grupos de seguridad consideran que todo lo que no esté definido como permitido está prohibido por defecto. Tampoco tienes que permitir explícitamente el tráfico de respuesta; si algo entra, la respuesta puede salir.
El orden de las reglas especificadas para un grupo de seguridad tampoco importa; cuando el tráfico llega, se evalúa el conjunto completo de reglas. Puedes asociar varios grupos de seguridad a un recurso y (al menos con AWS) si no lo haces, el predeterminado se asocia automáticamente.
Ejemplo de reglas de grupo de seguridad que controlan el acceso a un conjunto de recursos.Por suerte, es bastante sencillo responder a la pregunta de qué método de control de acceso debes utilizar. La respuesta es: todos ellos. En la mayoría de los casos, interponer tantas capas como puedas entre tu entorno y el espacio oscuro y frío de la World Wide Web es una buena práctica, y debes tomarla en serio.
Las VPC en la práctica: cuatro conclusiones clave
A continuación, encontrarás cuatro consejos que te ayudarán a sacar el máximo partido a la VPC sin grandes complicaciones.
1. AWS te proporciona una VPC predeterminada cuando se completa la configuración de tu cuenta. Aunque, técnicamente está lista para que la utilices, debes revisar la configuración de seguridad mencionada anteriormente y asegurarte de que se ajusta a tus necesidades para evitar sorpresas desagradables. Aviso adicional para operadores de Terraform: el recurso de VPC predeterminado difiere radicalmente del recurso típico.
2. Aprovisionar una VPC es bastante sencillo. Sin embargo, gestionar los grupos de seguridad y las ACL de red se complica a medida que aumenta el número de reglas. Presta atención para no quedar sepultado por una tonelada de reglas ilegibles ni que algo se cuele por un resquicio olvidado hace tiempo.
3. Si utilizas grupos de seguridad y ACL de red para permitir el acceso a los entornos a tus compañeros de equipo o de trabajo, asegúrate de que las direcciones que incluyes en la lista blanca son estáticas o se actualizan muy, muy a menudo. De lo contrario, una dirección de las incluidas en la listas podría terminar de repente en manos de un actor malicioso al que no le importe fisgonear. Para solventarlo, tienes varias opciones, como incluir una VPN privada controlada por la empresa (la pública habitual estaría sujeta al mismo riesgo de reasignación de IP) o recurrir a herramientas como HashiCorp Boundary.
4. El número de VPC que puedes aprovisionar en prácticamente todas las nubes públicas es limitado.. Si quieres dar a los clientes sus propios espacios de tenant, a menos que sea a microescala, es mejor que recurras a otras soluciones (identidades de IAM, cuentas de usuario adicionales, etc.).