Security allowlists¶
Back to the configuration index.
security holds named ingress rules. Each rule is one tcp port plus the source CIDRs allowed to reach it. The same rules become the OpenStack security group, the Proxmox per-VM firewall, and the Talos host firewall on every node. Rule names and the labels under them are free-form; the labels only document where an address comes from. Removing a label removes that allowance on the next converge; another rule for the same port or the always-allowed cluster traffic may still permit the source.
security:
kubernetes: # tcp/6443
office vpn: 198.51.100.0/24
tailscale: 100.64.0.0/10
talos: # tcp/50000
office vpn: 198.51.100.0/24
https: # restrict tcp/443; omit to leave it open
hosts:
office vpn: 198.51.100.0/24
metrics: # any other port needs `port`
port: 9100
hosts:
office vpn: 198.51.100.0/24
Rule shapes¶
Short form: the rule maps labels straight to CIDRs and uses the rule name's default port. This is what every pre-0.5 cluster.yaml uses for kubernetes and talos.
Long form: the rule has a hosts mapping and an optional port. Use it for any port without a default.
Default ports¶
| Rule name | Port | Open when the rule is absent |
|---|---|---|
kubernetes |
6443 | no |
talos |
50000 | no |
http |
80 | yes |
https |
443 | yes |
Any other rule name requires an explicit port between 1 and 65535. http and https may not change their port; use a differently named rule for another port.
Open-by-default ports¶
Ports 80 and 443 accept traffic from every source until some rule claims that port, either an http/https rule or another rule with port: 80 or port: 443. Claiming a port with an empty hosts map removes its default public allowance. Other rules for the same port and the always-allowed traffic still apply.
Always allowed¶
The Talos host firewall allows TCP and UDP from network.cidr, DHCP replies on UDP/68, and UDP/41641 when the tailscale section is present. Talos also has built-in allowances for loopback, established connections, ICMP, and pod/service traffic. The Proxmox per-VM firewall permits ICMP and intra-cluster TCP/UDP; OpenStack permits ICMP and TCP/UDP between members of the cluster security group. Provider firewalls do not add the same explicit UDP/41641 allowance as the Talos firewall, so direct Tailscale connectivity also depends on the surrounding network. Ports no rule mentions, such as tcp/22, are left to you on Proxmox and stay closed by the Talos firewall's default deny.
Proxmox firewall enablement¶
Enable the datacenter firewall yourself. taloscluster configures per-VM firewall options and sets firewall=1 on NICs it creates, but only warns if the datacenter switch is off or an existing NIC lacks that flag.
CIDR format¶
Every source must be an IPv4 network written with its network address (198.51.100.0/24). A single host is /32.
Writing a rule's 0.0.0.0/0 is equivalent to omitting it: on OpenStack the wildcard prefix is reconciled as the rule without a remote_ip_prefix, so a rule scoped to 0.0.0.0/0 and the open-by-default allowance for the same port are the same rule, not two competing ones.