Regole firewall create automaticamente


Questa pagina descrive le regole del firewall VPC che consentono l'ingresso che Google Kubernetes Engine (GKE) crea automaticamente in Google Cloud.

Firewall e firewall in uscita applicabili

Le regole firewall che consentono l'ingresso create da GKE non sono le sole regole firewall applicabili ai nodi di un cluster. L'insieme completo di regole firewall applicabili per l'ingresso e l'uscita è definito dalle regole dei criteri firewall gerarchici, dei criteri firewall di rete globali, dei criteri firewall di rete regionali e di altre regole firewall VPC.

Best practice:

Pianifica e progetta la configurazione per il cluster, i carichi di lavoro e i servizi con gli amministratori di rete e gli ingegneri della sicurezza della tua organizzazione e comprendi il criterio e l'ordine di valutazione delle regole del firewall per sapere quali regole firewall hanno la precedenza.

GKE crea solo regole firewall VPC in entrata perché si basa sulla regola firewall di priorità più bassa in uscita consentita implicita.

Se hai configurato regole firewall di rifiuto in uscita nella rete VPC del tuo cluster, potresti dover creare regole di autorizzazione in uscita per consentire la comunicazione tra nodi, pod e il piano di controllo del cluster. Ad esempio, se hai creato una regola firewall di rifiuto in uscita per tutti i protocolli e le porte e tutti gli indirizzi IP di destinazione, devi creare regole firewall di autorizzazione in uscita oltre alle regole in entrata create automaticamente da GKE. La connettività agli endpoint del control plane utilizza sempre la porta di destinazione TCP 443, ma la connettività tra i nodi e i pod del cluster può utilizzare qualsiasi protocollo e porta di destinazione.

I seguenti strumenti sono utili per determinare quali regole firewall consentono o rifiutano il traffico:

Regole firewall

GKE crea automaticamente le regole firewall quando vengono create le seguenti risorse:

  • Cluster GKE
  • Servizi GKE
  • Gateway GKE e HTTPRoutes
  • Ingress di GKE

Se non diversamente specificato, la priorità per tutte le regole firewall create automaticamente è 1000, che è il valore predefinito per le regole firewall. Se vuoi un maggiore controllo sul comportamento del firewall, puoi creare regole del firewall con una priorità più elevata. Le regole firewall con una priorità più elevata vengono applicate prima delle regole firewall create automaticamente.

Regole firewall del cluster GKE

GKE crea le seguenti regole firewall in entrata durante la creazione di un cluster:

Nome Finalità Origine Target (definisce la destinazione) Protocollo e porte Priorità
gke-[cluster-name]-[cluster-hash]-master Per i cluster Autopilot e standard che si basano sul peering di rete VPC per la connettività dell'endpoint privato del piano di controllo. Consente al piano di controllo di accedere a kubelet e metrics-server sui nodi del cluster. Intervallo di indirizzi IP del control plane (/28) Tag del nodo TCP: 443 (metrics-server) e TCP: 10250 (kubelet) 1000
gke-[cluster-name]-[cluster-hash]-vms

Utilizzato per la comunicazione all'interno del cluster richiesta dal modello di networking Kubernetes. Consente al software in esecuzione sui nodi di inviare pacchetti, con origini corrispondenti agli indirizzi IP dei nodi, agli indirizzi IP del pod di destinazione e dei nodi nel cluster. Ad esempio, il traffico consentito da questa regola include:

  • Pacchetti inviati dai demoni di sistema, come kubelet, alle destinazioni degli indirizzi IP dei nodi e dei pod del cluster.
  • Pacchetti inviati dal software in esecuzione nei pod con destinazione hostNetwork:true per gli indirizzi IP dei nodi e dei pod del cluster.
L'intervallo di indirizzi IP del nodo o un superinsieme di questo intervallo di indirizzi IP del nodo:
  • Per le reti VPC in modalità automatica, GKE utilizza il CIDR 10.128.0.0/9 perché questo intervallo include tutti gli intervalli di indirizzi IPv4 primari delle subnet attuali e future per le subnet create automaticamente.
  • Per le
GKE non aggiorna l'intervallo IPv4 di origine di questa regola firewall se espandi l'intervallo IPv4 principale della subnet del cluster. Devi creare manualmente la regola firewall di ingresso necessaria se espandi l'intervallo IPv4 principale della subnet del cluster.
Tag del nodo TCP: 1-65535, UDP: 1-65535, ICMP 1000
gke-[cluster-name]-[cluster-hash]-all Consente il traffico tra tutti i pod di un cluster, come richiesto dal modello di networking Kubernetes.

CIDR pod

Per i cluster con CIDR multi-pod disgiunto abilitato, tutti i blocchi CIDR dei pod utilizzati dal cluster.

Tag del nodo TCP, UDP, SCTP, ICMP, ESP, AH 1000
gke-[cluster-hash]-ipv6-all Solo per cluster di reti a stack doppio. Consente il traffico tra nodi e pod in un cluster.

Stesso intervallo di indirizzi IP allocato in subnetIpv6CidrBlock.

Tag del nodo TCP, UDP, SCTP, ICMP per IPv6, ESP, AH 1000
gke-[cluster-name]-[cluster-hash]-inkubelet Consenti l'accesso alla porta 10255 (porta di sola lettura di Kubelet) dai CIDR dei pod e dei nodi interni nei nuovi cluster GKE che eseguono la versione 1.23.6 o successive. I cluster che eseguono versioni successive a 1.26.4-gke.500 utilizzano invece la porta autenticata di Kubelet (10250). Non aggiungere regole firewall che bloccano la porta 10250 all'interno del cluster.

CIDR dei pod e dei nodi interni.

Tag del nodo TCP: 10255 999
gke-[cluster-name]-[cluster-hash]-exkubelet Nega l'accesso pubblico alla porta 10255 nei nuovi cluster GKE che eseguono la versione 1.23.6 o successive.

0.0.0.0/0

Tag del nodo TCP: 10255 1000

Regole firewall del servizio GKE

GKE crea le seguenti regole firewall di ingresso quando crei un servizio:

Nome Finalità Origine Target (definisce la destinazione) Protocollo e porte
k8s-fw-[loadbalancer-hash] Consente al traffico in entrata di raggiungere un servizio. La fonte proviene da spec.loadBalancerSourceRanges. Il valore predefinito è 0.0.0.0/0 se spec.loadBalancerSourceRanges viene omesso.

Per maggiori dettagli, vedi Regole firewall e lista consentita di indirizzi IP di origine.

Indirizzo IP virtuale di LoadBalancer TCP e UDP sulle porte specificate nel manifest del servizio.
k8s-[cluster-id]-node-http-hc Consente i controlli di integrità di un servizio di bilanciatore del carico di rete passthrough esterno quando externalTrafficPolicy è impostato su Cluster.
  • 130.211.0.0/22
  • 35.191.0.0/16
  • 209.85.152.0/22
  • 209.85.204.0/22
Indirizzo IP virtuale del bilanciatore del carico TCP: 10256
k8s-[loadbalancer-hash]-http-hc Consente i controlli di integrità di un servizio di bilanciatore del carico di rete passthrough esterno quando externalTrafficPolicy è impostato su Local.
  • 130.211.0.0/22
  • 35.191.0.0/16
  • 209.85.152.0/22
  • 209.85.204.0/22
Tag del nodo Porta TCP definita da spec.healthCheckNodePort. Se spec.healthCheckNodePort viene omesso, il valore predefinito è il numero di porta TCP 10256.

Per ulteriori dettagli, vedi Porta del controllo di integrità.

k8s-[cluster-id]-node-hc Consente i controlli di integrità di un servizio di bilanciatore del carico di rete passthrough interno quando externalTrafficPolicy è impostato su Cluster.
  • 130.211.0.0/22
  • 35.191.0.0/16
  • 209.85.152.0/22
  • 209.85.204.0/22
Tag del nodo TCP: 10256
[loadbalancer-hash]-hc Consente i controlli di integrità di un servizio di bilanciatore del carico di rete passthrough interno quando externalTrafficPolicy è impostato su Local.
  • 130.211.0.0/22
  • 35.191.0.0/16
  • 209.85.152.0/22
  • 209.85.204.0/22
Tag del nodo Porta TCP definita da spec.healthCheckNodePort. Se spec.healthCheckNodePort viene omesso, il valore predefinito è il numero di porta TCP 10256.

Per ulteriori dettagli, vedi Porta del controllo di integrità.

k8s2-[cluster-id]-[namespace]-[service-name]-[suffixhash] Consente al traffico in entrata di raggiungere un servizio quando è attiva una delle seguenti opzioni:
  • Impostazione secondaria GKE.
  • Bilanciatore del carico di rete passthrough esterno basato su servizi di backend.
  • La fonte proviene da spec.loadBalancerSourceRanges. Il valore predefinito è 0.0.0.0/0 se spec.loadBalancerSourceRanges viene omesso.

    Per maggiori dettagli, vedi Regole firewall e lista consentita di indirizzi IP di origine.

    Indirizzo IP virtuale di LoadBalancer TCP e UDP sulle porte specificate nel manifest del servizio.
    k8s2-[cluster-id]-[namespace]-[service-name]-[suffixhash]-fw Consente i controlli di integrità del Servizio quando externalTrafficPolicy è impostato su Local e una delle seguenti opzioni è attivata:
  • Impostazione secondaria GKE.
  • Bilanciatore del carico di rete passthrough esterno basato su servizi di backend.
    • 130.211.0.0/22
    • 35.191.0.0/16
    • 209.85.152.0/22
    • 209.85.204.0/22
    Indirizzo IP virtuale di LoadBalancer Porta TCP definita da spec.healthCheckNodePort. Se spec.healthCheckNodePort viene omesso, il valore predefinito è il numero di porta TCP 10256.

    Per ulteriori dettagli, vedi Porta del controllo di integrità.

    k8s2-[cluster-id]-l4-shared-hc-fw Consente i controlli di integrità del Servizio quando externalTrafficPolicy è impostato su Cluster e una delle seguenti opzioni è attivata:
  • Impostazione secondaria GKE.
  • Bilanciatore del carico di rete passthrough esterno basato su servizi di backend.
    • 130.211.0.0/22
    • 35.191.0.0/16
    • 209.85.152.0/22
    • 209.85.204.0/22
    Tag del nodo TCP: 10256
    gke-[cluster-name]-[cluster-hash]-mcsd Consente al piano di controllo di accedere a kubelet e metrics-server sui nodi del cluster per i servizi multi-cluster. Questa regola ha una priorità di 900. Indirizzi IP per i controlli di integrità Tag del nodo TCP, UDP, SCTP, ICMP, ESP, AH

    Regole firewall di GKE Gateway

    GKE crea le seguenti regole firewall per i gateway quando vengono create le risorse Gateway e HTTPRoute:

    Nome Finalità Origine Target (definisce la destinazione) Protocollo e porte
    • gkegw1-l7-[network]-[region/global]
    • gkemcg1-l7-[network]-[region/global]

    Consente i controlli di integrità di un gruppo di endpoint di rete (NEG).

    Il controller del gateway crea questa regola quando viene creata la prima risorsa gateway. Il controller di Gateway può aggiornare questa regola se vengono create altre risorse di Gateway.

    Tag del nodo TCP: tutte le porte target del contenitore (per i NEG)

    Regole firewall GKE Ingress

    GKE crea le seguenti regole firewall Ingress quando viene creata una risorsa Ingress:

    Nome Finalità Origine Target (definisce la destinazione) Protocollo e porte
    k8s-fw-l7-[random-hash]

    Consente i controlli di integrità di un servizio NodePort o di un gruppo di endpoint di rete (NEG).

    Il controller Ingress crea questa regola quando viene creata la prima risorsa Ingress. Il controller Ingress può aggiornare questa regola se vengono create altre risorse Ingress.

    Per GKE 1.17.13-gke.2600 o versioni successive:
    • 130.211.0.0/22
    • 35.191.0.0/16
    • Intervalli di subnet solo proxy definiti dall'utente (per bilanciatori del carico delle applicazioni interni)
    Tag del nodo TCP: 30000-32767, TCP:80 (per i bilanciatori del carico delle applicazioni interni), TCP: tutte le porte di destinazione del contenitore (per i NEG)

    VPC condiviso

    Quando un cluster che si trova in un VPC condiviso utilizza una rete VPC condivisa, il controller Ingress non può utilizzare l'account di servizio GKE nel progetto di servizio per creare e aggiornare le regole del firewall di autorizzazione in entrata nel progetto host. Puoi concedere all'account di servizio GKE in un progetto di servizio le autorizzazioni per creare e gestire le risorse della firewall. Per ulteriori informazioni, consulta VPC condiviso.

    Regola firewall obbligatoria per la subnet espansa

    Se espandi l'intervallo IPv4 principale della sottorete del cluster, GKE non aggiorna automaticamente l'intervallo di origine della gke-[cluster-name]-[cluster-hash]-vms regola del firewall. Poiché i nodi del cluster possono ricevere indirizzi IPv4 dalla parte espansa dell'intervallo IPv4 primario della subnet, devi creare manualmente una regola firewall per consentire la comunicazione tra i nodi del cluster.

    La regola firewall in entrata che devi creare deve consentire i pacchetti TCP e ICMP da l'intervallo di origine IPv4 della subnet principale espansa e deve essere applicata almeno a tutti i nodi del cluster.

    Per creare una regola firewall in entrata che si applichi solo ai nodi del cluster, imposta il target della regola firewall sullo stesso tag target utilizzato dalla regola firewall gke-[cluster-name]-[cluster-hash]-vms creata automaticamente del cluster.

    Passaggi successivi