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

validate options: check for secure connection for h2c and identity headers #277

Merged
merged 4 commits into from
Apr 8, 2024

Conversation

ibihim
Copy link
Collaborator

@ibihim ibihim commented Jan 26, 2024

What

Check if mTLS or loopback address is provided on h2c or identity headers.

Why

h2c is unencrypted http/2 and we don't want to allow it outside of local connections.
request headers functionality is setting confidential in the headers, we want this to happen only through mTLS. We can't guarantee that upstream verifies client certificates.

@ibihim ibihim force-pushed the secure-connection branch 4 times, most recently from 8e3d815 to 85f6c5d Compare February 21, 2024 13:48
@ibihim ibihim closed this Mar 6, 2024
@ibihim ibihim reopened this Mar 6, 2024
Makefile Outdated Show resolved Hide resolved
cmd/kube-rbac-proxy/app/options/proxyoptions.go Outdated Show resolved Hide resolved
cmd/kube-rbac-proxy/app/options/proxyoptions.go Outdated Show resolved Hide resolved
cmd/kube-rbac-proxy/app/options/proxyoptions.go Outdated Show resolved Hide resolved
cmd/kube-rbac-proxy/app/options/proxyoptions.go Outdated Show resolved Hide resolved
cmd/kube-rbac-proxy/app/options/proxyoptions.go Outdated Show resolved Hide resolved
test/kubetest/tls.go Show resolved Hide resolved
test/kubetest/client.go Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
cmd/kube-rbac-proxy/app/options/proxyoptions.go Outdated Show resolved Hide resolved
cmd/kube-rbac-proxy/app/options/proxyoptions.go Outdated Show resolved Hide resolved
cmd/kube-rbac-proxy/app/options/proxyoptions.go Outdated Show resolved Hide resolved
cmd/kube-rbac-proxy/app/options/proxyoptions.go Outdated Show resolved Hide resolved
cmd/kube-rbac-proxy/app/options/proxyoptions.go Outdated Show resolved Hide resolved
@ibihim ibihim force-pushed the secure-connection branch 6 times, most recently from e17c428 to c92ca86 Compare March 18, 2024 11:54
@ibihim ibihim force-pushed the secure-connection branch 2 times, most recently from 3f3821b to 527be50 Compare March 25, 2024 15:01
@ibihim ibihim force-pushed the secure-connection branch 2 times, most recently from 2fd1f14 to e1d365c Compare April 3, 2024 10:16
Makefile Show resolved Hide resolved
h2c must happen on a loopback connection as the connection is not using TLS at
all.
identity headers must use a loopback connection or a mTLS conection is
required. Trust in both directions is important. kube-rbac-proxy needs
to provide certs, such that upstream can verify the authenticity of the
headers. upstream needs certs, such that we can be sure to not leak
secrets.
@ibihim ibihim merged commit 60234c7 into brancz:sig-auth-acceptance Apr 8, 2024
7 checks passed
@ibihim ibihim deleted the secure-connection branch April 8, 2024 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants