Vai al contenuto

Firewalling

Il firewall perimetrale di ogni sito geografico è il ponte N/S dell'ambiente kubernetes, ossia è il default gateway della kubernetes/24 nonché l'unico oggetto di rete sulla VLAN Kubernetes ad avere accesso ad altre reti.

Di seguito è specificato il traffico in entrata e in uscita che il firewall deve autorizzare in relazione alla kubernetes/24

Accesso amministrativo

API Kubernetes

Sorgente Destinazione Protocollo/Porta Descrizione
VPN
membri di {sito}-kubectl
VIP K8s API

Da kubernetes.nodes.11 a kubernetes.nodes.30 del medesimo ambiente
HTTPS/6443 API Kubernetes
VPN
membri di {sito}-kubectl
k8s-auth

kubernetes.nodes.3 del medesimo ambiente
HTTPS/443 Web UI di dex per l'autenticazione kubectl tramite credenziali AD

SSH

Sorgente Destinazione Protocollo/Porta Descrizione
VPN
membri di {sito}-k8s-ssh
k8s-jump

kubernetes.nodes.2 del medesimo ambiente
SSH/22 Accesso SSH
VPN
membri di {sito}-k8s-ssh
k8s-auth

kubernetes.nodes.3 del medesimo ambiente
SSH/22 Accesso SSH

Traffico tra kubernetes.bgp.routers

Sia della stessa region che tra region differenti.

Protocollo/Porta Descrizione
BGP/179 Peering BGP

Traffico in uscita da kubernetes.bgp.routers

Destinazione Protocollo/Porta Descrizione
kubernetes.cmp.nodes della stessa region BGP/179 Peering BGP

Traffico in entrata verso kubernetes.bgp.routers

Sorgente Protocollo/Porta Descrizione
kubernetes.cmp.nodes della stessa region BGP/179 Peering BGP
kubernetes.cmp.jump della stessa region SSH/22 Accesso SSH

Traffico tra kubernetes.cmp.nodes

Sia della stessa region che tra region differenti.

Porta Descrizione
ICMP 8/0 Health checks tra i nodi
4240/tcp Health checks tra i nodi
8472/udp VXLAN Overlay
4244/tcp Hubble server
4245/tcp Hubble Relay
4250/tcp Mutual Authentication port
51871/udp WireGuard encryption tunnel endpoint

Vedi i requisiti di Cilium.

Traffico in uscita da kubernetes.cmp.nodes

Il traffico in uscita dall'ambiente Kubernetes è governato primariamente tramite CiliumNetworkPolicies distribuite sui clusters. Le nostre policies di rete partono sempre da una regola di deny all applicata ad ogni namespace.

Il traffico in uscita viene autorizzato granularmente per ogni carico di lavoro distribuito in Kubernetes.

Una volta autorizzato da Cilium il traffico passa per il firewall perimetrale dove vigono le seguenti autorizzazioni relative al traffico in uscita dai nodi kubernetes (range 100-249 della kubernetes/24):

Sorgente Destinazione Protocollo/Porta Descrizione
Nodo K8s any HTTP/80 Generica possibilità di effettuare chiemate HTTP sulla porta standard
Nodo K8s any HTTPS/443 Generica possibilità di effettuare chiemate HTTPS sulla porta standard
Nodo K8s github.com SSH/22 Consente ad ArgoCD di clonare i repositories
Nodo K8s Router BGP

Da kubernetes.bgp.2 a kubernetes.bgp.9 del medesimo ambiente
BGP/179 Peering BGP
Nodo K8s backend/16 any NTP, AD, etc...

Traffico in entrata verso i nodi

Sorgente Destinazione Protocollo/Porta Descrizione
Router BGP Nodo K8s del medesimo ambiente BGP/179 Peering BGP