Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Panoramica delle regole firewall VPC

Le regole firewall Virtual Private Cloud (VPC) si applicano a un determinato progetto e a una determinata rete. Se vuoi applicare regole firewall a più reti VPC in un'organizzazione, consulta Informazioni sui criteri firewall gerarchici. Il resto della pagina riguarda solo le regole firewall VPC.

Le regole firewall VPC ti consentono di consentire o negare le connessioni da o verso le tue istanze di macchine virtuali (VM) in base a una configurazione da te specificata. Le regole firewall VPC abilitate vengono sempre applicate, proteggendo le istanze indipendentemente dalla configurazione e dal sistema operativo, anche se non sono state avviate.

Ogni rete VPC funziona come un firewall distribuito. Sebbene le regole firewall siano definite a livello di rete, le connessioni vengono consentite o negate in base all'istanza. Puoi considerare le regole del firewall VPC come esistenti non solo tra le tue istanze e altre reti, ma anche tra singole istanze nella stessa rete.

Per maggiori informazioni sui firewall, consulta Firewall (computing).

Best practice per le regole firewall

Quando progetti e valuti le regole firewall, tieni presente le seguenti best practice:

  • Implementare i principi del privilegio minimo. Blocca tutto il traffico per impostazione predefinita e consenti solo il traffico specifico di cui hai bisogno. Ciò include la limitazione della regola solo ai protocolli e alle porte necessari.
  • Utilizza le regole dei criteri firewall gerarchici per bloccare il traffico che non dovrebbe mai essere consentito a livello di organizzazione o cartella.
  • Per le regole di autorizzazione, limitale a VM specifiche specificando l'account di servizio delle VM.
  • Se devi creare regole basate su indirizzi IP, prova a ridurre al minimo il numero di regole. È più facile monitorare una regola che consente il traffico in una gamma di 16 VM rispetto al monitoraggio di 16 regole separate.
  • Attiva Logging firewall e utilizza Firewall Insights per verificare che le regole firewall vengano utilizzate come previsto. Il logging delle regole firewall può comportare costi, per cui potresti valutarne l'utilizzo selettivo.

Regole firewall in Google Cloud

Quando crei una regola firewall VPC, specifichi una rete VPC e un insieme di componenti che definiscono le operazioni eseguite dalla regola. I componenti consentono di scegliere come target determinati tipi di traffico in base al protocollo, alle porte di destinazione, alle sorgenti e alle destinazioni del traffico. Per ulteriori informazioni, consulta i componenti delle regole di firewall.

Puoi creare o modificare le regole firewall VPC utilizzando la console Google Cloud, Google Cloud CLI e l'API REST. Quando crei o modifichi una regola firewall, puoi specificare le istanze a cui deve essere applicata utilizzando il componente di destinazione della regola.

Oltre alle regole firewall che crei, Google Cloud prevede altre regole che possono influire sulle connessioni in entrata (in entrata) o in uscita (egress):

  • Google Cloud blocca o limita un determinato traffico. Per scoprire di più, consulta Traffico bloccato e limitato.

  • Google Cloud consente sempre la comunicazione tra un'istanza VM e il relativo server dei metadati corrispondente all'indirizzo 169.254.169.254. Per scoprire di più, consulta Traffico sempre consentito.

  • Ogni rete ha due regole firewall implicite che consentono le connessioni in uscita e bloccano le connessioni in entrata. Le regole firewall che crei possono sostituire queste regole implicite.

  • La rete predefinita è precompilata con regole firewall che puoi eliminare o modificare.

Specifiche

Le regole firewall VPC hanno le seguenti caratteristiche:

  • Ogni regola firewall si applica alla connessione in entrata (in entrata) o in uscita (in uscita), non a entrambe. Per ulteriori informazioni, consulta il documento sulla direzione della connessione.

  • Le regole firewall supportano le connessioni IPv4. Le connessioni IPv6 sono supportate anche nelle reti VPC in cui è attivato IPv6. Quando specifichi un'origine per una regola in entrata o una destinazione per una regola in uscita in base all'indirizzo, puoi specificare indirizzi o blocchi IPv4 o IPv6 nella notazione CIDR.

  • Ogni regola firewall può contenere intervalli IPv4 o IPv6, ma non entrambi.

  • L'azione di ogni regola firewall è allow o deny. La regola si applica alle connessioni purché venga applicata. Ad esempio, puoi disattivare una regola per la risoluzione dei problemi.

  • Quando crei una regola firewall, devi selezionare una rete VPC. La regola viene applicata a livello di istanza, ma la sua configurazione è associata a una rete VPC. Questo significa che non puoi condividere le regole del firewall tra le reti VPC, incluse le reti connesse tramite peering di rete VPC o utilizzando i tunnel Cloud VPN.

  • Le regole firewall VPC sono stateful.

    • Quando una connessione è consentita tramite il firewall in entrambe le direzioni, è consentito anche il traffico di ritorno che corrisponde a questa connessione. Non puoi configurare una regola firewall per rifiutare il traffico di risposta associato.
    • Il traffico di ritorno deve corrispondere alle 5 tuple (IP di origine, IP di destinazione, porta di origine, porta di destinazione, protocollo) del traffico delle richieste accettate, ma devono essere invertiti gli indirizzi e le porte di origine e di destinazione.
    • Google Cloud associa i pacchetti in entrata ai pacchetti in uscita corrispondenti utilizzando una tabella di monitoraggio delle connessioni.
    • Google Cloud implementa il monitoraggio delle connessioni indipendentemente dal fatto che il protocollo supporti le connessioni. Se è consentita una connessione tra un'origine e una destinazione (per una regola in entrata) o tra una destinazione e una destinazione (per una regola in uscita), tutto il traffico di risposta è consentito finché lo stato di monitoraggio delle connessioni del firewall è attivo. Lo stato di monitoraggio di una regola firewall è considerato attivo se viene inviato almeno un pacchetto ogni 10 minuti.
    • Il traffico di risposta ICMP, ad esempio "ICMP TYPE 3, DESTINATION UNREACHABLE", generato in risposta a una connessione TCP/UDP consentita è consentito tramite il firewall. Questo comportamento è coerente con RFC 792.
  • Le regole firewall VPC non riassemblano i pacchetti TCP frammentati. Pertanto, una regola firewall applicabile al protocollo TCP può essere applicata solo al primo frammento perché contiene l'intestazione TCP. Le regole firewall applicabili al protocollo TCP non si applicano ai frammenti TCP successivi.

  • Il numero massimo di connessioni monitorate nella tabella delle regole firewall dipende dal numero di connessioni stateful supportate dal tipo di macchina dell'istanza. Se viene superato il numero massimo di connessioni monitorate, il monitoraggio viene interrotto per le connessioni con l'intervallo di inattività più lungo per consentire il monitoraggio di nuove connessioni.

    Tipo di macchina dell'istanza Numero massimo di connessioni stateful
    Tipi di macchine con core condivisi 130.000
    Istanze con 1-8 vCPU 130.000 connessioni per vCPU
    Istanze con più di 8 vCPU 1.040.000 (130.000 × 8) di connessioni in totale

