Alpha seccomp annotations 的變更
在過去,我們如果要為 Pods 或容器設定 seccomp 設定檔,會使用以下 annotations
seccomp.security.alpha.kubernetes.io/pod 和 container.seccomp.security.alpha.kubernetes.io。
什麼是 seccomp 呢?
seccomp
(安全計算模式 Secure Computing Mode),是一個在 Linux 內核中的安全功能,它允許進程(process)限制自己可以調用的系統調用(system calls),從而降低潛在的風險和攻擊面。在 pod 及 container 中,限制其對系統資源的訪問,確保它們無法執行某些不安全或不必要的操作。像是配置文件禁止像 open
, read
, write
等文件操作相關的系統調用,禁止 fork
、exit
和 kill
等系統調用、禁止具有安全風險的特權操作,例如 setuid
、setgid
和 setns
等限制容器內的進程的方式提升其權限或切換到其他命名空間
為 Pod 或容器設定合適的 seccomp 配置文件,可以確保它們無法執行潛在危險或不必要的操作,從而提高整個集群的安全性,防止漏洞被惡意攻擊者利用
而在 1.27 後,我們就應該改用 securityContext.seccompProfile 來配置 seccomp,舉例來說
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
securityContext:
seccompProfile:
type: Localhost
localhostProfile: my-seccomp-profile.json
containers:
- name: my-container
image: my-image
securityContext:
seccompProfile:
type: RuntimeDefault