1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-06 16:06:56 +00:00
kyverno/samples/DisallowPrivilegedContainers.md

51 lines
1.5 KiB
Markdown
Raw Normal View History

2019-11-08 20:04:42 -08:00
# Diallow privileged containers
2019-10-23 14:06:03 -07:00
2019-10-23 15:36:37 -07:00
Privileged containers are defined as any container where the container uid 0 is mapped to the hosts uid 0. A process within a privileged container can get unrestricted host access. With `securityContext.allowPrivilegeEscalation` enabled, a process can gain privileges from its parent.
2019-10-23 14:06:03 -07:00
2019-11-08 20:04:42 -08:00
To disallow privileged containers and privilege escalation, run pod containers with `securityContext.privileged` set to `false` and `securityContext.allowPrivilegeEscalation` set to `false`.
2019-10-23 14:06:03 -07:00
## Policy YAML
2019-11-08 20:04:42 -08:00
[disallow_privileged.yaml](best_practices/disallow_privileged.yaml)
2019-10-23 14:06:03 -07:00
````yaml
2019-11-13 13:56:20 -08:00
apiVersion: kyverno.io/v1
2019-10-23 14:06:03 -07:00
kind: ClusterPolicy
metadata:
2019-11-08 20:04:42 -08:00
name: disallow-privileged
2019-10-23 14:06:03 -07:00
spec:
rules:
2019-11-08 20:04:42 -08:00
- name: validate-privileged
2019-10-23 14:06:03 -07:00
match:
resources:
kinds:
- Pod
validate:
2019-11-08 20:04:42 -08:00
message: "Privileged mode is not allowed. Set privileged to false"
2019-10-23 14:06:03 -07:00
anyPattern:
- spec:
securityContext:
privileged: false
2019-11-08 20:04:42 -08:00
- spec:
containers:
- name: "*"
securityContext:
privileged: false
- name: validate-allowPrivilegeEscalation
match:
resources:
kinds:
- Pod
validate:
message: "Privileged mode is not allowed. Set allowPrivilegeEscalation to false"
anyPattern:
- spec:
securityContext:
allowPrivilegeEscalation: false
2019-10-23 14:06:03 -07:00
- spec:
containers:
- name: "*"
securityContext:
allowPrivilegeEscalation: false
````