GCP - VPC & Networking
Last updated
Last updated
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Le VPC contengono regole di Firewall per consentire il traffico in entrata nella VPC. Le VPC contengono anche sottoreti dove le macchine virtuali saranno collegate. Rispetto ad AWS, il Firewall sarebbe la cosa più simile ai Gruppi di Sicurezza e NACLs di AWS, ma in questo caso queste sono definite nella VPC e non in ogni istanza.
Le istanze di calcolo sono collegate a sottoreti che fanno parte delle VPC (Virtual Private Clouds). In GCP non ci sono gruppi di sicurezza, ci sono firewall VPC con regole definite a questo livello di rete ma applicate a ciascuna istanza VM.
Una VPC può avere diverse sottoreti. Ogni sottorete è in 1 regione.
Per impostazione predefinita, ogni rete ha due regole di firewall implicite: consenti in uscita e nega in entrata.
Quando viene creato un progetto GCP, viene creata anche una VPC chiamata default
, con le seguenti regole di firewall:
default-allow-internal: consenti tutto il traffico da altre istanze sulla rete default
default-allow-ssh: consenti 22 da ovunque
default-allow-rdp: consenti 3389 da ovunque
default-allow-icmp: consenti ping da ovunque
Come puoi vedere, le regole del firewall tendono ad essere più permissive per gli indirizzi IP interni. La VPC predefinita consente tutto il traffico tra le istanze di calcolo.
Ulteriori regole del firewall possono essere create per la VPC predefinita o per nuove VPC. Le regole del firewall possono essere applicate alle istanze tramite i seguenti metodi:
Tutte le istanze all'interno di una VPC
Sfortunatamente, non esiste un semplice comando gcloud
per estrarre tutte le istanze di calcolo con porte aperte su Internet. Devi collegare i punti tra le regole del firewall, i tag di rete, gli account di servizio e le istanze.
Questo processo è stato automatizzato utilizzando questo script python che esporta quanto segue:
File CSV che mostra istanza, IP pubblico, TCP consentito, UDP consentito
Scansione nmap per mirare a tutte le istanze sulle porte in ingresso consentite da Internet pubblico (0.0.0.0/0)
masscan per mirare all'intero intervallo TCP di quelle istanze che consentono TUTTE le porte TCP da Internet pubblico (0.0.0.0/0)
Le politiche di firewall gerarchiche ti consentono di creare e applicare una politica di firewall coerente in tutta l'organizzazione. Puoi assegnare politiche di firewall gerarchiche all'organizzazione nel suo insieme o a singoli folder. Queste politiche contengono regole che possono esplicitamente negare o consentire connessioni.
Crei e applichi le politiche di firewall come passaggi separati. Puoi creare e applicare politiche di firewall ai nodi dell'organizzazione o della cartella della gerarchia delle risorse. Una regola di politica del firewall può bloccare connessioni, consentire connessioni o rinviare la valutazione della regola del firewall a cartelle di livello inferiore o regole del firewall VPC definite nelle reti VPC.
Per impostazione predefinita, tutte le regole delle politiche di firewall gerarchiche si applicano a tutte le VM in tutti i progetti sotto l'organizzazione o la cartella a cui è associata la politica. Tuttavia, puoi limitare quali VM ricevono una determinata regola specificando reti target o account di servizio target.
Puoi leggere qui come creare una Politica di Firewall Gerarchica.
Org: Politiche di firewall assegnate all'Organizzazione
Folder: Politiche di firewall assegnate alla Cartella
VPC: Regole di firewall assegnate alla VPC
Globale: Un altro tipo di regole di firewall che possono essere assegnate alle VPC
Regionale: Regole di firewall associate alla rete VPC della NIC della VM e alla regione della VM.
Consente di connettere due reti Virtual Private Cloud (VPC) in modo che le risorse in ciascuna rete possano comunicare tra loro. Le reti VPC collegate possono trovarsi nello stesso progetto, in progetti diversi della stessa organizzazione o in progetti diversi di organizzazioni diverse.
Queste sono le autorizzazioni necessarie:
compute.networks.addPeering
compute.networks.updatePeering
compute.networks.removePeering
compute.networks.listPeeringRoutes
Maggiori informazioni nella documentazione.
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)