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

Add documentation about verifying signed container images #31420

Closed
saschagrunert opened this issue Jan 20, 2022 · 16 comments
Closed

Add documentation about verifying signed container images #31420

saschagrunert opened this issue Jan 20, 2022 · 16 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. language/en Issues or PRs related to English language sig/docs Categorizes an issue or PR as relevant to SIG Docs. sig/security Categorizes an issue or PR as relevant to SIG Security. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Milestone

Comments

@saschagrunert
Copy link
Member

saschagrunert commented Jan 20, 2022

One part of the container image signing MVP (kubernetes/release#2383) is to provide appropriate documentation about how to verify signed images. We have to find a location on k8s.io about adding general documentation as well as outline manual verification steps.

We should also document possible gaps in the verification process. For example, it is not 100% safe to manually verify the container images. Container runtimes would have to support cosign verification to secure clusters continuously.

Beside that, we should think about consumers of our container images. How could we help them to simplify the signature verification process?

@saschagrunert saschagrunert added the kind/feature Categorizes issue or PR as related to a new feature. label Jan 20, 2022
@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jan 20, 2022
@saschagrunert
Copy link
Member Author

/milestone v1.24

@k8s-ci-robot
Copy link
Contributor

@saschagrunert: You must be a member of the kubernetes/website-milestone-maintainers GitHub team to set the milestone. If you believe you should be able to issue the /milestone command, please contact your Website milestone maintainers and have them propose you as an additional delegate for this responsibility.

In response to this:

/milestone v1.24

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@saschagrunert
Copy link
Member Author

/help

@k8s-ci-robot k8s-ci-robot added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Jan 20, 2022
@sftim
Copy link
Contributor

sftim commented Jan 20, 2022

/sig security
/sig docs
/language en

/remove-help
(I don't feel that this has a low enough barrier to entry at the moment)

@k8s-ci-robot k8s-ci-robot added sig/security Categorizes an issue or PR as relevant to SIG Security. sig/docs Categorizes an issue or PR as relevant to SIG Docs. language/en Issues or PRs related to English language and removed help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. labels Jan 20, 2022
@sftim
Copy link
Contributor

sftim commented Jan 20, 2022

/milestone 1.24

@k8s-ci-robot k8s-ci-robot added this to the 1.24 milestone Jan 20, 2022
@sftim
Copy link
Contributor

sftim commented Jan 20, 2022

Perhaps for an MVP we could document how to configure your cluster so that the control plane nodes insist on signed images, and that code on the control plane (eg kubelet, kube-proxy, etcd, kube-scheduler) is signed and verified.

A future enhancement might then tackle workload images.

How does that sound? Another approach would be to skip explaining how to secure the control plane, and focus on how to ensure that workload Pods are verified.

@jihoon-seo
Copy link
Member

/triage accepted

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jan 21, 2022
@saschagrunert
Copy link
Member Author

saschagrunert commented Jan 21, 2022

How does that sound? Another approach would be to skip explaining how to secure the control plane, and focus on how to ensure that workload Pods are verified.

Sounds good to me, I would split the verification into two aspects: The manual and the automatic image verification. For the automatic way we require CRI container runtimes to support cosign.

Do you have a location in mind there we put that information? Somewhere there: https://kubernetes.io/releases ?

@PushkarJ
Copy link
Member

@saschagrunert let me know if you are looking for someone to work on this

@saschagrunert
Copy link
Member Author

@PushkarJ you can take this over if you want to. I was planning to work on it later this cycle but earlier is even better.

Feel free to draft a PR to supersede #31611 or reach out to me directly if there is anything unclear. :)

@cpanato
Copy link
Member

cpanato commented Mar 3, 2022

@PushkarJ any update on this? thanks!

@PushkarJ
Copy link
Member

PushkarJ commented Mar 3, 2022

@cpanato I will be able to get to this next week as I am out for the rest of the week. If it can not wait, happy for either of you to take over.

@PushkarJ
Copy link
Member

Looks like the consensus so far is that we will need two types of docs:

  1. Allows admins to manually verify images
  2. Allows admins to continuously and automatically verify images of running control plane pods

For option 2, it seems like CRI support for cosign is needed (Would be super cool to see this!!). So until that is in place, I will work on the docs that cover option 1. Sounds good?

@PushkarJ
Copy link
Member

/assign
/sig security

@PushkarJ
Copy link
Member

WIP PR is open: #32184

@saschagrunert
Copy link
Member Author

This is done :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. language/en Issues or PRs related to English language sig/docs Categorizes an issue or PR as relevant to SIG Docs. sig/security Categorizes an issue or PR as relevant to SIG Security. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

6 participants