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

Blog: Current State of 2019 Third Party Kubernetes Audit #36971

Merged

Conversation

PushkarJ
Copy link
Member

@PushkarJ PushkarJ commented Sep 22, 2022

@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 22, 2022
@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. committee/security-response Denotes an issue or PR intended to be handled by the product security committee. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. area/blog Issues or PRs related to the Kubernetes Blog subproject language/en Issues or PRs related to English language labels Sep 22, 2022
@PushkarJ PushkarJ force-pushed the blog-2019-audit-current-state branch 2 times, most recently from e5c91f7 to c05a8b7 Compare September 22, 2022 20:03
@PushkarJ PushkarJ marked this pull request as ready for review September 22, 2022 20:05
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 22, 2022
@PushkarJ PushkarJ changed the title Blog: Current state of 2019 Third Party Kubernetes Audit Findings Blog: Current state of 2019 Third Party Kubernetes Audit Sep 22, 2022
@PushkarJ PushkarJ changed the title Blog: Current state of 2019 Third Party Kubernetes Audit Blog: Current State of 2019 Third Party Kubernetes Audit Sep 22, 2022
@netlify
Copy link

netlify bot commented Sep 22, 2022

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit e5c91f7
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-io-main-staging/deploys/632cbeb79bc0240008bbed35
😎 Deploy Preview https://deploy-preview-36971--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@netlify
Copy link

netlify bot commented Sep 22, 2022

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit eef47e5
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-io-main-staging/deploys/633b67e1aa651b0008223d48
😎 Deploy Preview https://deploy-preview-36971--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@cailynse
Copy link
Contributor

praise: This looks really good to me! I like how concise it is, and how it makes it easy to identify places for contributing.

idea: There is a small summary in the findings - is it worth including it?

Overall, Kubernetes is a large system with significant operational complexity. The
assessment team found configuration and deployment of Kubernetes to be non-trivial, with
certain components having confusing default settings, missing operational controls, and
implicitly defined security controls. Also, the state of the Kubernetes codebase has
significant room for improvement. The codebase is large and complex, with large sections
of code containing minimal documentation and numerous dependencies, including
systems external to Kubernetes. There are many cases of logic re-implementation within
the codebase which could be centralized into supporting libraries to reduce complexity,
facilitate easier patching, and reduce the burden of documentation across disparate areas
of the codebase.

Despite the results of the assessment and the operational complexity of the underlying
cluster components, Kubernetes streamlines difficult tasks related to maintaining and
operating cluster workloads such as deployments, replication, and storage management.
Additionally, Kubernetes takes steps to help cluster administrators harden and secure their
clusters through features such as Role Based Access Controls (RBAC) and various policies
which extend the RBAC controls. Continued development of these security features, and
further refinement of best practices and sane defaults will lead the Kubernetes project
towards a secure-by-default configuration.

Copy link
Member

@cji cji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the ping on this! I'm excited to see this call to action on these. This is really great work from you all updating the status and to see the progress that's been made. When this is published would it be helpful to update the original tracking issue with these statuses as well?

Copy link
Contributor

@divya-mohan0209 divya-mohan0209 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initial set of reviews

@PushkarJ
Copy link
Member Author

PushkarJ commented Sep 26, 2022

@cailynse Thanks for the praise. About the idea, I worry that reiterating the summary from the report, would make people implicitly believe that the summary has not changed over the years and may cause confusion.

@PushkarJ
Copy link
Member Author

@cji thanks for the feedback! I think adding a blog post link at the top of the original issue description, would be good enough, imo :)

@sftim
Copy link
Contributor

sftim commented Sep 27, 2022

For publication date, could I suggest 2022-10-05 (or, if it looks like it won't be ready on time: later)

@PushkarJ
Copy link
Member Author

For publication date, could I suggest 2022-10-05 (or, if it looks like it won't be ready on time: later)

@reylejano would that be okay with timelines for 2021-22 audit publication?

(Want to publish this atleast a week before publication of the new audit)

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: sftim

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 2, 2022
@PushkarJ
Copy link
Member Author

PushkarJ commented Oct 3, 2022

Thanks you all for the feedback while I was away. Incoming - a bunch of changes based on feedback so far!

@PushkarJ
Copy link
Member Author

PushkarJ commented Oct 3, 2022

Update: I have no wifi unfortunately on my plane. So gonna have to push changes later in the afternoon today. I think we should still be on track for Oct 5 publication

@sftim
Copy link
Contributor

sftim commented Oct 3, 2022

/hold
@PushkarJ once you feel this has had the right level of scrutiny, including by the blog team, please unhold

It's OK to merge this even if some nit-level feedback is outstanding (in that case, please consider opening a follow-up PR).

Would be good to get a formal comment from a reviewer representing SIG Security.

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 3, 2022
@PushkarJ PushkarJ force-pushed the blog-2019-audit-current-state branch 5 times, most recently from bc0a5e3 to 6d26e5d Compare October 3, 2022 22:51
Apply suggestions from cji, divya-mohan0209, sftim, raesene, reylejano code reviews
@PushkarJ PushkarJ force-pushed the blog-2019-audit-current-state branch from 6d26e5d to eef47e5 Compare October 3, 2022 22:53
@PushkarJ
Copy link
Member Author

PushkarJ commented Oct 4, 2022

All comments should be addressed and resolved now.

Would appreciate lgtm from reviewers who already gave such valuable feedback!

@reylejano
Copy link
Member

Thank you @PushkerJ for addressing comments
With my SIG Security third-party audit subproject owner hat on, this looks good to me
/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 4, 2022
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 6f292f3a6f72882b076d7cd91a07896b3890c13b

Copy link
Contributor

@cailynse cailynse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks really great! Thanks so much for putting this together and incorporating all the thoughtful feedback!

/lgtm

@k8s-ci-robot
Copy link
Contributor

@PushkarJ: you cannot LGTM your own PR.

In response to this:

/lgtm

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.

@PushkarJ
Copy link
Member Author

PushkarJ commented Oct 4, 2022

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 4, 2022
@k8s-ci-robot k8s-ci-robot merged commit 2f031cb into kubernetes:main Oct 4, 2022
sig-security-tracker automation moved this from In Progress to Done Oct 4, 2022
Copy link
Contributor

@sftim sftim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff.

A few super minor things.


| **\#** | **Title** | **Issue** | **Status** |
| ------ | ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | hostPath PersistentVolumes enable PodSecurityPolicy bypass | [#81110](https://github.com/kubernetes/kubernetes/issues/81110) | closed, addressed by [kubernetes/website#15756](https://github.com/kubernetes/website/pull/15756) |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💭 I think kubernetes/kubernetes#109798 (PSP removal) is also relevant here.

(something for a follow-up PR, perhaps?)

| ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | --------------- | ---------- | -------------------- |
| Kubernetes does not facilitate certificate revocation | [#81111](https://github.com/kubernetes/kubernetes/issues/81111) | High | High | Medium |
| Use of InsecureSkipVerify and other TLS weaknesses | [#81119](https://github.com/kubernetes/kubernetes/issues/81119) | High | High | Medium |
| Kubectl can cause a local Out Of Memory error with a malicious Pod specification | [#81123](https://github.com/kubernetes/kubernetes/issues/81123) | Medium | Medium | Medium |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit / for feedback

I'd put:

Suggested change
| Kubectl can cause a local Out Of Memory error with a malicious Pod specification | [#81123](https://github.com/kubernetes/kubernetes/issues/81123) | Medium | Medium | Medium |
| `kubectl` can cause a local Out Of Memory error with a malicious Pod specification | [#81123](https://github.com/kubernetes/kubernetes/issues/81123) | Medium | Medium | Medium |

We avoid capitalizing the names of commands, it verges on misleading the reader.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this suggestion and previous suggestion in followup PR #37156

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/blog Issues or PRs related to the Kubernetes Blog subproject cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. committee/security-response Denotes an issue or PR intended to be handled by the product security committee. language/en Issues or PRs related to English language lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/docs Categorizes an issue or PR as relevant to SIG Docs. sig/security Categorizes an issue or PR as relevant to SIG Security. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Development

Successfully merging this pull request may close these issues.

[Blog post] Current State of findings from Kubernetes Third Party Security Audit of 2019
10 participants