containerd), while
others are pulled as container images from the registry (for example, ghcr.io/siderolabs/kubelet).
All workloads running in Kubernetes clusters created with Talos Linux are also running as container images.
Thus, verifying the signatures of the container images is an important part of the security of the cluster, in order to prevent supply chain attacks and ensure that the images have not been tampered with.
Talos Linux provides a machine-wide configurable image signature verification policy which covers all image pulls on the machine,
including the ones initiated by the Talos operating system itself, as well as the ones initiated by Kubernetes for the workloads running in the cluster.
The image signature verification policy is a top-down list of rules which are evaluated in order.
The first rule that matches the image being pulled is applied, and the rest of the rules are ignored.
The rules can be configured to verify the signature, ignore the signature, or reject the image.
A rule matches on the image reference without the tag or digest, e.g. for the image ghcr.io/siderolabs/installer:v1.13.0, the reference matched is ghcr.io/siderolabs/installer.
The policy is configured using the ImageVerificationConfig configuration document.
registry.k8s.io and requires them to be signed by the Kubernetes release engineering team service account,
while the second rule matches all images from ghcr.io/siderolabs and requires them to be signed by a Sidero Labs employee or the Talos production release manager service account.
Any other images that do not match either of the rules will be allowed by default.
It is also possible to create a closed policy that rejects all images that do not match any of the rules by adding a final rule with deny: true:
skip: true can be added:
Note: Keyless verification will not work on air-gapped clusters that do not have access to the Internet.Public key verification does not have the above limitation, but it requires generating and managing the signing keys and making the public keys available to the Talos machines. The image verification policy is applied at the moment of pulling the image, so if the image is already present in the local image store, the signature will not be verified again. The signature verification can be verified by checking the image labels, for the presence of the
talos.dev/verified label: