- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
PodSecurityPolicy documentation 中的第二个示例策略包含以下 PodSecurityPolicy 片段
...
spec:
privileged: false
# Required to prevent escalations to root.
allowPrivilegeEscalation: false
# This is redundant with non-root + disallow privilege escalation,
# but we can provide it for defense in depth.
requiredDropCapabilities:
- ALL
...
$ docker run --cap-add SYS_ADMIN --user 1000 ubuntu grep Cap /proc/self/status
CapInh: 00000000a82425fb
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 00000000a82425fb
CapAmb: 0000000000000000
最佳答案
Why is dropping all capabilities redundant for non-root + disallow privilege escalation?
allowPrivilegeEscalation: false
会在
execve 系统调用中禁用 setuid,从而阻止使用任何新功能。
privileged: false
结合使
requiredDropCapabilities: [ALL]
变得多余。
--user=whatever
=> privileged: false
--security-opt=no-new-privileges
=> allowPrivilegeEscalation: false
--cap-drop=all
=> requiredDropCapabilities: [ALL]
It seems like this is not possible with Docker
CapEff: 0000000000000000
),即使您指定
--cap-add SYS_ADMIN
--security-opt=no-new-privileges
相结合使
--cap-drop=all
变得多余。
SYS_ADMIN
$ docker run --rm ubuntu grep Cap /proc/self/status
CapInh: 00000000a80425fb
CapPrm: 00000000a80425fb
CapEff: 00000000a80425fb
CapBnd: 00000000a80425fb
CapAmb: 0000000000000000
$ capsh --decode=00000000a82425fb
0x00000000a82425fb=cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_sys_admin,cap_mknod,cap_audit_write,cap_setfcap
00000000a82425fb
相同而不指定任何
--cap-add
选项是有道理的。
But other container runtimes could implement it, so is this comment just Docker specific?
privileged: false
和
allowPrivilegeEscalation: false
无法有效禁用功能的情况,并且可以使用
requiredDropCapabilities:
删除(尽管我不明白为什么另一个运行时会想要更改 Docker 行为)。
关于docker - 为什么要求在 Kubernetes PodSecurityPolicy 冗余中删除所有功能并具有非 root + 禁止权限提升?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53328090/
目录 一.系统环境 二.前言 三.PodSecurityPolicy 简介 四.为什么需要 PodSecurityPolicy 五.给客户端授权 六.启用P
我想构建一个Pod安全策略,在其中删除所有功能,然后仅启用CHOWN。 问题是,似乎“requiredDropCapabilities:ALL”是主要规则,如果将其配置为ALL,则无法使用Allowe
我尝试使用 kubeadm 在 ubuntu 16.04 上安装的 1.10.1 集群上设置 PodSecurityPolicy,并按照 https://kubernetes.io/docs/conc
我在 minikube 中启用了 podsecuritypolicy。默认情况下,它创建了两个 psp - 特权和受限。 NAME PRIV CAPS SELINUX
K8s 文档有一个受限 PodSecurityPolicy 的例子: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#e
PodSecurityPolicy documentation 中的第二个示例策略包含以下 PodSecurityPolicy 片段 ... spec: privileged: false #
kubernetes PodSecurityPolicy 设置为 runAsNonRoot,pods 没有开始发布,出现错误错误:容器具有 runAsNonRoot 并且图像具有非数字用户(appus
我是一名优秀的程序员,十分优秀!