-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
[NET-1151 NET-11228] security: Add request normalization and header match options to prevent L7 intentions bypass #21816
[NET-1151 NET-11228] security: Add request normalization and header match options to prevent L7 intentions bypass #21816
Conversation
b844f93
to
7f5b4db
Compare
7f5b4db
to
947d789
Compare
Fixed whitespace causing issues w/ docs mesh config entry render, and incorrect copilot-ed defaults I missed in the last two entries. |
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.
Awesome work, LGTM! 🙌 Only 2 suggestions for the changelogs.
b62f0fa
to
650ad8a
Compare
Rebased and squashed for merge |
650ad8a
to
810ba95
Compare
Fixed minor docs misalignment from docs PR -> api/agent structs |
…atch options to prevent L7 intentions bypass (#21816) mesh: add options for HTTP incoming request normalization Expose global mesh configuration to enforce inbound HTTP request normalization on mesh traffic via Envoy xDS config. mesh: enable inbound URL path normalization by default mesh: add support for L7 header match contains and ignore_case Enable partial string and case-insensitive matching in L7 intentions header match rules. ui: support L7 header match contains and ignore_case Co-authored-by: Phil Renaud <phil@riotindustries.com> test: add request normalization integration bats tests Add both "positive" and "negative" test suites, showing normalization in action as well as expected results when it is not enabled, for the same set of test cases. Also add some alternative service container test helpers for verifying raw HTTP request paths, which is difficult to do with Fortio. docs: update security and reference docs for L7 intentions bypass prevention - Update security docs with best practices for service intentions configuration - Update configuration entry references for mesh and intentions to reflect new values and add guidance on usage
…atch options to prevent L7 intentions bypass (#21816) mesh: add options for HTTP incoming request normalization Expose global mesh configuration to enforce inbound HTTP request normalization on mesh traffic via Envoy xDS config. mesh: enable inbound URL path normalization by default mesh: add support for L7 header match contains and ignore_case Enable partial string and case-insensitive matching in L7 intentions header match rules. ui: support L7 header match contains and ignore_case Co-authored-by: Phil Renaud <phil@riotindustries.com> test: add request normalization integration bats tests Add both "positive" and "negative" test suites, showing normalization in action as well as expected results when it is not enabled, for the same set of test cases. Also add some alternative service container test helpers for verifying raw HTTP request paths, which is difficult to do with Fortio. docs: update security and reference docs for L7 intentions bypass prevention - Update security docs with best practices for service intentions configuration - Update configuration entry references for mesh and intentions to reflect new values and add guidance on usage
Description
This PR brings in all previously reviewed changes from the
zalimeni/feature/net-1151-l7-intentions-security-fixes
feature branch intomain
and release branches. All changes were previously approved as part of Enterprise reviews except for the changelog added in this PR.Changes include:
I'll squash and rebase these commits prior to merge to make backports more manageable.
Once this PR is merged, I'll cut
api
across active release branches, which will allow for hashicorp/consul-k8s#4385 to be updated and merged as well, completing the cross-repo changeset.Testing & Reproduction steps
See previous PRs for testing details. All unit and integration tests are expected to pass.
PR Checklist