Regole implicite

Ogni rete VPC prevede due regole firewall IPv4 implicite. Se IPv6 è abilitato in una rete VPC, la rete ha anche due regole implicite di firewall IPv6. Queste regole non vengono mostrate nella console Google Cloud.

Le regole firewall IPv4 implicite sono presenti in tutte le reti VPC, indipendentemente dal modo in cui vengono create e dalle reti VPC in modalità automatica o personalizzata. La rete predefinita ha le stesse regole implicite.

  • Regola di traffico in uscita IPv4 implicito. Una regola in uscita con azione allow, destinazione è 0.0.0.0/0 e la priorità è la più bassa possibile (65535) consente a qualsiasi istanza di inviare il traffico a qualsiasi destinazione, ad eccezione di quello del traffico bloccato da Google Cloud. Una regola firewall con priorità più elevata può limitare l'accesso in uscita. L'accesso a Internet è consentito se nessun'altra regola firewall nega il traffico in uscita e se l'istanza ha un indirizzo IP esterno o utilizza un'istanza Cloud NAT. Per ulteriori informazioni, consulta i requisiti di accesso a Internet.

  • Regola di traffico in entrata IPv4 implicito. Una regola in entrata la cui azione è deny, l'origine è 0.0.0.0/0 e la priorità è la più bassa possibile (65535) protegge tutte le istanze bloccando le connessioni in entrata. Una regola con priorità più elevata potrebbe consentire l'accesso in entrata. La rete predefinita include alcune regole aggiuntive che sostituiscono questa impostazione, consentendo determinati tipi di connessioni in entrata.

Se IPv6 è abilitato, la rete VPC prevede anche queste due regole implicite:

  • Regola di traffico in uscita IPv6 implicito. Una regola in uscita con azione allow, destinazione è ::/0 e la priorità è la più bassa possibile (65535) consente a qualsiasi istanza di inviare il traffico a qualsiasi destinazione, ad eccezione di quello del traffico bloccato da Google Cloud. Una regola firewall con priorità più elevata può limitare l'accesso in uscita. L'accesso a Internet è consentito se nessun'altra regola firewall nega il traffico in uscita e se l'istanza ha un indirizzo IP esterno.

  • Regola di traffico in entrata IPv6 implicito. Una regola in entrata la cui azione è deny, l'origine è ::/0 e la priorità è la più bassa possibile (65535) protegge tutte le istanze bloccando le connessioni in entrata. Una regola con priorità più elevata potrebbe consentire l'accesso in entrata.

Le regole implicite non possono essere rimosse, ma hanno le priorità più basse possibili. Puoi creare regole che le sostituiscono se le tue regole hanno priorità più elevate (numeri di priorità inferiori a 65535). Poiché le regole deny hanno la precedenza sulle regole allow con la stessa priorità, una regola allow in entrata con priorità 65535 non ha mai effetto.

Regole precompilate nella rete predefinita

La rete predefinita è precompilata con regole firewall che consentono le connessioni in entrata alle istanze. Tali regole possono essere eliminate o modificate in base alle tue esigenze:

Nome regola Direzione Priorità Intervalli di origine Azione Protocolli e porte Descrizione
default-allow-internal ingress 65534 10.128.0.0/9 allow tcp:0-65535
udp:0-65535
icmp
Consente le connessioni in entrata a istanze VM da altre istanze all'interno della stessa rete VPC.
default-allow-ssh ingress 65534 0.0.0.0/0 allow tcp:22 Consente di connetterti alle istanze con strumenti come ssh, scp o sftp.
default-allow-rdp ingress 65534 0.0.0.0/0 allow tcp:3389 Consente di connettersi alle istanze utilizzando il protocollo Microsoft Remote Desktop (RDP).
default-allow-icmp ingress 65534 0.0.0.0/0 allow icmp Consente di utilizzare strumenti come ping.

Puoi creare regole firewall simili per le reti diverse da quella predefinita. Per ulteriori informazioni, consulta Configurare le regole firewall per i casi d'uso comuni.

Traffico bloccato e limitato

A parte le regole firewall VPC e i criteri firewall gerarchici, Google Cloud blocca o limita un traffico specifico, come descritto nella tabella seguente.

Tipo di traffico Dettagli
Velocità pacchetti e larghezza di banda

Si applica a:

  • Tutti i pacchetti in uscita
  • Tutti i pacchetti in entrata
Google Cloud tiene conto della larghezza di banda per istanza VM, per ogni interfaccia di rete (NIC) o indirizzo IP. Il tipo di macchina di una VM definisce la frequenza massima di traffico in uscita possibile; tuttavia, puoi raggiungere quella tariffa possibile in uscita massima in situazioni specifiche.

Per maggiori dettagli, consulta la sezione relativa alla larghezza di banda di rete nella documentazione di Compute Engine.
Offerte e riconoscimenti DHCP

Si applica a:

  • Pacchetti Ingress per la porta UDP 68 (DHCPv4)
  • Pacchetti Ingress per la porta UDP 546 (DHCPv6)
Google Cloud blocca le offerte e i ringraziamenti DHCP in entrata da tutte le origini tranne per i pacchetti DHCP provenienti dal server di metadati.
Protocolli supportati da indirizzi IP esterni di Google Cloud

Si applica a:

  • Pacchetti in entrata verso indirizzi IP esterni

Gli indirizzi IPv4 e IPv6 esterni accettano solo pacchetti TCP, UDP, ICMP, IPIP, AH, ESP, SCTP e GRE. Le risorse che utilizzano indirizzi IP esterni impongono ulteriori limitazioni del protocollo:

