AWS - VPC & Networking Basic Information

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Networking na AWS em Poucas Palavras

Um VPC contém um CIDR de rede como 10.0.0.0/16 (com sua tabela de roteamento e ACL de rede).

Esta rede VPC é dividida em sub-redes, então uma sub-rede está diretamente relacionada com o VPC, tabela de roteamento e ACL de rede.

Em seguida, as Interfaces de Rede anexadas a serviços (como instâncias EC2) estão conectadas às sub-redes com grupo(s) de segurança.

Portanto, um grupo de segurança limitará as portas expostas das interfaces de rede que o utilizam, independentemente da sub-rede. E uma ACL de rede irá limitar as portas expostas para toda a rede.

Além disso, para acessar a Internet, existem algumas configurações interessantes para verificar:

  • Uma sub-rede pode atribuir automaticamente endereços IPv4 públicos

  • Uma instância criada na rede que atribui automaticamente endereços IPv4 pode obter um

  • Um gateway de Internet precisa ser anexado ao VPC

  • Você também pode usar gateways de Internet somente de saída

  • Você também pode ter um gateway NAT em uma sub-rede privada para ser possível conectar-se a serviços externos a partir dessa sub-rede privada, mas não é possível alcançá-los de fora.

  • O gateway NAT pode ser público (acesso à internet) ou privado (acesso a outros VPCs)

VPC

A Amazon Virtual Private Cloud (Amazon VPC) permite que você inicie recursos da AWS em uma rede virtual que você definiu. Esta rede virtual terá várias sub-redes, Gateways de Internet para acessar a Internet, ACLs, grupos de segurança, IPs...

Sub-redes

As sub-redes ajudam a impor um maior nível de segurança. Agrupamento lógico de recursos semelhantes também ajuda a manter uma facilidade de gerenciamento em toda a sua infraestrutura.

  • Os CIDRs válidos vão de uma máscara de rede /16 a uma máscara de rede /28.

  • Uma sub-rede não pode estar em diferentes zonas de disponibilidade ao mesmo tempo.

  • A AWS reserva os três primeiros endereços IP de host de cada sub-rede para uso interno da AWS: o primeiro endereço de host usado é para o roteador VPC. O segundo endereço é reservado para o DNS da AWS e o terceiro endereço é reservado para uso futuro.

  • São chamadas sub-redes públicas aquelas que têm acesso direto à Internet, enquanto as sub-redes privadas não têm.

Tabelas de Roteamento

As tabelas de roteamento determinam o roteamento de tráfego para uma sub-rede dentro de um VPC. Elas determinam qual tráfego de rede é encaminhado para a Internet ou para uma conexão VPN. Você geralmente encontrará acesso ao:

  • VPC Local

  • NAT

  • Gateways de Internet / Gateways de Internet somente de saída (necessários para dar acesso a um VPC à Internet).

  • Para tornar uma sub-rede pública, você precisa criar e anexar um gateway de Internet ao seu VPC.

  • Pontos de extremidade do VPC (para acessar o S3 de redes privadas)

Nas imagens a seguir, você pode verificar as diferenças em uma rede pública padrão e em uma privada:

ACLs

Listas de Controle de Acesso de Rede (ACLs): As ACLs de rede são regras de firewall que controlam o tráfego de entrada e saída para uma sub-rede. Elas podem ser usadas para permitir ou negar tráfego para endereços IP ou intervalos específicos.

  • É mais frequente permitir/negar acesso usando grupos de segurança, mas esta é a única maneira de cortar completamente shells reversos estabelecidos. Uma regra modificada em um grupo de segurança não interrompe conexões já estabelecidas

  • No entanto, isso se aplica a toda a sub-rede, tenha cuidado ao proibir coisas, pois a funcionalidade necessária pode ser perturbada

Grupos de Segurança

Os grupos de segurança são um firewall virtual que controla o tráfego de rede de entrada e saída para instâncias em uma VPC. Relação 1 SG para M instâncias (geralmente 1 para 1). Normalmente, isso é usado para abrir portas perigosas em instâncias, como a porta 22, por exemplo:

Endereços IP Elásticos

