-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
disable kubelet_authorization_mode_webhook by default #9238
disable kubelet_authorization_mode_webhook by default #9238
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cristicalin, floryut 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 |
[CI] remove opensuse Leap from molecule test blocking CI (kubernetes-sigs#9229) Fixes for calico_datastore: etcd (kubernetes-sigs#9228) It seems that PR kubernetes-sigs#8839 broke `calico_datastore: etcd` when it removed ipamconfig support for etcd mode. This PR fixes some failing tasks when `calico_datastore == etcd`, but it does not restore ipamconfig support for calico in etcd mode. If someone wants to restore ipamconfig support for `calico_datastore: etcd` please submit a follow up PR for that. kube-vip shoud fail if kube_proxy_strict_arp is false in arp mod (kubernetes-sigs#9223) * fix-kube-vip-strict-arp * fix-kube-vip-strict-arp add runc v1.1.4 (kubernetes-sigs#9230) Fix typo. Fix kube_ovn_hw_offload value (kubernetes-sigs#9218) Fix cloud_init files for different distros (kubernetes-sigs#9232) Fix abort because calicoctl.sh is not a full path (kubernetes-sigs#9217) feat: add kubelet systemd service hardening option (kubernetes-sigs#9194) * feat: add kubelet systemd service hardening option * refactor: move variable name to kubelet_secure_addresses Co-authored-by: Cristian Calin <6627509+cristicalin@users.noreply.github.com> * docs: add diagram about kubelet_secure_addresses variable Co-authored-by: Cristian Calin <6627509+cristicalin@users.noreply.github.com> make calico installation more stable (kubernetes-sigs#9227) Signed-off-by: hang.jiang <hang.jiang@daocloud.io> Signed-off-by: hang.jiang <hang.jiang@daocloud.io> Update security contacts file (kubernetes-sigs#9235) disable kubelet_authorization_mode_webhook by default (kubernetes-sigs#9238) add-yankay-to-reviewers (kubernetes-sigs#9247)
Hi @cristicalin, do you have more details about that actually? I am comparing rules from the kubernetes docs (https://kubernetes.io/docs/reference/access-authn-authz/kubelet-authn-authz/) and it seems to me that those exactly maps to what kubespray gives https://github.com/kubernetes-sigs/kubespray/blob/master/roles/kubernetes-apps/cluster_roles/templates/node-webhook-cr.yml.j2. So at least according to the Kubernetes documentation, Kubespray doesn't seems to give more privilege than needed 🤷♂️. So would you have more insight on how a kubelet would escalate with those accesses and how could kubespray possibly restrain more those rules to prevent that in the webhook authz mode? |
[CI] remove opensuse Leap from molecule test blocking CI (kubernetes-sigs#9229) Fixes for calico_datastore: etcd (kubernetes-sigs#9228) It seems that PR kubernetes-sigs#8839 broke `calico_datastore: etcd` when it removed ipamconfig support for etcd mode. This PR fixes some failing tasks when `calico_datastore == etcd`, but it does not restore ipamconfig support for calico in etcd mode. If someone wants to restore ipamconfig support for `calico_datastore: etcd` please submit a follow up PR for that. kube-vip shoud fail if kube_proxy_strict_arp is false in arp mod (kubernetes-sigs#9223) * fix-kube-vip-strict-arp * fix-kube-vip-strict-arp add runc v1.1.4 (kubernetes-sigs#9230) Fix typo. Fix kube_ovn_hw_offload value (kubernetes-sigs#9218) Fix cloud_init files for different distros (kubernetes-sigs#9232) Fix abort because calicoctl.sh is not a full path (kubernetes-sigs#9217) feat: add kubelet systemd service hardening option (kubernetes-sigs#9194) * feat: add kubelet systemd service hardening option * refactor: move variable name to kubelet_secure_addresses Co-authored-by: Cristian Calin <6627509+cristicalin@users.noreply.github.com> * docs: add diagram about kubelet_secure_addresses variable Co-authored-by: Cristian Calin <6627509+cristicalin@users.noreply.github.com> make calico installation more stable (kubernetes-sigs#9227) Signed-off-by: hang.jiang <hang.jiang@daocloud.io> Signed-off-by: hang.jiang <hang.jiang@daocloud.io> Update security contacts file (kubernetes-sigs#9235) disable kubelet_authorization_mode_webhook by default (kubernetes-sigs#9238) add-yankay-to-reviewers (kubernetes-sigs#9247)
What type of PR is this?
/kind bug
What this PR does / why we need it:
When setting
kubelet_authorization_mode_webhook: True
kubespray creates extra kubernetes roles that might give kubelets more privileges than needed, allowing a compromised kubelet to elevate its privileges to cluster admin. We should set this to false by default and not recommend setting it to true in our hardening guide.Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?: