AWS - VPC & Networking Basic Information

Apoya a HackTricks

AWS Networking en Resumen

Un VPC contiene un network CIDR como 10.0.0.0/16 (con su tabla de enrutamiento y ACL de red).

Esta red VPC se divide en subredes, por lo que una subred está directamente relacionada con la VPC, tabla de enrutamiento y ACL de red.

Luego, las Network Interfaces adjuntas a servicios (como instancias EC2) están conectadas a las subredes con grupo(s) de seguridad.

Por lo tanto, un grupo de seguridad limitará los puertos expuestos de las interfaces de red que lo usan, independientemente de la subred. Y una ACL de red limitará los puertos expuestos a toda la red.

Además, para acceder a Internet, hay algunas configuraciones interesantes a verificar:

  • Una subred puede asignar automáticamente direcciones IPv4 públicas

  • Una instancia creada en la red que asigna automáticamente direcciones IPv4 puede obtener una

  • Un Internet gateway necesita estar adjunto a la VPC

  • También podrías usar Egress-only internet gateways

  • También podrías tener un NAT gateway en una subred privada para que sea posible conectarse a servicios externos desde esa subred privada, pero no es posible alcanzarlos desde el exterior.

  • El NAT gateway puede ser público (acceso a internet) o privado (acceso a otras VPCs)

VPC

Amazon Virtual Private Cloud (Amazon VPC) te permite lanzar recursos de AWS en una red virtual que has definido. Esta red virtual tendrá varias subredes, Internet Gateways para acceder a Internet, ACLs, grupos de seguridad, IPs...

Subnets

Las subredes ayudan a imponer un mayor nivel de seguridad. La agrupación lógica de recursos similares también te ayuda a mantener una facilidad de gestión en toda tu infraestructura.

  • Los CIDR válidos son desde una máscara de red /16 hasta una máscara de red /28.

  • Una subred no puede estar en diferentes zonas de disponibilidad al mismo tiempo.

  • AWS reserva las tres primeras direcciones IP de host de cada subred para uso interno de AWS: la primera dirección de host utilizada es para el enrutador VPC. La segunda dirección está reservada para AWS DNS y la tercera dirección está reservada para uso futuro.

  • Se llama subredes públicas a aquellas que tienen acceso directo a Internet, mientras que las subredes privadas no lo tienen.

Route Tables

Las tablas de enrutamiento determinan el enrutamiento del tráfico para una subred dentro de una VPC. Determinan qué tráfico de red se reenvía a Internet o a una conexión VPN. Normalmente encontrarás acceso a:

  • VPC local

  • NAT

  • Internet Gateways / Egress-only Internet gateways (necesarios para dar acceso a Internet a una VPC).

  • Para hacer una subred pública necesitas crear y adjuntar un Internet gateway a tu VPC.

  • VPC endpoints (para acceder a S3 desde redes privadas)

En las siguientes imágenes puedes ver las diferencias en una red pública predeterminada y una privada:

ACLs

Network Access Control Lists (ACLs): Las ACLs de red son reglas de firewall que controlan el tráfico de red entrante y saliente a una subred. Pueden usarse para permitir o denegar tráfico a direcciones IP específicas o rangos.

  • Es más frecuente permitir/denegar acceso usando grupos de seguridad, pero esta es la única forma de cortar completamente shells inversos establecidos. Una regla modificada en un grupo de seguridad no detiene conexiones ya establecidas.

  • Sin embargo, esto se aplica a toda la subred, ten cuidado al prohibir cosas porque la funcionalidad necesaria podría verse afectada.

Security Groups

Los grupos de seguridad son un firewall virtual que controla el tráfico de red entrante y saliente a instancias en una VPC. Relación 1 SG a M instancias (usualmente 1 a 1). Usualmente se usa para abrir puertos peligrosos en instancias, como el puerto 22 por ejemplo:

Elastic IP Addresses

Una Elastic IP address es una dirección IPv4 estática diseñada para la computación en la nube dinámica. Una dirección IP elástica se asigna a tu cuenta de AWS y es tuya hasta que la liberes. Al usar una dirección IP elástica, puedes enmascarar la falla de una instancia o software reasignando rápidamente la dirección a otra instancia en tu cuenta.

Conexión entre subredes

Por defecto, todas las subredes tienen la asignación automática de direcciones IP públicas desactivada pero se puede activar.

Una ruta local dentro de una tabla de enrutamiento permite la comunicación entre subredes de VPC.

Si estás conectando una subred con una subred diferente no puedes acceder a las subredes conectadas con la otra subred, necesitas crear una conexión con ellas directamente. Esto también se aplica a los internet gateways. No puedes pasar por una conexión de subred para acceder a Internet, necesitas asignar el internet gateway a tu subred.

VPC Peering

VPC peering te permite conectar dos o más VPCs juntas, usando IPV4 o IPV6, como si fueran parte de la misma red.

Una vez establecida la conectividad de pares, los recursos en una VPC pueden acceder a los recursos en la otra. La conectividad entre las VPCs se implementa a través de la infraestructura de red existente de AWS, por lo que es altamente disponible sin cuellos de botella de ancho de banda. Como las conexiones de pares operan como si fueran parte de la misma red, hay restricciones en cuanto a los rangos de bloques CIDR que se pueden usar. Si tienes rangos CIDR superpuestos o duplicados para tu VPC, entonces no podrás conectar las VPCs juntas. Cada VPC de AWS solo se comunicará con su par. Por ejemplo, si tienes una conexión de pares entre VPC 1 y VPC 2, y otra conexión entre VPC 2 y VPC 3 como se muestra, entonces VPC 1 y 2 podrían comunicarse entre sí directamente, al igual que VPC 2 y VPC 3, sin embargo, VPC 1 y VPC 3 no podrían. No puedes enrutar a través de una VPC para llegar a otra.

VPC Flow Logs

Dentro de tu VPC, podrías tener potencialmente cientos o incluso miles de recursos comunicándose entre diferentes subredes tanto públicas como privadas y también entre diferentes VPCs a través de conexiones de pares de VPC. VPC Flow Logs te permiten capturar información de tráfico IP que fluye entre tus interfaces de red de tus recursos dentro de tu VPC.

A diferencia de los registros de acceso de S3 y los registros de acceso de CloudFront, los datos de registro generados por VPC Flow Logs no se almacenan en S3. En su lugar, los datos de registro capturados se envían a los registros de CloudWatch.

Limitaciones:

  • Si estás ejecutando una conexión de pares de VPC, solo podrás ver los registros de flujo de las VPCs de pares que están dentro de la misma cuenta.

  • Si aún estás ejecutando recursos dentro del entorno EC2-Classic, desafortunadamente no puedes recuperar información de sus interfaces.

  • Una vez que se ha creado un VPC Flow Log, no se puede cambiar. Para alterar la configuración del VPC Flow Log, necesitas eliminarlo y luego recrear uno nuevo.

  • El siguiente tráfico no es monitoreado ni capturado por los registros. Tráfico DHCP dentro de la VPC, tráfico de instancias destinado al servidor DNS de Amazon.

  • Cualquier tráfico destinado a la dirección IP del enrutador predeterminado de la VPC y tráfico hacia y desde las siguientes direcciones, 169.254.169.254 que se usa para recopilar metadatos de instancias, y 169.254.169.123 que se usa para el servicio de sincronización de tiempo de Amazon.

  • Tráfico relacionado con una licencia de activación de Windows de Amazon desde una instancia de Windows.

  • Tráfico entre una interfaz de balanceador de carga de red y una interfaz de punto final.

Para cada interfaz de red que publica datos en el grupo de registros de CloudWatch, usará un flujo de registros diferente. Y dentro de cada uno de estos flujos, habrá los datos de eventos de registro de flujo que muestran el contenido de las entradas de registro. Cada uno de estos registros captura datos durante una ventana de aproximadamente 10 a 15 minutos.

VPN