Um endereço IP elástico é um endereço IPv4 estático projetado para computação em nuvem dinâmica. Um endereço IP elástico é alocado para sua conta AWS e é seu até que você o libere. Ao usar um endereço IP elástico, você pode mascarar a falha de uma instância ou software remapeando rapidamente o endereço para outra instância em sua conta.

Conexão entre sub-redes

Por padrão, todas as sub-redes têm o atributo de endereços IP públicos automaticamente desativado, mas pode ser ativado.

Uma rota local dentro de uma tabela de rotas permite a comunicação entre sub-redes da VPC.

Se você está conectando uma sub-rede com uma sub-rede diferente, você não pode acessar as sub-redes conectadas com a outra sub-rede, você precisa criar uma conexão com elas diretamente. Isso também se aplica aos gateways de internet. Você não pode passar por uma conexão de sub-rede para acessar a internet, você precisa atribuir o gateway de internet à sua sub-rede.

VPC Peering

O VPC peering permite que você conecte duas ou mais VPCs juntas, usando IPV4 ou IPV6, como se fossem parte da mesma rede.

Uma vez que a conectividade entre pares é estabelecida, os recursos em uma VPC podem acessar recursos na outra. A conectividade entre as VPCs é implementada através da infraestrutura de rede existente da AWS, sendo altamente disponível e sem gargalos de largura de banda. Como as conexões entre pares operam como se fossem parte da mesma rede, existem restrições quando se trata das faixas de blocos CIDR que podem ser usadas. Se você tiver faixas CIDR sobrepostas ou duplicadas para suas VPCs, então você não poderá conectar as VPCs juntas. Cada VPC da AWS só se comunicará com seu par. Por exemplo, se você tiver uma conexão de pares entre a VPC 1 e a VPC 2, e outra conexão entre a VPC 2 e a VPC 3, como mostrado, então a VPC 1 e 2 poderiam se comunicar diretamente, assim como a VPC 2 e VPC 3, no entanto, a VPC 1 e VPC 3 não poderiam. Você não pode rotear por uma VPC para chegar a outra.

Logs de Fluxo da VPC

Dentro da sua VPC, você pode potencialmente ter centenas ou até milhares de recursos comunicando entre diferentes sub-redes, tanto públicas quanto privadas, e também entre diferentes VPCs através de conexões de VPC peering. Os Logs de Fluxo da VPC permitem que você capture informações de tráfego IP que flui entre as interfaces de rede de seus recursos dentro de sua VPC.

Ao contrário dos logs de acesso do S3 e dos logs de acesso do CloudFront, os dados de log gerados pelos Logs de Fluxo da VPC não são armazenados no S3. Em vez disso, os dados de log capturados são enviados para os logs do CloudWatch.

Limitações:

  • Se você estiver executando uma conexão de VPC peering, então só poderá ver os logs de fluxo das VPCs em pares que estão dentro da mesma conta.

  • Se você ainda estiver executando recursos dentro do ambiente EC2-Classic, infelizmente não poderá recuperar informações de suas interfaces.

  • Uma vez que um Log de Fluxo da VPC foi criado, ele não pode ser alterado. Para alterar a configuração do Log de Fluxo da VPC, você precisa excluí-lo e depois recriar um novo.

  • O seguinte tráfego não é monitorado e capturado pelos logs. Tráfego DHCP dentro da VPC, tráfego de instâncias destinado ao Servidor DNS da Amazon.

  • Qualquer tráfego destinado ao endereço IP do roteador padrão da VPC e tráfego de e para os seguintes endereços, 169.254.169.254 que é usado para coletar metadados da instância, e 169.254.169.123 que é usado para o Serviço de Sincronização de Tempo da Amazon.

  • Tráfego relacionado a uma licença de ativação do Windows da Amazon de uma instância do Windows

  • Tráfego entre uma interface de balanceador de carga de rede e uma interface de rede de ponto final

Para cada interface de rede que publica dados no grupo de logs do CloudWatch, será usada uma transmissão de log diferente. E dentro de cada uma dessas transmissões, haverá os dados de evento do log de fluxo que mostram o conteúdo das entradas de log. Cada um desses logs captura dados durante uma janela de aproximadamente 10 a 15 minutos.

VPN

Componentes Básicos da VPN da AWS

  1. Gateway do Cliente:

  • Um Gateway do Cliente é um recurso que você cria na AWS para representar o seu lado de uma conexão VPN.

  • É essencialmente um dispositivo físico ou aplicativo de software em seu lado da conexão VPN de Site a Site.

  • Você fornece informações de roteamento e o endereço IP público do seu dispositivo de rede (como um roteador ou firewall) para a AWS criar um Gateway do Cliente.

  • Ele serve como um ponto de referência para configurar a conexão VPN e não incorre em custos adicionais.

  1. Gateway Privado Virtual:

  • Um Gateway Privado Virtual (VPG) é o concentrador VPN no lado da Amazon da conexão VPN de Site a Site.

  • Ele está anexado à sua VPC e serve como o alvo para sua conexão VPN.

  • O VPG é o endpoint do lado da AWS para a conexão VPN.

  • Ele lida com a comunicação segura entre sua VPC e sua rede local.

  1. Conexão VPN de Site a Site:

  • Uma conexão VPN de Site a Site conecta sua rede local a uma VPC por meio de um túnel VPN IPsec seguro.

  • Esse tipo de conexão requer um Gateway do Cliente e um Gateway Privado Virtual.

  • É usado para comunicação segura, estável e consistente entre seu data center ou rede e seu ambiente AWS.

  • Geralmente usado para conexões regulares e de longo prazo e é faturado com base na quantidade de dados transferidos pela conexão.

  1. Ponto de Acesso VPN do Cliente:

  • Um ponto de acesso VPN do cliente é um recurso que você cria na AWS para permitir e gerenciar sessões VPN do cliente.

  • É usado para permitir que dispositivos individuais (como laptops, smartphones, etc.) se conectem de forma segura a recursos da AWS ou à sua rede local.

  • Difere da VPN de Site a Site, pois é projetado para clientes individuais em vez de conectar redes inteiras.

  • Com o VPN do Cliente, cada dispositivo cliente usa um software cliente VPN para estabelecer uma conexão segura.

VPN de Site a Site

Conecte sua rede local com sua VPC.

  • Conexão VPN: Uma conexão segura entre seu equipamento local e suas VPCs.

  • Túnel VPN: Um link criptografado onde os dados podem passar da rede do cliente para ou da AWS.

Cada conexão VPN inclui dois túneis VPN que você pode usar simultaneamente para alta disponibilidade.

  • Gateway do cliente: Um recurso da AWS que fornece informações à AWS sobre o dispositivo do seu gateway do cliente.

  • Dispositivo do gateway do cliente: Um dispositivo físico ou aplicativo de software em seu lado da conexão VPN de Site a Site.

  • Gateway privado virtual: O concentrador VPN no lado da Amazon da conexão VPN de Site a Site. Você usa um gateway privado virtual ou um gateway de trânsito como o gateway para o lado da Amazon da conexão VPN de Site a Site.

  • Gateway de trânsito: Um hub de trânsito que pode ser usado para interconectar suas VPCs e redes locais. Você usa um gateway de trânsito ou um gateway privado virtual como o gateway para o lado da Amazon da conexão VPN de Site a Site.

Limitações

  • O tráfego IPv6 não é suportado para conexões VPN em um gateway privado virtual.

  • Uma conexão VPN da AWS não suporta a Descoberta de MTU de Caminho.

Além disso, leve em consideração o seguinte ao usar VPN de Site a Site.

VPN do Cliente

Conecte-se da sua máquina ao seu VPC

