-
Notifications
You must be signed in to change notification settings - Fork 340
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
Set internal_address_config
on HttpConnectionManager explicitly
#12190
Comments
|
This configuration can be a zone CP configuration since it can differ from zone to zone. |
Larger enterprises have clusters with complicated networking. Some of them have very customized IP address pool. It's quite possible that they have multiple internal clusters that have different IP CIDRs and not compliant to the RFCs. |
Sounds like we need a new CP configuration to add the internal address pool. |
Adding this setting as a value in Proxy is likely the best. This can be passed from the settings in there: kuma/pkg/xds/sync/components.go Line 18 in 3ea4292
|
We are using Envoy |
The isInternalRequest is used to check if a request is originated from an internal client, so it's not necessary to include these Mesh*Service CIDRs since they are only used as destinations. Envoy attaches a set of request headers when forwarding requests to the upstream. It removes "internal only headers" from requests originated from external clients, so that, in this case, the upstream server only receives trusted/sanitized headers. |
…2986) ## Motivation add internal address config onto HttpConnectionManager, more details are available in issue #12190 ## Implementation information introducing a new configuration item `ipam.knownInternalCIDRs` on zonal CP to allow users specify their known internal address pool and we assign these values when generating Envoy config for HttpConnectionManager ## Supporting documentation <!-- Is there a MADR? An Issue? A related PR? --> fixes #12190 <!-- > Changelog: skip --> <!-- Uncomment the above section to explicitly set a [`> Changelog:` entry here](https://github.com/kumahq/kuma/blob/master/CONTRIBUTING.md#submitting-a-patch)? --> --------- Signed-off-by: Jay Chen <[email protected]>
Description
Envoy is warning when HCM does not have explicit
internal_address_config
set and it will not consider any IP address as internal in a future release, so we need to adapte to this change before our next Envoy version bump.This is considered a feature because it did not impact our existing versions.
Reproduce steps
Actual result
A warning shows up:
Expected result
No warning.
More information
As the warning states, the HCM recognized IP addresses defined in RFC1918 as internal by default, and this will be changed in a newer release. This will impact the behaviour of logging and header santination of Envoy.
This behaviour can be controlled by Envoy runtime feature flag
envoy.reloadable_features.explicit_internal_address_config
This feature flag defaults to
false
in all existing Envoy versions (1.29.11, 1.32.2), but the code has been changed to defaults totrue
on themain
branch.There is a related Envoy CVE:
What is an internal address?
Other projects had fixed/discussed simimar issue:
Envoy implementation
The runtime feature flag: https://github.com/envoyproxy/envoy/blob/a0504e87c5a246cb097b37049b1e4dc7706c2a90/source/common/http/conn_manager_config.h#L194
Default implementation: https://github.com/envoyproxy/envoy/blob/v1.32.2/source/common/network/utility.cc#L272
The text was updated successfully, but these errors were encountered: