AWS - VPC & Networking Basic Information

Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Networking AWS in breve

Un VPC contiene un CIDR di rete come 10.0.0.0/16 (con la sua tabella di routing e ACL di rete).

Questa rete VPC è divisa in sottoreti, quindi una sottorete è direttamente collegata con il VPC, la tabella di routing e l'ACL di rete.

Successivamente, le Interfacce di rete collegate ai servizi (come le istanze EC2) sono collegate alle sottoreti con gruppi di sicurezza.

Pertanto, un gruppo di sicurezza limiterà le porte esposte delle interfacce di rete che lo utilizzano, indipendentemente dalla sottorete. E un ACL di rete limiterà le porte esposte a tutta la rete.

Inoltre, per accedere a Internet, ci sono alcune configurazioni interessanti da controllare:

  • Una sottorete può assegnare automaticamente indirizzi IPv4 pubblici

  • Un'istanza creata nella rete che assegna automaticamente indirizzi IPv4 può ottenerne uno

  • È necessario collegare un gateway Internet al VPC

  • È anche possibile utilizzare gateway Internet solo in uscita

  • È possibile avere un gateway NAT in una sottorete privata in modo da poter connettersi a servizi esterni da quella sottorete privata, ma non è possibile raggiungerli dall'esterno.

  • Il gateway NAT può essere pubblico (accesso a Internet) o privato (accesso ad altri VPC)

VPC

Amazon Virtual Private Cloud (Amazon VPC) ti consente di avviare risorse AWS in una rete virtuale che hai definito. Questa rete virtuale avrà diverse sottoreti, Internet Gateways per accedere a Internet, ACL, gruppi di sicurezza, IP...

Sottoreti

Le sottoreti aiutano a far rispettare un livello maggiore di sicurezza. Raggruppamento logico di risorse simili ti aiuta anche a mantenere una facilità di gestione su tutta la tua infrastruttura.

  • I CIDR validi vanno da una maschera di rete /16 a una maschera di rete /28.

  • Una sottorete non può essere in diverse zone di disponibilità contemporaneamente.

  • AWS riserva i primi tre indirizzi IP host di ogni sottorete per l'uso interno di AWS: il primo indirizzo host utilizzato è per il router VPC. Il secondo indirizzo è riservato per il DNS AWS e il terzo indirizzo è riservato per un uso futuro.

  • Si chiamano sottoreti pubbliche quelle che hanno accesso diretto a Internet, mentre le sottoreti private no.

Tabelle di routing

Le tabelle di routing determinano il routing del traffico per una sottorete all'interno di un VPC. Determinano quale traffico di rete viene inoltrato a Internet o a una connessione VPN. Troverai di solito l'accesso a:

  • VPC locale

  • NAT

  • Gateway Internet / Gateway Internet solo in uscita (necessario per dare a un VPC accesso a Internet).

  • Per rendere una sottorete pubblica è necessario creare e collegare un gateway Internet al tuo VPC.

  • Endpoint VPC (per accedere a S3 da reti private)

Nelle seguenti immagini puoi controllare le differenze in una rete pubblica predefinita e una privata:

ACL

Liste di controllo degli accessi di rete (ACL): Le ACL di rete sono regole del firewall che controllano il traffico di rete in ingresso e in uscita verso una sottorete. Possono essere utilizzate per consentire o negare il traffico a specifici indirizzi IP o intervalli.

  • È più frequente consentire/negare l'accesso utilizzando i gruppi di sicurezza, ma questo è l'unico modo per interrompere completamente le reverse shell stabilite. Una regola modificata in un gruppo di sicurezza non interrompe le connessioni già stabilite

  • Tuttavia, ciò si applica all'intera sottorete, quindi fai attenzione quando vieti cose perché potresti disturbare funzionalità necessarie.

Gruppi di sicurezza

I gruppi di sicurezza sono un firewall virtuale che controlla il traffico di rete in entrata e in uscita verso le istanze in una VPC. Relazione 1 SG per M istanze (di solito 1 a 1). Di solito viene utilizzato per aprire porte pericolose nelle istanze, come ad esempio la porta 22:

Indirizzi IP elastici

