Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow runtime/default seccomp profile in the built-in SCCs #1325

Closed
pjbgf opened this issue Feb 22, 2022 · 9 comments
Closed

Allow runtime/default seccomp profile in the built-in SCCs #1325

pjbgf opened this issue Feb 22, 2022 · 9 comments
Labels
lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@pjbgf
Copy link

pjbgf commented Feb 22, 2022

Currently, all default SCCs (except privileged) block users from setting seccomp to runtime/default. The current behaviour seems to be a disservice as it blocks workloads to use more restrictive security controls, which may lead to folks simply set a workload SCC to privileged in order to "get it to work".
This is becoming a larger problem as folks around the OSS community and the private sector start shipping workloads with seccomp set to runtime/default - which is the recommended setting by CIS Benchmark for a few years now. They are now facing a few options:

The suggested change is to allow all default SCCs to support:

  • unconfined (current Kubernetes default for backwards compatibility)
  • runtime/default (future Kubernetes default and safer position)

I am not entirety sure of the longevity and future plans of SCC. However, making this change will:

  • Help developers to seamless support OpenShift (from a seccomp perspective).
  • Help companies to be CIS Benchmark compliant.
  • Support the new defaults from Kubernetes upstream.

Looking forward to hear some thoughts around and understand how receptive the maintainers would be to the above.

cc: @JAORMX @jhrozek @saschagrunert


Upstream Context:

  • Around 2016 Docker created a default seccomp profile and enabled by default. The same profile was introduced into Kubernetes as docker/default and was later renamed to runtime/default.
  • Kubernetes 1.19: Seccomp made GA having profile unconfined by default.
  • Kubernetes 1.22: SeccompDefault feature gate created, enabling users to switch from unconfined to runtime/default across the entire cluster.
  • Kubernetes 1.25 (planned): SeccompDefault feature gate is enabled by default, meaning that all workloads will have seccomp profile runtime/default unless otherwise set on a per workload (pod or container) basis.
@cbandy
Copy link

cbandy commented May 17, 2022

BZ - 2010564 seems to talk about the same issue.

simonpasquier added a commit to simonpasquier/observability-operator that referenced this issue Jun 16, 2022
It seems that built-in SCCs (except `privileged`) don't allow to set the
seccomp profile [1]. Until this is fixed in OpenShift, we should leave
it to the default (which is already `RuntimeDefault`).

[1] openshift/cluster-kube-apiserver-operator#1325

Signed-off-by: Simon Pasquier <[email protected]>
simonpasquier added a commit to simonpasquier/observability-operator that referenced this issue Jun 17, 2022
It seems that built-in SCCs (except `privileged`) don't allow to set the
seccomp profile [1]. Until this is fixed in OpenShift, we shouldn't try
to set `seccompProfile` (the container runtime should already use
`RuntimeDefault`).

[1] openshift/cluster-kube-apiserver-operator#1325

Signed-off-by: Simon Pasquier <[email protected]>
JoaoBraveCoding pushed a commit to rhobs/observability-operator that referenced this issue Jun 17, 2022
It seems that built-in SCCs (except `privileged`) don't allow to set the
seccomp profile [1]. Until this is fixed in OpenShift, we shouldn't try
to set `seccompProfile` (the container runtime should already use
`RuntimeDefault`).

[1] openshift/cluster-kube-apiserver-operator#1325

Signed-off-by: Simon Pasquier <[email protected]>
@openshift-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 17, 2022
@pjbgf
Copy link
Author

pjbgf commented Aug 17, 2022

/remove-lifecycle stale

@openshift-ci openshift-ci bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 17, 2022
@openshift-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 15, 2022
@cbandy
Copy link

cbandy commented Nov 29, 2022

/remove-lifecycle stale

@openshift-ci openshift-ci bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 29, 2022
@openshift-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 28, 2023
@pjbgf pjbgf closed this as completed Feb 28, 2023
@nyoxi
Copy link

nyoxi commented Mar 14, 2023

@pjbgf Could you please elaborate on how/where was this issue fixed? Thanks.

@pjbgf
Copy link
Author

pjbgf commented Mar 14, 2023

@nyoxi I don't think the issue was resolved, I closed it due to lack of activity within the year it was opened.

@nyoxi
Copy link

nyoxi commented Mar 14, 2023

I see. Confusingly GitHub says: pjbgf closed this as completed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

No branches or pull requests

4 participants