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-authkubernetes.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-jumpkubernetes.nodes.2 del medesimo ambiente |
SSH/22 |
Accesso SSH |
| VPN membri di {sito}-k8s-ssh |
k8s-authkubernetes.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 |