Un indirizzo IP elastico è un indirizzo IPv4 statico progettato per il cloud computing dinamico. Un indirizzo IP elastico viene allocato al tuo account AWS ed è tuo finché non lo rilasci. Utilizzando un indirizzo IP elastico, puoi mascherare il fallimento di un'istanza o di un software riassegnando rapidamente l'indirizzo a un'altra istanza nel tuo account.

Connessione tra subnet

Per impostazione predefinita, tutte le subnet hanno l'assegnazione automatica degli indirizzi IP pubblici disattivata ma può essere attivata.

Una route locale all'interno di una tabella delle route consente la comunicazione tra le subnet della VPC.

Se stai connettendo una subnet con un'altra subnet non puoi accedere alle subnet collegate con l'altra subnet, devi creare una connessione diretta con esse. Questo si applica anche ai gateway internet. Non puoi passare attraverso una connessione di subnet per accedere a Internet, devi assegnare il gateway internet alla tua subnet.

Peering VPC

Il peering VPC ti consente di connettere due o più VPC insieme, utilizzando IPV4 o IPV6, come se facessero parte della stessa rete.

Una volta stabilita la connettività tra i peer, le risorse in una VPC possono accedere alle risorse nell'altra. La connettività tra le VPC è implementata attraverso l'infrastruttura di rete esistente di AWS, ed è quindi altamente disponibile senza collo di bottiglia della larghezza di banda. Poiché le connessioni peer operano come se facessero parte della stessa rete, ci sono restrizioni per quanto riguarda i tuoi blocchi CIDR che possono essere utilizzati. Se hai blocchi CIDR sovrapposti o duplicati per le tue VPC, allora non sarai in grado di collegare le VPC insieme. Ogni VPC AWS comunicherà solo con il suo peer. Ad esempio, se hai una connessione di peering tra VPC 1 e VPC 2, e un'altra connessione tra VPC 2 e VPC 3 come mostrato, allora VPC 1 e 2 potrebbero comunicare direttamente tra loro, così come VPC 2 e VPC 3, tuttavia, VPC 1 e VPC 3 non potrebbero. Non puoi instradare attraverso una VPC per raggiungere un'altra.

Log di flusso VPC

All'interno della tua VPC, potresti potenzialmente avere centinaia o addirittura migliaia di risorse che comunicano tra subnet diverse, sia pubbliche che private e anche tra diverse VPC tramite connessioni di peering VPC. I log di flusso VPC ti consentono di catturare le informazioni sul traffico IP che fluisce tra le interfacce di rete delle risorse all'interno della tua VPC.

A differenza dei log di accesso a S3 e dei log di accesso a CloudFront, i dati di log generati dai log di flusso VPC non sono memorizzati in S3. Invece, i dati di log catturati vengono inviati ai log di CloudWatch.

Limitazioni:

  • Se stai eseguendo una connessione di peering VPC, allora sarai in grado di vedere solo i log di flusso delle VPC collegate che sono nello stesso account.

  • Se stai ancora eseguendo risorse all'interno dell'ambiente EC2-Classic, purtroppo non sarai in grado di recuperare informazioni dalle loro interfacce.

  • Una volta creato un log di flusso VPC, non può essere modificato. Per modificare la configurazione del log di flusso VPC, è necessario eliminarlo e quindi ricrearne uno nuovo.

  • Il traffico seguente non è monitorato e catturato dai log. Traffico DHCP all'interno della VPC, traffico dalle istanze destinato al server DNS di Amazon.

  • Qualsiasi traffico destinato all'indirizzo IP del router predefinito della VPC e traffico da e verso gli indirizzi seguenti, 169.254.169.254 utilizzato per raccogliere i metadati dell'istanza, e 169.254.169.123 utilizzato per il servizio di sincronizzazione dell'ora di Amazon.

  • Traffico relativo a una licenza di attivazione di Windows Amazon da un'istanza Windows.

  • Traffico tra un'interfaccia del bilanciamento del carico di rete e un'interfaccia di rete dell'endpoint.

Per ogni interfaccia di rete che pubblica dati nel gruppo di log di CloudWatch, verrà utilizzato un flusso di log diverso. E all'interno di ciascuno di questi flussi, ci saranno i dati degli eventi di log di flusso che mostrano il contenuto delle voci di log. Ciascuno di questi log cattura dati durante una finestra di circa 10-15 minuti.

VPN

Componenti di base di AWS VPN

  1. Gateway del cliente:

  • Un Gateway del cliente è una risorsa che crei in AWS per rappresentare il tuo lato di una connessione VPN.

  • È essenzialmente un dispositivo fisico o un'applicazione software sul tuo lato della connessione VPN da sito a sito.

  • Fornisci informazioni di routing e l'indirizzo IP pubblico del tuo dispositivo di rete (come un router o un firewall) ad AWS per creare un Gateway del cliente.

  • Serve come punto di riferimento per configurare la connessione VPN e non comporta costi aggiuntivi.

  1. Gateway privato virtuale:

  • Un Gateway privato virtuale (VPG) è il concentratore VPN sul lato Amazon della connessione VPN da sito a sito.

  • È collegato alla tua VPC e funge da destinazione per la tua connessione VPN.

  • Il VPG è il punto finale lato AWS per la connessione VPN.

  • Gestisce la comunicazione sicura tra la tua VPC e la tua rete in locale.

  1. Connessione VPN da sito a sito:

  • Una connessione VPN da sito a sito collega la tua rete in locale a una VPC tramite un tunnel VPN IPsec sicuro.

  • Questo tipo di connessione richiede un Gateway del cliente e un Gateway privato virtuale.

  • È utilizzato per una comunicazione sicura, stabile e coerente tra il tuo data center o rete e il tuo ambiente AWS.

  • Tipicamente utilizzato per connessioni regolari a lungo termine e viene tariffato in base alla quantità di dati trasferiti sulla connessione.

  1. Endpoint VPN per clienti:

  • Un endpoint VPN per clienti è una risorsa che crei in AWS per abilitare e gestire sessioni VPN per clienti.

  • È utilizzato per consentire a dispositivi individuali (come laptop, smartphone, ecc.) di connettersi in modo sicuro alle risorse AWS o alla tua rete in locale.

  • Si differenzia dalla VPN da sito a sito in quanto è progettato per clienti individuali anziché per connettere intere reti.

  • Con la VPN per clienti, ogni dispositivo cliente utilizza un software client VPN per stabilire una connessione sicura.

VPN da sito a sito

Collega la tua rete in locale alla tua VPC.

  • Connessione VPN: Una connessione sicura tra le attrezzature in locale e le tue VPC.

  • Tunnel VPN: Un collegamento crittografato attraverso il quale i dati possono passare dalla rete del cliente da o verso AWS.

Ogni connessione VPN include due tunnel VPN che è possibile utilizzare contemporaneamente per garantire l'alta disponibilità.

  • Gateway del cliente: Una risorsa AWS che fornisce informazioni ad AWS sul dispositivo del gateway del cliente.

  • Dispositivo del gateway del cliente: Un dispositivo fisico o un'applicazione software sul tuo lato della connessione VPN da sito a sito.

  • Gateway privato virtuale: Il concentratore VPN sul lato Amazon della connessione VPN da sito a sito. Utilizzi un gateway privato virtuale o un gateway di transito come gateway per il lato Amazon della connessione VPN da sito a sito.

  • Gateway di transito: Un hub di transito che può essere utilizzato per interconnettere le tue VPC e le reti in locale. Utilizzi un gateway di transito o un gateway privato virtuale come gateway per il lato Amazon della connessione VPN da sito a sito.

Limitazioni

  • Il traffico IPv6 non è supportato per le connessioni VPN su un gateway privato virtuale.

  • Una connessione VPN AWS non supporta la scoperta del percorso MTU.

Inoltre, prendi in considerazione quanto segue quando utilizzi la VPN da sito a sito.

VPN Client

Connetti dal tuo computer al tuo VPC

