k8s 准入控制器【4】--编写和部署准入控制器 Webhook--以非root运行pod
  TEZNKK3IfmPf 2023年11月13日 22 0

以非root运行pod

需求

Kubernetes 的很多默认设置是为了便于使用,有时它们会牺牲一定的安全性。因为按照默认设置,容器一般是以 root 身份运行的(即便没有进一步配置,Dockerfile 中也没有指令)。

尽管容器在一定程度上与底层主机隔离,但这样确实会增加部署风险,比如去年曝光的 runC 漏洞(CVE-2019-5736),它被利用的原因之一就是容器内进程都是以 root 权限运行的。

下面我们以这个问题为例,一起利用准入控制器 webhook 建立自定义安全策略。

为了解决上述问题,工程师可以使用自定义的变更准入控制器 Webhook 使默认设置变得更安全:除非明确要求,否则 webhook 将强制要求 Pod 以非 root 身份运行(示例中为分配 ID 1234)。
它为以非root用户身份运行容器实施了更安全的默认设置。虽然它仍然是可以运行的容器为根,如果设置网络挂接确保这是唯一可能runAsNonRoot被明确地设置为false 在securityContext吊舱。如果未设置任何值,则runAsNonRoot默认true 为,用户ID默认为1234
请注意,这个设置不会影响到集群中的工作负载,包括那些明确需要 root 权限的工作负载。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   52   0   0 linux服务器
  TEZNKK3IfmPf   2024年05月31日   30   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linuxbind
  TEZNKK3IfmPf   2024年05月31日   40   0   0 linuxshell
TEZNKK3IfmPf