Conceitos

  • Endpoint VPN do Cliente: O recurso que você cria e configura para habilitar e gerenciar sessões de VPN do cliente. É o recurso onde todas as sessões de VPN do cliente são encerradas.

  • Rede de destino: Uma rede de destino é a rede que você associa a um Endpoint VPN do Cliente. Uma sub-rede de um VPC é uma rede de destino. Associar uma sub-rede a um Endpoint VPN do Cliente permite estabelecer sessões VPN. Você pode associar várias sub-redes a um Endpoint VPN do Cliente para alta disponibilidade. Todas as sub-redes devem ser do mesmo VPC. Cada sub-rede deve pertencer a uma Zona de Disponibilidade diferente.

  • Rota: Cada Endpoint VPN do Cliente tem uma tabela de roteamento que descreve as rotas de rede de destino disponíveis. Cada rota na tabela de roteamento especifica o caminho para o tráfego para recursos ou redes específicas.

  • Regras de autorização: Uma regra de autorização restringe os usuários que podem acessar uma rede. Para uma rede específica, você configura o grupo do Active Directory ou provedor de identidade (IdP) que tem permissão de acesso. Apenas usuários pertencentes a esse grupo podem acessar a rede especificada. Por padrão, não existem regras de autorização e você deve configurar regras de autorização para permitir que os usuários acessem recursos e redes.

  • Cliente: O usuário final que se conecta ao Endpoint VPN do Cliente para estabelecer uma sessão de VPN. Os usuários finais precisam baixar um cliente OpenVPN e usar o arquivo de configuração do Endpoint VPN do Cliente que você criou para estabelecer uma sessão de VPN.

  • Intervalo de CIDR do Cliente: Um intervalo de endereços IP dos quais atribuir endereços IP de cliente. Cada conexão ao Endpoint VPN do Cliente é atribuída um endereço IP único do intervalo de CIDR do cliente. Você escolhe o intervalo de CIDR do cliente, por exemplo, 10.2.0.0/16.

  • Portas do Cliente VPN: O Cliente VPN da AWS suporta as portas 443 e 1194 para TCP e UDP. O padrão é a porta 443.

  • Interfaces de rede do Cliente VPN: Quando você associa uma sub-rede ao seu Endpoint VPN do Cliente, criamos interfaces de rede do Cliente VPN naquela sub-rede. O tráfego enviado para o VPC a partir do Endpoint VPN do Cliente é enviado por meio de uma interface de rede do Cliente VPN. Em seguida, é aplicada a tradução de endereço de origem da rede (SNAT), onde o endereço IP de origem do intervalo de CIDR do cliente é traduzido para o endereço IP da interface de rede do Cliente VPN.

  • Registro de conexão: Você pode habilitar o registro de conexão para o seu Endpoint VPN do Cliente para registrar eventos de conexão. Você pode usar essas informações para executar análises forenses, analisar como seu Endpoint VPN do Cliente está sendo usado ou depurar problemas de conexão.

  • Portal de autoatendimento: Você pode habilitar um portal de autoatendimento para o seu Endpoint VPN do Cliente. Os clientes podem fazer login no portal baseado na web usando suas credenciais e baixar a versão mais recente do arquivo de configuração do Endpoint VPN do Cliente, ou a versão mais recente do cliente fornecido pela AWS.

Limitações

  • Os intervalos de CIDR do Cliente não podem se sobrepor com o CIDR local do VPC no qual a sub-rede associada está localizada, ou quaisquer rotas adicionadas manualmente à tabela de roteamento do Endpoint VPN do Cliente.

  • Os intervalos de CIDR do Cliente devem ter um tamanho de bloco de pelo menos /22 e não devem ser maiores que /12.

  • Uma parte dos endereços no intervalo de CIDR do cliente é usada para suportar o modelo de disponibilidade do Endpoint VPN do Cliente e não pode ser atribuída aos clientes. Portanto, recomendamos que você atribua um bloco CIDR que contenha o dobro do número de endereços IP necessários para habilitar o número máximo de conexões simultâneas que você planeja suportar no Endpoint VPN do Cliente.

  • O intervalo de CIDR do cliente não pode ser alterado após a criação do Endpoint VPN do Cliente.

  • As sub-redes associadas a um Endpoint VPN do Cliente devem estar no mesmo VPC.

  • Você não pode associar várias sub-redes da mesma Zona de Disponibilidade a um Endpoint VPN do Cliente.

  • Um Endpoint VPN do Cliente não suporta associações de sub-redes em um VPC de locação dedicada.

  • O Cliente VPN suporta apenas tráfego IPv4.

  • O Cliente VPN não é compatível com o padrão Federal de Processamento de Informações (FIPS).

  • Se a autenticação de vários fatores (MFA) estiver desativada para o seu Active Directory, a senha do usuário não pode estar no seguinte formato.

SCRV1:<base64_encoded_string>:<base64_encoded_string>
  • O portal de autoatendimento não está disponível para clientes que se autenticam usando autenticação mútua.

Última actualización