Concetti

  • Endpoint VPN client: La risorsa che crei e configuri per abilitare e gestire le sessioni VPN client. È la risorsa in cui terminano tutte le sessioni VPN client.

  • Rete di destinazione: Una rete di destinazione è la rete che associ alla fine VPN client. Una subnet da un VPC è una rete di destinazione. Associare una subnet a un endpoint VPN client consente di stabilire sessioni VPN. È possibile associare più subnet a un endpoint VPN client per l'alta disponibilità. Tutte le subnet devono essere dello stesso VPC. Ogni subnet deve appartenere a una diversa zona di disponibilità.

  • Percorso: Ogni endpoint VPN client ha una tabella di routing che descrive i percorsi di rete di destinazione disponibili. Ogni percorso nella tabella di routing specifica il percorso per il traffico verso risorse o reti specifiche.

  • Regole di autorizzazione: Una regola di autorizzazione limita gli utenti che possono accedere a una rete. Per una rete specificata, si configura il gruppo Active Directory o il provider di identità (IdP) che è autorizzato ad accedere. Solo gli utenti appartenenti a questo gruppo possono accedere alla rete specificata. Per impostazione predefinita, non ci sono regole di autorizzazione e è necessario configurare le regole di autorizzazione per consentire agli utenti di accedere alle risorse e alle reti.

  • Client: L'utente finale che si connette all'endpoint VPN client per stabilire una sessione VPN. Gli utenti finali devono scaricare un client OpenVPN e utilizzare il file di configurazione del VPN client che hai creato per stabilire una sessione VPN.

  • Intervallo CIDR client: Un intervallo di indirizzi IP da cui assegnare gli indirizzi IP client. A ogni connessione all'endpoint VPN client viene assegnato un indirizzo IP univoco dall'intervallo CIDR client. Si sceglie l'intervallo CIDR client, ad esempio, 10.2.0.0/16.

  • Porte VPN client: AWS Client VPN supporta le porte 443 e 1194 sia per TCP che per UDP. Quella predefinita è la porta 443.

  • Interfacce di rete VPN client: Quando si associa una subnet al proprio endpoint VPN client, vengono create interfacce di rete VPN client in quella subnet. Il traffico inviato al VPC dall'endpoint VPN client viene inviato attraverso un'interfaccia di rete VPN client. Viene quindi applicata la traduzione degli indirizzi di origine della rete (SNAT), dove l'indirizzo IP di origine dall'intervallo CIDR client viene tradotto all'indirizzo IP dell'interfaccia di rete VPN client.

  • Registrazione delle connessioni: È possibile abilitare la registrazione delle connessioni per il proprio endpoint VPN client per registrare gli eventi di connessione. È possibile utilizzare queste informazioni per eseguire analisi forensi, analizzare come viene utilizzato il proprio endpoint VPN client o risolvere problemi di connessione.

  • Portale self-service: È possibile abilitare un portale self-service per il proprio endpoint VPN client. Gli utenti possono accedere al portale basato sul web utilizzando le proprie credenziali e scaricare la versione più recente del file di configurazione dell'endpoint VPN client, o la versione più recente del client fornito da AWS.

Limitazioni

  • Gli intervalli CIDR client non possono sovrapporsi con il CIDR locale del VPC in cui si trova la subnet associata, o con eventuali percorsi aggiunti manualmente alla tabella di routing dell'endpoint VPN client.

  • Gli intervalli CIDR client devono avere una dimensione di blocco di almeno /22 e non devono essere superiori a /12.

  • Una porzione degli indirizzi nell'intervallo CIDR client viene utilizzata per supportare il modello di disponibilità dell'endpoint VPN client, e non può essere assegnata ai client. Pertanto, si consiglia di assegnare un blocco CIDR che contenga il doppio del numero di indirizzi IP necessari per abilitare il numero massimo di connessioni simultanee che si prevede di supportare sull'endpoint VPN client.

  • L'intervallo CIDR client non può essere modificato dopo la creazione dell'endpoint VPN client.

  • Le subnet associate a un endpoint VPN client devono essere nello stesso VPC.

  • Non è possibile associare più subnet dalla stessa zona di disponibilità a un endpoint VPN client.

  • Un endpoint VPN client non supporta le associazioni di subnet in un VPC a tenancy dedicato.

  • Il VPN client supporta solo il traffico IPv4.

  • Il VPN client non è conforme agli standard Federal Information Processing Standards (FIPS).

  • Se l'autenticazione a due fattori (MFA) è disabilitata per la propria Active Directory, una password utente non può essere nel seguente formato.

SCRV1:<stringa_codificata_in_base64>:<stringa_codificata_in_base64>
  • Il portale self-service non è disponibile per i client che si autenticano utilizzando l'autenticazione reciproca.

Last updated