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 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 relata con la VPC, tabella di routing e ACL di rete.
Poi, 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 all'intera 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
Un gateway Internet deve essere collegato alla VPC
Puoi anche utilizzare gateway Internet solo in uscita
Puoi anche avere un gateway NAT in una sottorete privata in modo che sia possibile 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 altre VPC)
Amazon Virtual Private Cloud (Amazon VPC) ti consente di lanciare risorse AWS in una rete virtuale che hai definito. Questa rete virtuale avrà diverse sottoreti, gateway Internet per accedere a Internet, ACL, gruppi di sicurezza, IP...
Le sottoreti aiutano a garantire un maggiore livello di sicurezza. Raggruppamenti logici di risorse simili aiutano anche a mantenere una facilità di gestione attraverso la tua infrastruttura.
I CIDR validi vanno da una netmask /16 a una netmask /28.
Una sottorete non può trovarsi in diverse zone di disponibilità contemporaneamente.
AWS riserva i primi tre indirizzi IP host di ogni sottorete per uso interno di AWS: il primo indirizzo host utilizzato è per il router VPC. Il secondo indirizzo è riservato per AWS DNS e il terzo indirizzo è riservato per usi futuri.
Si chiamano sottoreti pubbliche quelle che hanno accesso diretto a Internet, mentre le sottoreti private no.
Le tabelle di routing determinano il routing del traffico per una sottorete all'interno di una VPC. Determinano quale traffico di rete viene inoltrato a Internet o a una connessione VPN. Di solito troverai accesso a:
VPC locale
NAT
Gateway Internet / gateway Internet solo in uscita (necessari per dare accesso a Internet a una VPC).
Per rendere una sottorete pubblica devi creare e collegare un gateway Internet alla tua VPC.
Endpoint VPC (per accedere a S3 da reti private)
Nelle immagini seguenti puoi controllare le differenze tra una rete pubblica predefinita e una privata:
Liste di Controllo degli Accessi di Rete (ACL): Le ACL di rete sono regole firewall che controllano il traffico di rete in entrata e in uscita a una sottorete. Possono essere utilizzate per consentire o negare il traffico a indirizzi IP specifici o intervalli.
È più frequente consentire/negare l'accesso utilizzando gruppi di sicurezza, ma questo è l'unico modo per interrompere completamente le shell inverse stabilite. Una regola modificata in un gruppo di sicurezza non ferma le connessioni già stabilite.
Tuttavia, questo si applica all'intera sottorete, fai attenzione quando vieti cose perché la funzionalità necessaria potrebbe essere disturbata.
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 a M istanze (di solito 1 a 1). Di solito questo viene utilizzato per aprire porte pericolose nelle istanze, come la porta 22 ad esempio:
Un Indirizzo IP Elastic è un indirizzo IPv4 statico progettato per il cloud computing dinamico. Un Indirizzo IP Elastic è allocato al tuo account AWS ed è tuo fino a quando non lo rilasci. Utilizzando un Indirizzo IP Elastic, puoi mascherare il guasto di un'istanza o di un software rimappando rapidamente l'indirizzo a un'altra istanza nel tuo account.
Per impostazione predefinita, tutte le sottoreti hanno l'assegnazione automatica di indirizzi IP pubblici disattivata, ma può essere attivata.
Una rotta locale all'interno di una tabella di routing consente la comunicazione tra le sottoreti VPC.
Se stai collegando una sottorete con un'altra sottorete non puoi accedere alle sottoreti collegate con l'altra sottorete, devi creare una connessione con esse direttamente. Questo si applica anche ai gateway Internet. Non puoi passare attraverso una connessione di sottorete per accedere a Internet, devi assegnare il gateway Internet alla tua sottorete.
Il peering VPC ti consente di collegare due o più VPC insieme, utilizzando IPV4 o IPV6, come se fossero parte della stessa rete.
Una volta stabilita la connettività di peering, le risorse in una VPC possono accedere alle risorse nell'altra. La connettività tra le VPC è implementata attraverso l'infrastruttura di rete AWS esistente, quindi è altamente disponibile senza colli di bottiglia di larghezza di banda. Poiché le connessioni di peering operano come se fossero parte della stessa rete, ci sono restrizioni riguardo ai tuoi intervalli di blocco CIDR che possono essere utilizzati. Se hai intervalli CIDR sovrapposti o duplicati per la tua VPC, allora non potrai fare peering tra le VPC. 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 arrivare a un'altra.
All'interno della tua VPC, potresti avere potenzialmente centinaia o addirittura migliaia di risorse che comunicano tra diverse sottoreti sia pubbliche che private e anche tra diverse VPC attraverso connessioni di peering VPC. I VPC Flow Logs ti consentono di catturare informazioni sul traffico IP che fluisce tra le interfacce di rete delle tue risorse all'interno della tua VPC.
A differenza dei log di accesso S3 e dei log di accesso CloudFront, i dati di log generati dai VPC Flow Logs 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 potrai vedere solo i log di flusso delle VPC peered che sono all'interno dello stesso account.
Se stai ancora eseguendo risorse all'interno dell'ambiente EC2-Classic, sfortunatamente non puoi recuperare informazioni dalle loro interfacce.
Una volta creato un VPC Flow Log, non può essere modificato. Per alterare la configurazione del VPC Flow Log, devi eliminarlo e poi 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 per il router predefinito della VPC e traffico da e verso i seguenti indirizzi, 169.254.169.254 che viene utilizzato per raccogliere metadati delle istanze, e 169.254.169.123 che viene utilizzato per il servizio di sincronizzazione dell'ora di Amazon.
Traffico relativo a una licenza di attivazione di Windows da un'istanza Windows.
Traffico tra un'interfaccia di bilanciatore di carico di rete e un'interfaccia di rete di 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. Ognuno di questi log cattura dati durante una finestra di circa 10-15 minuti.
Customer Gateway:
Un Customer Gateway è una risorsa che crei in AWS per rappresentare il tuo lato di una connessione VPN.
È essenzialmente un dispositivo fisico o un'applicazione software dal tuo lato della connessione VPN Site-to-Site.
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 Customer Gateway.
Serve come punto di riferimento per impostare la connessione VPN e non comporta costi aggiuntivi.
Virtual Private Gateway:
Un Virtual Private Gateway (VPG) è il concentratore VPN sul lato Amazon della connessione VPN Site-to-Site.
È collegato alla tua VPC e funge da obiettivo per la tua connessione VPN.
VPG è l'endpoint AWS per la connessione VPN.
Gestisce la comunicazione sicura tra la tua VPC e la tua rete on-premises.
Connessione VPN Site-to-Site:
Una connessione VPN Site-to-Site collega la tua rete on-premises a una VPC attraverso un tunnel VPN IPsec sicuro.
Questo tipo di connessione richiede un Customer Gateway e un Virtual Private Gateway.
Viene utilizzato per comunicazioni sicure, stabili e coerenti tra il tuo data center o rete e il tuo ambiente AWS.
Tipicamente utilizzato per connessioni regolari e a lungo termine e viene fatturato in base alla quantità di dati trasferiti attraverso la connessione.
Client VPN Endpoint:
Un Client VPN endpoint è una risorsa che crei in AWS per abilitare e gestire le sessioni VPN client.
Viene utilizzato per consentire a dispositivi individuali (come laptop, smartphone, ecc.) di connettersi in modo sicuro alle risorse AWS o alla tua rete on-premises.
Si differenzia dalla VPN Site-to-Site in quanto è progettato per client individuali piuttosto che per connettere intere reti.
Con Client VPN, ogni dispositivo client utilizza un software client VPN per stabilire una connessione sicura.
Collega la tua rete on-premises con la tua VPC.
Connessione VPN: Una connessione sicura tra la tua attrezzatura on-premises e le tue VPC.
Tunnel VPN: Un collegamento crittografato in cui i dati possono passare dalla rete del cliente a o da AWS.
Ogni connessione VPN include due tunnel VPN che puoi utilizzare simultaneamente per alta disponibilità.
Customer gateway: Una risorsa AWS che fornisce informazioni ad AWS sul tuo dispositivo gateway cliente.
Dispositivo gateway cliente: Un dispositivo fisico o un'applicazione software dal tuo lato della connessione VPN Site-to-Site.
Virtual private gateway: Il concentratore VPN sul lato Amazon della connessione VPN Site-to-Site. Utilizzi un gateway privato virtuale o un gateway di transito come gateway per il lato Amazon della connessione VPN Site-to-Site.
Transit gateway: Un hub di transito che può essere utilizzato per interconnettere le tue VPC e reti on-premises. Utilizzi un gateway di transito o un gateway privato virtuale come gateway per il lato Amazon della connessione VPN Site-to-Site.
Il traffico IPv6 non è supportato per le connessioni VPN su un gateway privato virtuale.
Una connessione VPN AWS non supporta la scoperta del Path MTU.
Inoltre, prendi in considerazione quanto segue quando utilizzi la VPN Site-to-Site.
Quando colleghi le tue VPC a una rete on-premises comune, ti consigliamo di utilizzare blocchi CIDR non sovrapposti per le tue reti.
Collegati dal tuo computer alla tua VPC
Client VPN endpoint: La risorsa che crei e configuri per abilitare e gestire le sessioni VPN client. È la risorsa in cui tutte le sessioni VPN client vengono terminate.
Rete target: Una rete target è la rete che associ a un Client VPN endpoint. Una sottorete di una VPC è una rete target. Associare una sottorete a un Client VPN endpoint ti consente di stabilire sessioni VPN. Puoi associare più sottoreti a un Client VPN endpoint per alta disponibilità. Tutte le sottoreti devono appartenere alla stessa VPC. Ogni sottorete deve appartenere a una zona di disponibilità diversa.
Rotta: Ogni Client VPN endpoint ha una tabella di routing che descrive le rotte di rete di destinazione disponibili. Ogni rotta 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, configuri il gruppo Active Directory o 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 devi configurare regole di autorizzazione per abilitare gli utenti ad accedere a risorse e reti.
Client: L'utente finale che si connette al Client VPN endpoint per stabilire una sessione VPN. Gli utenti finali devono scaricare un client OpenVPN e utilizzare il file di configurazione del Client VPN che hai creato per stabilire una sessione VPN.
Intervallo CIDR client: Un intervallo di indirizzi IP da cui assegnare indirizzi IP client. Ogni connessione al Client VPN endpoint viene assegnata un indirizzo IP unico dall'intervallo CIDR client. Scegli l'intervallo CIDR client, ad esempio, 10.2.0.0/16
.
Porte Client VPN: AWS Client VPN supporta le porte 443 e 1194 sia per TCP che per UDP. Il predefinito è la porta 443.
Interfacce di rete Client VPN: Quando associ una sottorete al tuo Client VPN endpoint, creiamo interfacce di rete Client VPN in quella sottorete. Il traffico inviato alla VPC dall'endpoint Client VPN viene inviato attraverso un'interfaccia di rete Client VPN. Viene quindi applicata la traduzione dell'indirizzo di rete sorgente (SNAT), dove l'indirizzo IP sorgente dall'intervallo CIDR client viene tradotto nell'indirizzo IP dell'interfaccia di rete Client VPN.
Registrazione delle connessioni: Puoi abilitare la registrazione delle connessioni per il tuo Client VPN endpoint per registrare eventi di connessione. Puoi utilizzare queste informazioni per eseguire analisi forensi, analizzare come viene utilizzato il tuo Client VPN endpoint o risolvere problemi di connessione.
Portale self-service: Puoi abilitare un portale self-service per il tuo Client VPN endpoint. I client possono accedere al portale web utilizzando le proprie credenziali e scaricare l'ultima versione del file di configurazione dell'endpoint Client VPN, o l'ultima versione del client fornito da AWS.
Gli intervalli CIDR client non possono sovrapporsi con il CIDR locale della VPC in cui si trova la sottorete associata, o con qualsiasi rotta aggiunta manualmente alla tabella di routing dell'endpoint Client VPN.
Gli intervalli CIDR client devono avere una dimensione di blocco di almeno /22 e non devono essere maggiori di /12.
Una parte degli indirizzi nell'intervallo CIDR client viene utilizzata per supportare il modello di disponibilità dell'endpoint Client VPN e non può essere assegnata ai client. Pertanto, ti consigliamo di assegnare un blocco CIDR che contenga il doppio del numero di indirizzi IP richiesti per abilitare il numero massimo di connessioni concorrenti che intendi supportare sull'endpoint Client VPN.
L'intervallo CIDR client non può essere cambiato dopo aver creato l'endpoint Client VPN.
Le sottoreti associate a un Client VPN endpoint devono trovarsi nella stessa VPC.
Non puoi associare più sottoreti dalla stessa zona di disponibilità a un Client VPN endpoint.
Un Client VPN endpoint non supporta associazioni di sottoreti in una VPC a locazione dedicata.
Client VPN supporta solo traffico IPv4.
Client VPN non è conforme agli standard di elaborazione delle informazioni federali (FIPS).
Se l'autenticazione a più fattori (MFA) è disabilitata per il tuo Active Directory, una password utente non può essere nel seguente formato.
Il portale self-service non è disponibile per i client che si autenticano utilizzando l'autenticazione reciproca.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)