Componentes Básicos de AWS VPN

  1. Customer Gateway:

  • Un Customer Gateway es un recurso que creas en AWS para representar tu lado de una conexión VPN.

  • Es esencialmente un dispositivo físico o una aplicación de software en tu lado de la conexión VPN Site-to-Site.

  • Proporcionas información de enrutamiento y la dirección IP pública de tu dispositivo de red (como un enrutador o un firewall) a AWS para crear un Customer Gateway.

  • Sirve como punto de referencia para configurar la conexión VPN y no incurre en cargos adicionales.

  1. Virtual Private Gateway:

  • Un Virtual Private Gateway (VPG) es el concentrador VPN en el lado de Amazon de la conexión VPN Site-to-Site.

  • Está adjunto a tu VPC y sirve como el objetivo para tu conexión VPN.

  • VPG es el punto final del lado de AWS para la conexión VPN.

  • Maneja la comunicación segura entre tu VPC y tu red local.

  1. Site-to-Site VPN Connection:

  • Una conexión VPN Site-to-Site conecta tu red local a una VPC a través de un túnel VPN seguro IPsec.

  • Este tipo de conexión requiere un Customer Gateway y un Virtual Private Gateway.

  • Se utiliza para una comunicación segura, estable y consistente entre tu centro de datos o red y tu entorno de AWS.

  • Normalmente se utiliza para conexiones regulares y a largo plazo y se factura según la cantidad de datos transferidos a través de la conexión.

  1. Client VPN Endpoint:

  • Un Client VPN endpoint es un recurso que creas en AWS para habilitar y gestionar sesiones VPN de clientes.

  • Se utiliza para permitir que dispositivos individuales (como laptops, smartphones, etc.) se conecten de forma segura a recursos de AWS o a tu red local.

  • Se diferencia de Site-to-Site VPN en que está diseñado para clientes individuales en lugar de conectar redes enteras.

  • Con Client VPN, cada dispositivo cliente utiliza un software cliente VPN para establecer una conexión segura.

Site-to-Site VPN

Conecta tu red local con tu VPC.

  • VPN connection: Una conexión segura entre tu equipo local y tus VPCs.

  • VPN tunnel: Un enlace cifrado donde los datos pueden pasar desde la red del cliente hacia o desde AWS.

Cada conexión VPN incluye dos túneles VPN que puedes usar simultáneamente para alta disponibilidad.

  • Customer gateway: Un recurso de AWS que proporciona información a AWS sobre tu dispositivo de gateway del cliente.

  • Customer gateway device: Un dispositivo físico o una aplicación de software en tu lado de la conexión VPN Site-to-Site.

  • Virtual private gateway: El concentrador VPN en el lado de Amazon de la conexión VPN Site-to-Site. Usas un virtual private gateway o un transit gateway como el gateway para el lado de Amazon de la conexión VPN Site-to-Site.

  • Transit gateway: Un concentrador de tránsito que puede usarse para interconectar tus VPCs y redes locales. Usas un transit gateway o un virtual private gateway como el gateway para el lado de Amazon de la conexión VPN Site-to-Site.

Limitaciones

  • El tráfico IPv6 no es compatible con las conexiones VPN en un virtual private gateway.

  • Una conexión VPN de AWS no admite Path MTU Discovery.

Además, ten en cuenta lo siguiente cuando uses Site-to-Site VPN.

  • Al conectar tus VPCs a una red local común, recomendamos que uses bloques CIDR no superpuestos para tus redes.

Client VPN

Conéctate desde tu máquina a tu VPC

Conceptos

  • Client VPN endpoint: El recurso que creas y configuras para habilitar y gestionar sesiones VPN de clientes. Es el recurso donde se terminan todas las sesiones VPN de clientes.

  • Target network: Una red objetivo es la red que asocias con un Client VPN endpoint. Una subred de una VPC es una red objetivo. Asociar una subred con un Client VPN endpoint te permite establecer sesiones VPN. Puedes asociar múltiples subredes con un Client VPN endpoint para alta disponibilidad. Todas las subredes deben ser de la misma VPC. Cada subred debe pertenecer a una zona de disponibilidad diferente.

  • Route: Cada Client VPN endpoint tiene una tabla de rutas que describe las rutas de red de destino disponibles. Cada ruta en la tabla de rutas especifica el camino para el tráfico hacia recursos o redes específicas.

  • Authorization rules: Una regla de autorización restringe los usuarios que pueden acceder a una red. Para una red especificada, configuras el grupo de Active Directory o proveedor de identidad (IdP) que tiene permitido el acceso. Solo los usuarios que pertenecen a este grupo pueden acceder a la red especificada. Por defecto, no hay reglas de autorización y debes configurar reglas de autorización para permitir que los usuarios accedan a recursos y redes.

  • Client: El usuario final que se conecta al Client VPN endpoint para establecer una sesión VPN. Los usuarios finales necesitan descargar un cliente OpenVPN y usar el archivo de configuración del Client VPN que creaste para establecer una sesión VPN.

  • Client CIDR range: Un rango de direcciones IP desde el cual asignar direcciones IP de clientes. Cada conexión al Client VPN endpoint se asigna una dirección IP única del rango CIDR del cliente

Last updated