AWS - VPC & Networking Basic Information
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Una VPC contiene un CIDR de red 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 Interfaces de Red 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 utilizan, independientemente de la subred. Y una ACL de red limitará los puertos expuestos a la red completa.
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 gateway de Internet debe estar adjunto a la VPC
También podrías usar gateways de internet solo de salida
También podrías tener un gateway NAT 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 gateway NAT puede ser público (acceso a Internet) o privado (acceso a otras VPCs)
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, Gateways de Internet para acceder a Internet, ACLs, Grupos de seguridad, IPs...
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 primeras tres direcciones IP de host de cada subred para uso interno de AWS: la primera dirección de host utilizada es para el enrutador de la VPC. La segunda dirección está reservada para AWS DNS y la tercera dirección está reservada para uso futuro.
Se llaman subredes públicas a aquellas que tienen acceso directo a Internet, mientras que las subredes privadas no.
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
Gateways de Internet / Gateways de Internet solo de salida (necesarios para dar acceso a la VPC a Internet).
Para hacer que una subred sea pública, necesitas crear y adjuntar un gateway de Internet a tu VPC.
Puntos finales de VPC (para acceder a S3 desde redes privadas)
En las siguientes imágenes puedes verificar las diferencias en una red pública por defecto y una privada:
Listas de Control de Acceso de Red (ACLs): Las ACL 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 o rangos específicos.
Es más frecuente permitir/denegar acceso usando grupos de seguridad, pero esta es la única forma de cortar completamente shells reversos establecidos. Una regla modificada en un grupo de seguridad no detiene las 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.
Los grupos de seguridad son un firewall virtual que controla el tráfico de red entrante y saliente a las instancias en una VPC. Relación 1 SG a M instancias (generalmente 1 a 1). Normalmente se usa para abrir puertos peligrosos en instancias, como el puerto 22, por ejemplo:
Una dirección IP elástica 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 al reasignar rápidamente la dirección a otra instancia en tu cuenta.
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 otra subred diferente, no puedes acceder a las subredes conectadas con la otra subred, necesitas crear conexión con ellas directamente. Esto también se aplica a los gateways de Internet. No puedes pasar a través de una conexión de subred para acceder a Internet, necesitas asignar el gateway de Internet a tu subred.
El emparejamiento de VPC permite conectar dos o más VPCs juntas, usando IPV4 o IPV6, como si fueran parte de la misma red.
Una vez que se establece la conectividad de emparejamiento, 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 emparejadas 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 emparejar las VPCs. Cada VPC de AWS solo se comunicará con su par. Como ejemplo, si tienes una conexión de emparejamiento 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.
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 emparejamiento de VPC. Los registros de flujo de VPC te permiten capturar información del tráfico IP que fluye entre las 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 los registros de flujo de VPC 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 emparejamiento de VPC, entonces solo podrás ver los registros de flujo de las VPCs emparejadas que están dentro de la misma cuenta.
Si aún estás ejecutando recursos dentro del entorno EC2-Classic, entonces, desafortunadamente, no podrás recuperar información de sus interfaces.
Una vez que se ha creado un registro de flujo de VPC, no se puede cambiar. Para alterar la configuración del registro de flujo de VPC, 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 utiliza para recopilar metadatos de instancias, y 169.254.169.123 que se utiliza para el Servicio de Sincronización de Tiempo de Amazon.
Tráfico relacionado con una licencia de activación de Windows de una instancia de Windows.
Tráfico entre una interfaz de balanceador de carga de red y una interfaz de red de punto final.
Para cada interfaz de red que publica datos en el grupo de registros de CloudWatch, se utilizará un flujo de registro diferente. Y dentro de cada uno de estos flujos, habrá 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.
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 de sitio a sitio.
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 un punto de referencia para configurar la conexión VPN y no incurre en cargos adicionales.
Virtual Private Gateway:
Un Virtual Private Gateway (VPG) es el concentrador VPN en el lado de Amazon de la conexión VPN de sitio a sitio.
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.
Site-to-Site VPN Connection:
Una conexión VPN de sitio a sitio conecta tu red local a una VPC a través de un túnel VPN IPsec seguro.
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.
Típicamente se usa para conexiones regulares y a largo plazo y se factura según la cantidad de datos transferidos a través de la conexión.
Client VPN Endpoint:
Un endpoint de Client VPN es un recurso que creas en AWS para habilitar y gestionar sesiones de VPN de cliente.
Se utiliza para permitir que dispositivos individuales (como laptops, teléfonos inteligentes, etc.) se conecten de forma segura a recursos de AWS o a tu red local.
Se diferencia de la VPN de sitio a sitio en que está diseñado para clientes individuales en lugar de conectar redes enteras.
Con Client VPN, cada dispositivo cliente utiliza un software de cliente VPN para establecer una conexión segura.
Conecta tu red local con tu VPC.
Conexión VPN: Una conexión segura entre tu equipo local y tus VPCs.
Túnel VPN: 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 de cliente.
Customer gateway device: Un dispositivo físico o una aplicación de software en tu lado de la conexión VPN de sitio a sitio.
Virtual private gateway: El concentrador VPN en el lado de Amazon de la conexión VPN de sitio a sitio. Usas un gateway privado virtual o un gateway de tránsito como el gateway para el lado de Amazon de la conexión VPN de sitio a sitio.
Transit gateway: Un hub de tránsito que se puede usar para interconectar tus VPCs y redes locales. Usas un gateway de tránsito o un gateway privado virtual como el gateway para el lado de Amazon de la conexión VPN de sitio a sitio.
El tráfico IPv6 no es compatible con conexiones VPN en un gateway privado virtual.
Una conexión VPN de AWS no admite el descubrimiento de MTU de ruta.
Además, ten en cuenta lo siguiente cuando uses VPN de sitio a sitio.
Al conectar tus VPCs a una red local común, recomendamos que uses bloques CIDR no superpuestos para tus redes.
Conéctate desde tu máquina a tu VPC
Client VPN endpoint: El recurso que creas y configuras para habilitar y gestionar sesiones de VPN de cliente. Es el recurso donde se terminan todas las sesiones de VPN de cliente.
Target network: Una red objetivo es la red que asocias con un endpoint de Client VPN. Una subred de una VPC es una red objetivo. Asociar una subred con un endpoint de Client VPN te permite establecer sesiones de VPN. Puedes asociar múltiples subredes con un endpoint de Client VPN para alta disponibilidad. Todas las subredes deben ser de la misma VPC. Cada subred debe pertenecer a una zona de disponibilidad diferente.
Route: Cada endpoint de Client VPN 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 a 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 habilitar a los usuarios a acceder a recursos y redes.
Client: El usuario final que se conecta al endpoint de Client VPN para establecer una sesión de 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 de VPN.
Client CIDR range: Un rango de direcciones IP del cual asignar direcciones IP de cliente. Cada conexión al endpoint de Client VPN se le asigna una dirección IP única del rango CIDR de cliente. Tú eliges el rango CIDR de cliente, por ejemplo, 10.2.0.0/16
.
Client VPN ports: AWS Client VPN admite los puertos 443 y 1194 tanto para TCP como para UDP. El predeterminado es el puerto 443.
Client VPN network interfaces: Cuando asocias una subred con tu endpoint de Client VPN, creamos interfaces de red de Client VPN en esa subred. El tráfico que se envía a la VPC desde el endpoint de Client VPN se envía a través de una interfaz de red de Client VPN. Luego se aplica la traducción de dirección de red de origen (SNAT), donde la dirección IP de origen del rango CIDR de cliente se traduce a la dirección IP de la interfaz de red de Client VPN.
Connection logging: Puedes habilitar el registro de conexiones para tu endpoint de Client VPN para registrar eventos de conexión. Puedes usar esta información para realizar análisis forenses, analizar cómo se está utilizando tu endpoint de Client VPN o depurar problemas de conexión.
Self-service portal: Puedes habilitar un portal de autoservicio para tu endpoint de Client VPN. Los clientes pueden iniciar sesión en el portal basado en la web usando sus credenciales y descargar la última versión del archivo de configuración del endpoint de Client VPN, o la última versión del cliente proporcionado por AWS.
Los rangos CIDR de cliente no pueden superponerse con el CIDR local de la VPC en la que se encuentra la subred asociada, o cualquier ruta añadida manualmente a la tabla de rutas del endpoint de Client VPN.
Los rangos CIDR de cliente deben tener un tamaño de bloque de al menos /22 y no deben ser mayores que /12.
Una parte de las direcciones en el rango CIDR de cliente se utilizan para soportar el modelo de disponibilidad del endpoint de Client VPN, y no pueden ser asignadas a clientes. Por lo tanto, recomendamos que asignes un bloque CIDR que contenga el doble de la cantidad de direcciones IP que se requieren para habilitar el número máximo de conexiones concurrentes que planeas soportar en el endpoint de Client VPN.
El rango CIDR de cliente no puede ser cambiado después de crear el endpoint de Client VPN.
Las subredes asociadas con un endpoint de Client VPN deben estar en la misma VPC.
No puedes asociar múltiples subredes de la misma zona de disponibilidad con un endpoint de Client VPN.
Un endpoint de Client VPN no admite asociaciones de subredes en una VPC de tenencia dedicada.
Client VPN admite tráfico IPv4 únicamente.
Client VPN no es compatible con los estándares de procesamiento de información federal (FIPS).
Si la autenticación multifactor (MFA) está desactivada para tu Active Directory, una contraseña de usuario no puede estar en el siguiente formato.
El portal de autoservicio no está disponible para clientes que se autentican usando autenticación mutua.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)