Traffico SMTP (porta 25)

Si applica a:

  • Pacchetti in uscita verso indirizzi IP esterni sulla porta TCP 25

Per impostazione predefinita, Google Cloud blocca i pacchetti in uscita inviati alla porta di destinazione TCP 25 di un indirizzo IP esterno (incluso l'indirizzo IP esterno di un'altra risorsa Google Cloud). Tuttavia, questo traffico non è bloccato nei progetti di proprietà di clienti Google Cloud selezionati. In Google Cloud Console, la pagina Reti VPC e la pagina Firewall mostrano entrambi un messaggio che indica se la porta SMTP 25 è consentita o non consentita nel progetto.

Questo blocco non si applica ai pacchetti in uscita inviati alla porta di destinazione TCP 25 di un indirizzo IP interno, incluso un indirizzo IP pubblico utilizzato privatamente in una rete VPC o in una rete on-premise.

Se nel tuo progetto è consentito il traffico in uscita SMTP esterno sulla porta 25 e vuoi inviare questo tipo di traffico, devono essere soddisfatte le seguenti condizioni aggiuntive:

  • Le regole firewall in uscita nella rete VPC e i criteri firewall gerarchici applicabili alla rete VPC devono consentire il traffico in uscita verso l'indirizzo IP esterno sulla porta TCP 25. Le regole di autorizzazione implicita in uscita soddisfano questo requisito perché consentono il traffico in uscita da (e stabiliscono risposte in entrata) da qualsiasi indirizzo IP.
  • La route applicabile per la destinazione deve utilizzare l'hop successivo del gateway Internet predefinito. Le route predefinite generate dal sistema soddisfano questo requisito.
  • L'istanza che invia i pacchetti all'indirizzo IP esterno deve soddisfare i requisiti di accesso a Internet.

Puoi impedire il traffico in uscita SMTP esterno creando regole di firewall VPC in uscita o criteri firewall gerarchici.

Traffico sempre consentito

Per le istanze VM, le regole firewall VPC e i criteri firewall gerarchici non si applicano a:

  • Pacchetti inviati e ricevuti dal server di metadati Google Cloud
  • Pacchetti inviati a un indirizzo IP assegnato a una delle interfacce di rete (NIC) dell'istanza in cui i pacchetti rimangono all'interno della VM stessa. Gli indirizzi IP assegnati alla NIC di un'istanza includono:

    • L'indirizzo IPv4 interno primario del NIC
    • Qualsiasi indirizzo IPv4 interno da un intervallo IP alias del NIC
    • Se IPv6 è configurato nella subnet, uno qualsiasi degli indirizzi IPv6 assegnati al NIC
    • Un indirizzo IPv4 interno o esterno associato a una regola di forwarding, per il bilanciamento del carico o il forwarding del protocollo, se l'istanza è un backend per il bilanciatore del carico o è un'istanza di destinazione per il forwarding del protocollo
    • Indirizzi di loopback
    • Indirizzi configurati come parte del software overlay di rete in esecuzione all'interno dell'istanza stessa

Server di metadati Google Cloud

Google Cloud esegue un server di metadati locale insieme a ogni istanza all'indirizzo 169.254.169.254. Questo server è essenziale per il funzionamento dell'istanza, perciò l'istanza può accedervi a prescindere dalle regole firewall che configuri. Il server di metadati fornisce i seguenti servizi di base all'istanza:

Interazioni con i prodotti

Le seguenti sezioni descrivono come le regole firewall e i criteri firewall gerarchici interagiscono con altri prodotti Google Cloud.

Regole firewall e bilanciatori del carico passthrough

Le regole firewall VPC e i criteri firewall gerarchici controllano quali protocolli e porte supportati dalla regola di forwarding sono consentiti ai backend di bilanciamento del carico di rete e TCP/UDP interno. Per maggiori dettagli, vedi:

Regole firewall e bilanciatori del carico del proxy

Per il bilanciamento del carico HTTP(S) esterno, il bilanciamento del carico HTTP(S) interno, il bilanciamento del carico del proxy SSL esterno e il bilanciamento del carico del proxy TCP esterno, le regole del firewall VPC e i criteri firewall gerarchici non controllano quali protocolli e porte sono accettati dall'indirizzo IP della regola di forwarding del proxy. La sola regola di forwarding determina quali protocolli e porte sono accettati dal bilanciatore del carico del proxy.

Le regole firewall VPC e i criteri firewall gerarchici controllano il modo in cui questi bilanciatori del carico proxy comunicano con i loro backend. Per maggiori dettagli, consulta:

Regole firewall e Cloud VPN

Le regole firewall e i criteri firewall gerarchici non controllano quali protocolli e porte sono accettati dal gateway Cloud VPN.

I gateway Cloud VPN accettano solo pacchetti per i protocolli e le porte descritti nelle specifiche di Cloud VPN.

Regole firewall e GKE

Google Kubernetes Engine crea e gestisce automaticamente le regole firewall quando crei un cluster o delle risorse nel cluster (inclusi servizi e Ingress). Per scoprire di più, consulta le regole firewall create automaticamente nella documentazione di Google Kubernetes Engine.

Componenti delle regole firewall

Ogni regola firewall è costituita dai seguenti componenti di configurazione:

  • La direzione di connessione: le regole in entrata si applicano alle connessioni in entrata da origini specificate ai target di Google Cloud. Le regole in uscita si applicano alle connessioni che indirizzano a destinazioni specificate dai target.

  • Una priorità numerica, che determina se la regola viene applicata. Viene applicata solo la regola con priorità più alta (numero più basso di priorità) i cui altri componenti corrispondono al traffico; le regole in conflitto con priorità inferiori vengono ignorate.

  • Un'azione sulla corrispondenza, allow o deny, che determina se la regola consente o blocca le connessioni.

  • Lo stato di applicazione della regola firewall: puoi abilitare e disabilitare le regole firewall senza eliminarle.

  • Un target che definisce le istanze (inclusi i cluster GKE e le istanze dell'ambiente flessibile di App Engine) a cui si applica la regola.

  • Un filtro origine per le regole in entrata o un filtro di destinazione per le regole in uscita.

  • Il protocollo (ad esempio TCP, UDP o ICMP) e la porta di destinazione.

  • Un'opzione booleana logs che registra le connessioni che corrispondono alla regola in Cloud Logging.

Riepilogo componenti

Regola Ingress (in entrata)
Priorità Action (Azione) Applicazione delle norme Target (definisce la destinazione) Filtro di origine Protocolli e porte
Numero intero da 0 a 65535, inclusi; valore predefinito: 1000
allow o deny enabled (valore predefinito) o disabled Il parametro target specifica la destinazione; può essere uno dei seguenti: Uno dei seguenti elementi:
  • Intervallo di indirizzi IPv4
  • Intervallo di indirizzi IPv6
  • Intervallo di indirizzi IPv4 e istanze in base al tag di rete
  • Intervallo di indirizzi IPv4 e istanze per account di servizio
  • Intervallo di indirizzi IPv6 e istanze in base al tag di rete
  • Intervallo di indirizzi IPv6 e istanze per account di servizio
Se non specifichi alcuna origine, viene utilizzato un intervallo IPv4 di 0.0.0.0/0.

Specifica un protocollo o un protocollo e una porta di destinazione.

Se non viene impostata, la regola si applica a tutti i protocolli e alle porte di destinazione.

Regola in uscita (in uscita)
Priorità Action (Azione) Applicazione delle norme Target (definisce l'origine) Filtro di destinazione Protocolli e porte
Numero intero da 0 a 65535, inclusi; valore predefinito: 1000
allow o deny enabled (valore predefinito) o disabled Il parametro target specifica l'origine; può essere uno dei seguenti:
  • Tutte le istanze nella rete VPC
  • Istanze per tag di rete
  • Istanze per account di servizio
Il valore sarà uno dei seguenti:
  • Intervallo di indirizzi IPv4
  • Intervallo di indirizzi IPv6
Se non viene specificata alcuna destinazione, viene utilizzato un intervallo IPv4 di 0.0.0.0/0.
Specifica un protocollo o un protocollo e una porta di destinazione.

Se non viene impostata, la regola si applica a tutti i protocolli e le porte di destinazione.

Direzione del traffico

Puoi creare regole firewall che si applicano al traffico in entrata o in uscita. Non è possibile applicare un'unica regola al traffico in entrata e in uscita. Tuttavia, puoi creare più regole per definire il traffico in entrata e in uscita consentito o negato tramite il firewall. La direzione è sempre definita dal punto di vista della VM a cui si applica la regola firewall (il target).

  • La direzione in entrata descrive le connessioni inviate da un'origine a una destinazione. Le regole in entrata si applicano ai pacchetti per le nuove sessioni in cui la destinazione del pacchetto è la destinazione.

  • La direzione in uscita descrive il traffico inviato da una destinazione a una destinazione. Le regole in uscita si applicano ai pacchetti per le nuove sessioni in cui l'origine del pacchetto è la destinazione.

  • Se non specifichi una direzione, Google Cloud utilizza il traffico in entrata.

Considera un esempio di connessione tra due VM nella stessa rete. Il traffico da VM1 a VM2 può essere controllato utilizzando una di queste regole firewall:

  • Una regola in entrata con una destinazione VM2 e un'origine VM1.

  • Una regola in uscita con una destinazione VM1 e una destinazione VM2.

Priorità

La priorità della regola firewall è un numero intero compreso tra 0 e 65535. Interi più bassi indicano le priorità più elevate. Se non specifichi una priorità durante la creazione di una regola, gli verrà assegnata una priorità 1000.

La priorità relativa di una regola firewall determina se è applicabile quando viene valutata in base ad altri. La logica di valutazione funziona come segue:

  • La regola di priorità più alta applicabile a una destinazione per un determinato tipo di traffico ha la precedenza. La specificità del target non è importante. Ad esempio, una regola di traffico in entrata con priorità più elevata per determinati protocolli e porte di destinazione destinati a tutti i target ha la precedenza su una regola definita in modo simile con priorità inferiore per le stesse porte e protocolli di destinazione destinati a target specifici.

  • La regola di priorità più alta applicabile per un determinato protocollo e per la definizione della porta di destinazione ha la precedenza, anche quando la definizione della porta del protocollo e della destinazione è più generale. Ad esempio, una regola in entrata con priorità più alta che consente il traffico per tutti i protocolli e le porte di destinazione destinati a determinati target sostituisce una regola in entrata con priorità inferiore che nega TCP 22 per gli stessi target.

  • Una regola con un'azione deny sostituisce un'altra con un'azione allow solo se le due regole hanno la stessa priorità. Utilizzando le priorità relative, è possibile creare allow regole che sostituiscono deny regole e deny regole che sostituiscono allow regole.

  • Le regole con la stessa priorità e la stessa azione hanno lo stesso risultato. Tuttavia, la regola utilizzata durante la valutazione è indeterminata. In genere, non è importante quale regola viene utilizzata, tranne quando si abilita il logging delle regole firewall. Se vuoi che i log mostrino le regole firewall valutate in un ordine coerente e ben definito, assegna loro priorità uniche.

Considera l'esempio seguente in cui esistono due regole firewall:

  • Una regola in entrata dalle origini 0.0.0.0/0 (qualsiasi indirizzo IPv4) applicabile a tutte le destinazioni, a tutti i protocolli e a tutte le porte di destinazione, con un'azione deny e una priorità di 1000.

  • Una regola in entrata dalle origini 0.0.0.0/0 (qualsiasi indirizzo IPv4) applicabile a target specifici con il tag webserver, per il traffico su TCP 80, con un'azione allow.

La priorità della seconda regola determina se il traffico TCP verso la porta 80 è consentito per i target webserver:

  • Se la priorità della seconda regola è impostata su un numero maggiore di 1000, ha una priorità inferiore, quindi viene applicata la prima regola che nega tutto il traffico.

  • Se la priorità della seconda regola è impostata su 1000, le due regole hanno priorità identiche, pertanto viene applicata la prima regola che nega tutto il traffico.

  • Se la priorità della seconda regola è impostata su un numero inferiore a 1000, ha una priorità superiore, consentendo così il traffico su TCP 80 per i target webserver. In assenza di altre regole, la prima regola rifiuta qualsiasi altro tipo di traffico verso le destinazioni webserver e nega tutto il traffico, incluso TCP 80, alle istanze senza il tag webserver.

L'esempio precedente mostra come utilizzare le priorità per creare regole allow selettive e le regole deny globali per implementare una best practice di sicurezza del privilegio minimo.

Azione in caso di corrispondenza

Il componente delle azioni di una regola firewall determina se consente o blocca il traffico, in base agli altri componenti della regola:

  • Un'azione allow consente connessioni che corrispondono agli altri componenti specificati.

  • Un'azione deny blocca le connessioni che corrispondono agli altri componenti specificati.

Applicazione

Puoi scegliere se una regola firewall viene applicata impostandone lo stato su enabled o disabled. Imposta lo stato dell'applicazione forzata quando crei una regola o quando la aggiorni.

Se non imposti uno stato di applicazione forzata quando crei una nuova regola firewall, la regola firewall sarà automaticamente enabled.

Casi d'uso

La disattivazione e l'abilitazione sono utili per la risoluzione dei problemi e per eseguire la manutenzione. Valuta la possibilità di modificare l'applicazione di una regola firewall nelle seguenti situazioni:

  • Per la risoluzione dei problemi: in combinazione con le regole di firewall, puoi disattivare temporaneamente una regola del firewall per determinare se è responsabile del blocco o dell'autorizzazione del traffico. Questo è utile per le situazioni in cui più regole firewall si applicano allo stesso traffico. Disattivare e abilitare le regole è più utile che eliminare e ricreare le regole perché nessuno degli altri componenti della regola viene perso.

  • Per la manutenzione: la disattivazione delle regole firewall può semplificare la manutenzione periodica. Ad esempio, puoi scegliere di abilitare una regola firewall in entrata che consenta l'accesso SSH solo quando è necessario eseguire la manutenzione utilizzando SSH. Quando non esegui la manutenzione, puoi disattivare la regola.

Effetti sul traffico esistente

Quando modifichi lo stato di applicazione di una regola firewall o quando crei una nuova regola che è enforced, la modifica viene applicata solo alle nuove connessioni. Le connessioni esistenti non sono interessate dalla modifica.

Sorgente, destinazione, destinazione

Puoi specificare un'origine o una destinazione, ma non entrambe, a seconda della direzione della regola firewall che crei. Il significato del parametro target cambia a seconda della direzione della regola firewall.

  • Per le regole in entrata (in entrata), il parametro target specifica le istanze di destinazione per il traffico; non puoi utilizzare il parametro destination. Puoi specificare l'origine utilizzando il parametro source.

  • Per le regole del traffico in uscita (in uscita), il parametro target specifica le istanze di origine per il traffico; non puoi utilizzare il parametro source. Specifica la destinazione utilizzando il parametro destination.

Le istanze includono anche i cluster GKE e le istanze dell'ambiente flessibile di App Engine.

Parametro target

Il parametro target identifica sempre le istanze Google Cloud, ma se un target è una destinazione di traffico o una sorgente di traffico dipende dalla direzione della regola, come descritto in Origine, destinazione, target.

Puoi specificare un target utilizzando una delle seguenti opzioni:

  • Tutte le istanze nella rete. La regola firewall si applica a tutte le istanze nella rete.

  • Istanze per tag target. La regola firewall si applica solo alle istanze con un tag di rete corrispondente.

  • Istanze per account di servizio di destinazione. La regola firewall si applica solo alle istanze che utilizzano un account di servizio specifico. Per il numero massimo di account di servizio di destinazione che puoi applicare per regola firewall, consulta le quote delle risorse VPC.

Per informazioni sui vantaggi e sulle limitazioni dei tag di destinazione e degli account di servizio di destinazione, vedi Filtrare per account di servizio e tag di rete.

Target e indirizzi IP per le regole in entrata

La destinazione di una regola firewall in entrata si applica a tutto il traffico in arrivo su un'interfaccia di rete (NIC) di un'istanza nella rete VPC, indipendentemente da come viene specificato il target. Una regola firewall in entrata viene applicata ai pacchetti le cui destinazioni corrispondono a uno dei seguenti indirizzi IP:

  • L'indirizzo IPv4 interno primario assegnato alla NIC dell'istanza

  • Eventuali intervalli IP alias configurati sulla NIC dell'istanza

  • L'indirizzo IPv4 esterno associato al NIC dell'istanza

  • Se IPv6 è configurato nella subnet, uno qualsiasi degli indirizzi IPv6 assegnati al NIC

  • Un indirizzo IP interno o esterno associato a una regola di forwarding utilizzata per il bilanciamento del carico passthrough, in cui l'istanza è un backend per un bilanciatore del carico TCP/UDP interno o un bilanciatore del carico di rete

  • Un indirizzo IP interno o esterno associato a una regola di forwarding utilizzata per il forwarding del protocollo, in cui l'istanza è collegata a un'istanza di destinazione

  • Un indirizzo IP nell'intervallo di destinazione di una route statica personalizzata che utilizza l'istanza come VM hop successiva (next-hop-instance o next-hop-address)

  • Un indirizzo IP nell'intervallo di destinazione di una route statica personalizzata utilizzando un hop interno del bilanciatore del carico TCP/UDP interno (next-hop-ilb), se la VM è un backend per quel bilanciatore del carico

Target e indirizzi IP per le regole in uscita

Il target di una regola firewall in uscita si applica a tutto il traffico che lascia un'istanza di VM (NIC) di un'istanza VM nella rete VPC, indipendentemente da come viene specificato il target:

  • Per impostazione predefinita, l'inoltro IP è disattivato. Una regola firewall in uscita viene applicata ai pacchetti le cui origini corrispondono a una delle seguenti condizioni:

    • L'indirizzo IPv4 interno primario di un NIC di un'istanza

    • Qualsiasi intervallo IP alias configurato su NIC di un'istanza

    • Se IPv6 è configurato nella subnet, uno qualsiasi degli indirizzi IPv6 assegnati al NIC

    • Un indirizzo IP interno o esterno associato a una regola di forwarding, per il bilanciamento del carico passthrough o il forwarding del protocollo, se l'istanza è un backend per un bilanciatore del carico TCP/UDP interno o un bilanciatore del carico di rete o vi viene fatto riferimento in un'istanza di destinazione.

  • Se è abilitato l'inoltro IP, la VM può inviare pacchetti con qualsiasi origine.

Parametro di origine

Il parametro source è applicabile solo alle regole in entrata. Deve essere uno dei seguenti:

  • Intervallo IPv4 di origine o intervalli IPv6 di origine: puoi specificare intervalli di indirizzi IP come origini per i pacchetti. Gli intervalli possono essere indirizzi IPv4 o IPv6, ma non una combinazione di entrambi. Gli intervalli possono includere indirizzi all'interno della rete VPC e indirizzi esterni.

  • Tag di origine: puoi definire l'origine per i pacchetti come indirizzo IP interno principale dell'interfaccia di rete delle istanze VM nella stessa rete VPC, identificando tali istanze in un tag di rete corrispondente. I tag di origine si applicano solo al traffico inviato dall'interfaccia di rete di un'altra istanza applicabile della tua rete VPC. Un tag di origine non può controllare i pacchetti le cui origini sono indirizzi IP esterni, anche se gli indirizzi IP esterni appartengono alle istanze. Per il numero massimo di tag di origine che puoi applicare per regola firewall, consulta le quote delle risorse VPC.

  • Account di servizio di origine: puoi definire l'origine dei pacchetti come indirizzo IP interno principale dell'interfaccia di rete delle istanze nella stessa rete VPC, identificando tali istanze in base agli account di servizio che utilizzano. Gli account di servizio di origine si applicano solo al traffico inviato dall'interfaccia di rete di un'altra istanza applicabile nella tua rete VPC. Un account di servizio di origine non può controllare i pacchetti le cui origini sono indirizzi IP esterni, anche se gli indirizzi IP esterni appartengono alle istanze. Per il numero massimo di account di servizio di origine che puoi applicare per regola firewall, consulta le quote delle risorse VPC.

  • Sono possibili alcune combinazioni di quanto sopra:

    • È possibile utilizzare una combinazione di intervalli IP di origine e tag di origine.
    • È possibile utilizzare una combinazione di intervalli IP di origine e account di servizio di origine.

    Quando vengono utilizzate le combinazioni, l'insieme di origini effettive è l'unione degli indirizzi IP dell'intervallo di origine e delle istanze identificate dai tag di rete o dagli account di servizio. In altre parole, se l'intervallo IP di origine oppure i tag di origine (o gli account di servizio di origine) corrispondono ai criteri del filtro, l'origine è inclusa nell'insieme di origini effettivo.

  • Se tutti gli intervalli IP di origine, i tag di origine e gli account di servizio di origine vengono omessi, Google Cloud definisce l'origine come qualsiasi indirizzo IPv4 (0.0.0.0/0). Le origini IPv6 non sono incluse.

Origini e indirizzi IP

Quando il parametro di origine di una regola firewall in entrata include un tag di origine o l'account di servizio di origine, Google Cloud identifica le VM che corrispondono a un tag o a un account di servizio e includono i seguenti indirizzi IP di queste VM nell'effettivo set di origini per la regola firewall.

  • L'indirizzo IPv4 interno principale dell'interfaccia di rete (NIC) della VM nella rete VPC

  • Qualsiasi indirizzo IPv6 assegnato alla NIC della VM nella rete VPC

Gli intervalli IP alias per tali indirizzi NIC e IP per le regole di forwarding associate non sono inclusi quando si utilizzano i tag di origine o gli account di servizio di origine. Se devi includere gli intervalli IP alias di un'interfaccia di rete di VM, aggiungi gli intervalli alias utilizzando un intervallo IPv4 di origine.

Se la regola firewall utilizza una combinazione di intervalli IP di origine e tag di origine o di intervalli IP di origine e account di servizio di origine, l'insieme di origini effettive contiene gli indirizzi IP identificati dal tag o dall'account di servizio più gli indirizzi IP specificati negli intervalli IP di origine.

Parametro di destinazione

Il parametro destination è applicabile solo alle regole in uscita. Il parametro destination accetta solo gli intervalli di indirizzi IP. Gli intervalli possono includere indirizzi all'interno della rete VPC e indirizzi esterni.

Se non specifichi un intervallo di destinazione, Google Cloud definisce la destinazione in quanto tutti gli indirizzi IPv4 (0.0.0.0/0). Le destinazioni IPv6 non sono incluse.

Protocolli e porte

Puoi restringere l'ambito di una regola firewall specificando protocolli o protocolli e porte di destinazione. Puoi specificare un protocollo o una combinazione di protocolli e porte di destinazione. Se ometti sia i protocolli sia le porte, la regola di firewall è applicabile a tutto il traffico su qualsiasi protocollo e qualsiasi porta di destinazione. Puoi specificare solo le porte di destinazione. Le regole basate sulle porte di origine non sono supportate.

Per rendere specifica una regola firewall, devi prima specificare un protocollo. Se il protocollo supporta le porte, puoi facoltativamente specificare un numero di porta o un intervallo di porte di destinazione. Non tutti i protocolli supportano le porte. Ad esempio, le porte esistono per TCP e UDP, ma non per ICMP. ICMP hanno tipi ICMP diversi, ma non sono porte e non possono essere specificati in una regola firewall.

Nelle regole firewall puoi utilizzare i seguenti nomi di protocollo: tcp, udp, icmp (per ICMP IPv4), esp, ah, sctp e ipip. Per tutti gli altri protocolli, utilizza i numeri di protocollo IANA

Molti protocolli utilizzano lo stesso nome e lo stesso numero in IPv4 e IPv6, ma alcuni protocolli, come ICMP, non lo fanno.

Il protocollo IPv6 hop-by-hop non è supportato nelle regole firewall.

Le regole firewall Google Cloud utilizzano le informazioni sulle porte per fare riferimento alla porta di destinazione di un pacchetto, non alla porta di origine:

  • Per le regole firewall in entrata (in entrata), le porte di destinazione sono porte sui sistemi identificati dal parametro target della regola. Per le regole in entrata, il parametro target specifica le VM di destinazione per il traffico.

  • Per le regole firewall in uscita (in uscita), le porte di destinazione rappresentano le porte sui sistemi identificati dal parametro destination della regola.

La tabella seguente riepiloga le combinazioni valide di specifiche di porta e protocollo per le regole firewall di Google Cloud.

Specifica Esempio Spiegazione
Nessun protocollo e porta Se non specifichi un protocollo, la regola firewall si applica a tutti i protocolli e alle porte di destinazione applicabili.
Protocollo tcp Se specifichi un protocollo senza informazioni sulla porta, la regola firewall si applica a tale protocollo e a tutte le porte applicabili.
Protocollo e porta singola tcp:80 Se specifichi un protocollo e una singola porta di destinazione, la regola firewall si applica a tale porta di destinazione del protocollo.
Protocollo e intervallo di porte tcp:20-22 Se specifichi un protocollo e un intervallo di porte, la regola firewall si applica a tale intervallo di porte di destinazione per il protocollo.
Combinazioni icmp,tcp:80
tcp:443
udp:67-69
Puoi specificare varie combinazioni di protocolli e porte di destinazione a cui si applica la regola firewall. Per maggiori informazioni, consulta la sezione Creazione di regole firewall.

Filtri di origine e di destinazione in base all'account di servizio

Puoi utilizzare gli account di servizio per creare regole firewall più specifiche per loro natura:

  • Per le regole sia in entrata che in uscita, puoi utilizzare gli account di servizio per specificare i target.

  • Per le regole in entrata, puoi specificare l'origine per i pacchetti in entrata come indirizzo IP interno principale di qualsiasi VM nella rete in cui la VM utilizza un account di servizio specifico.

L'account di servizio deve essere creato nello stesso progetto della regola firewall prima di creare una regola firewall basata su di essa. Mentre il sistema non ti impedisce di creare una regola che utilizza un account di servizio da un altro progetto, la regola non viene applicata se l'account di servizio non esiste nel progetto della regola firewall.

Le regole firewall che utilizzano account di servizio per identificare le istanze si applicano alle nuove istanze create e associate all'account di servizio e alle istanze esistenti se cambi i relativi account di servizio. Per modificare l'account di servizio associato a un'istanza è necessario arrestarlo e riavviarlo. Puoi associare gli account di servizio alle singole istanze e ai modelli di istanza utilizzati dai gruppi di istanze gestite.

Filtro per account di servizio e tag di rete

Questa sezione evidenzia i punti chiave da considerare per decidere se utilizzare gli account di servizio o i tag di rete per definire target e origini (per le regole in entrata).

Se hai bisogno di un rigoroso controllo su come vengono applicate le regole firewall alle VM, utilizza gli account di servizio e gli account di servizio di destinazione anziché i tag di destinazione e i tag di origine:

  • Un tag di rete è un attributo arbitrario. Uno o più tag di rete possono essere associati a un'istanza da qualsiasi entità Identity and Access Management (IAM) autorizzata a modificarla. Le entità IAM con il ruolo Amministratore istanze Compute Engine per un progetto dispongono di questa autorizzazione. Le entità IAM che possono modificare un'istanza possono cambiare i propri tag di rete, il che potrebbe modificare il set di regole firewall applicabili per quell'istanza.

  • Un account di servizio rappresenta un'identità associata a un'istanza. A un'istanza può essere associato un solo account di servizio. Per controllare l'accesso all'account di servizio, controlla la concessione del ruolo Utente account di servizio per altre entità IAM. Per fare in modo che un'entità IAM avvii un'istanza utilizzando un account di servizio, tale entità deve avere il ruolo Utente account di servizio per usare almeno quell'account di servizio e le autorizzazioni appropriate per creare le istanze (ad esempio con il ruolo Amministratore istanze Compute Engine per il progetto).

Non è possibile combinare account di servizio e tag di rete in qualsiasi regola firewall:

  • Non puoi utilizzare gli account di servizio e i tag di destinazione in qualsiasi regola firewall (in entrata o in uscita).

  • Se specifichi target per tag di destinazione o account di servizio di destinazione, di seguito sono riportate le origini non valide per le regole firewall in entrata.

    Destinazioni Origini non valide
    Tag di destinazione Account di servizio di origine

    Combinazione di intervalli IP di origine e account di servizio di origine
    Account di servizio di destinazione Tag di origine

    Combinazione di intervalli IP di origine e tag di origine

Di seguito sono riportate alcune considerazioni operative per gli account di servizio e i tag di rete:

  • Per cambiare un account di servizio per un'istanza è necessario arrestarlo e riavviarlo. Puoi aggiungere o rimuovere i tag mentre l'istanza è in esecuzione.

  • È possibile specificare un numero massimo di account di servizio di destinazione, account di servizio di origine, tag di rete di destinazione e tag di rete di origine che possono essere specificati per le regole firewall. Per ulteriori informazioni, consulta le quote delle risorse VPC.

  • Se individui istanze in base al tag di rete, la regola firewall si applica all'indirizzo IP interno principale dell'istanza.

  • Le regole firewall dell'account di servizio si applicano al nodo GKE, non al pod GKE.

Ruoli e autorizzazioni

La seguente tabella descrive le autorizzazioni di Identity and Access Management (IAM) necessarie per lavorare con le regole firewall VPC.

Attività Autorizzazione obbligatoria Ruolo di esempio
Crea una regola firewall compute.firewalls.create Amministratore sicurezza di Compute
(roles/compute.securityAdmin
Elimina una regola firewall compute.firewalls.delete Amministratore sicurezza di Compute
(roles/compute.securityAdmin
Apporta modifiche alle regole firewall compute.firewalls.update Amministratore sicurezza di Compute
(roles/compute.securityAdmin
Visualizza i dettagli di una regola firewall compute.firewalls.get Visualizzatore rete Compute
(roles/compute.networkViewer)
Visualizzare un elenco di regole firewall compute.firewalls.list Visualizzatore rete Compute
(roles/compute.networkViewer)

Casi d'uso

I seguenti casi d'uso mostrano come funzionano le regole firewall. In questi esempi, tutte le regole firewall sono abilitate.

Casi in entrata

Le regole firewall in entrata controllano le connessioni in entrata da un'origine alle istanze di destinazione nella tua rete VPC. L'origine di una regola in entrata può essere definita come una delle seguenti:

  • Un intervallo di indirizzi IPv4 o IPv6; il valore predefinito è qualsiasi indirizzo IPv4 (0.0.0.0/0)
  • Altre istanze nella rete VPC identificate dai tag di rete
  • Altre istanze nella rete VPC identificate dall'account di servizio
  • Altre istanze nella rete VPC identificate dall'intervallo di indirizzi IPv4 o IPv6 e dal tag di rete
  • Altre istanze nella rete VPC identificate dall'intervallo di indirizzi IPv4 o IPv6 e dall'account di servizio

L'origine predefinita è qualsiasi indirizzo IPv4 (0.0.0.0/0). Se vuoi controllare le connessioni in entrata per le origini all'esterno della rete VPC, incluse altre origini su Internet, utilizza un intervallo di indirizzi IP in formato CIDR.

Le regole in entrata con un'azione allow consentono il traffico in entrata in base agli altri componenti della regola. Oltre a specificare l'origine e la destinazione della regola, puoi limitarla in modo che si applichi a protocolli e porte di destinazione specifici. Analogamente, è possibile utilizzare le regole in entrata con un'azione deny per proteggere le istanze bloccando il traffico in entrata in base ai componenti della regola firewall.

Esempi di traffico in entrata

Il seguente diagramma illustra alcuni esempi in cui le regole firewall possono controllare le connessioni in entrata. Gli esempi utilizzano il parametro target nelle assegnazioni delle regole per applicare regole a istanze specifiche.

Esempio di regole firewall in entrata (fai clic per ingrandire)
Esempio di regole firewall in entrata (fai clic per ingrandire)
  • Una regola in entrata con priorità 1000 è applicabile alla VM 1. Questa regola consente il traffico TCP in entrata da qualsiasi origine IPv4 (0.0.0.0/0). È consentito il traffico TCP da altre istanze nella rete VPC, soggetto alle regole in uscita applicabili per le altre istanze. VM 4 è in grado di comunicare con VM 1 su TCP perché VM 4 non ha regole di traffico in uscita che bloccano tale comunicazione (è applicabile solo la regola di autorizzazione implicita in uscita). Poiché la VM 1 ha un IP esterno, questa regola consente anche il traffico TCP in entrata da host esterni su Internet e dalla VM 2 tramite indirizzi IP esterni.

  • La VM 2 non ha una regola firewall in entrata specificata, quindi la regola implicita di negazione in entrata blocca tutto il traffico in entrata. Le connessioni da altre istanze nella rete sono bloccate, indipendentemente dalle regole in uscita per le altre istanze. Poiché la VM 2 ha un IP esterno, esiste un percorso da host esterni su Internet, ma la regola implicita di negazione in entrata blocca anche il traffico in entrata esterno.

  • Una regola in entrata con priorità 1000 è applicabile alla VM 3. Questa regola consente al traffico TCP da istanze nella rete con il tag di rete client, ad esempio VM 4. Il traffico TCP da VM 4 a VM 3 è consentito perché VM 4 non ha regole di traffico in uscita che bloccano tale comunicazione (è applicabile solo la regola di autorizzazione implicita in uscita). Poiché la VM 3 non ha un IP esterno, non esiste un percorso dagli host esterni su Internet.

Casi in uscita

Le regole firewall in uscita controllano le connessioni in uscita dalle istanze di destinazione nella rete VPC. Le regole in uscita con un'azione allow consentono il traffico da istanze basate su altri componenti della regola. Ad esempio, puoi consentire il traffico in uscita verso destinazioni specifiche, come un intervallo di indirizzi IPv4, sui protocolli e sulle porte di destinazione specificate. Analogamente, le regole in uscita con un'azione deny consentono di gestire il traffico in base agli altri componenti della regola.

Ogni regola in uscita deve avere una destinazione. La destinazione predefinita è qualsiasi indirizzo IPv4 (0.0.0.0/0), ma puoi creare una destinazione più specifica utilizzando un intervallo di indirizzi IPv4 o IPv6 in formato CIDR. Quando specifichi un intervallo di indirizzi IP, puoi controllare il traffico verso le istanze nella tua rete e verso destinazioni esterne alla tua rete, incluse le destinazioni su Internet.

Esempi in uscita

Il seguente diagramma illustra alcuni esempi in cui le regole firewall possono controllare le connessioni in uscita. Gli esempi utilizzano il parametro target nelle assegnazioni delle regole per applicare regole a istanze specifiche.

Esempio di regole firewall in uscita (fai clic per ingrandire)
Esempio di regole firewall in uscita (fai clic per ingrandire)
  • La VM 1 non ha una regola firewall in uscita specificata, quindi la regola di autorizzazione implicita in uscita consente di inviare traffico a qualsiasi destinazione. Le connessioni ad altre istanze nella rete VPC sono consentite, soggette alle regole in entrata applicabili per le altre istanze. VM 1 può inviare traffico alla VM 4 perché VM 4 ha una regola in entrata che consente il traffico in entrata da qualsiasi intervallo di indirizzi IP. Poiché la VM 1 ha un indirizzo IP esterno, può inviare traffico a host esterni su Internet. Le risposte in entrata al traffico inviate da VM 1 sono consentite perché le regole firewall sono stateful.

  • Una regola in uscita con priorità 1000 è applicabile alla VM 2. Questa regola nega tutto il traffico in uscita verso tutte le destinazioni IPv4 (0.0.0.0/0). Il traffico in uscita verso altre istanze nella rete VPC è bloccato, indipendentemente dalle regole in entrata applicate alle altre istanze. Anche se la VM 2 ha un indirizzo IP esterno, questa regola firewall blocca il traffico in uscita verso gli host esterni su Internet.

  • Una regola in uscita con priorità 1000 è applicabile alla VM 3. Questa regola blocca il traffico TCP in uscita verso qualsiasi destinazione nell'intervallo IP 192.168.1.0/24. Anche se le regole in entrata per VM 4 consentono tutto il traffico in entrata, VM 3 non può inviare traffico TCP a VM 4. Tuttavia, VM 3 può inviare gratuitamente il traffico UDP a VM 4 perché la regola in uscita si applica solo al protocollo TCP.

    Inoltre, la VM 3 può inviare qualsiasi traffico ad altre istanze nella rete VPC al di fuori dell'intervallo IP 192.168.1.0/24, a condizione che altre istanze abbiano regole in entrata per consentire questo traffico. Poiché non dispone di un indirizzo IP esterno, non ha un percorso per inviare traffico all'esterno della rete VPC.

Passaggi successivi

Provalo

Se non hai mai utilizzato Google Cloud, crea un account per valutare le prestazioni di VPC in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.

Prova VPC gratuitamente