Skip to content

Commit a1d2106

Browse files
committed
validation mode
1 parent 5cf5c4e commit a1d2106

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

apis/v1/gateway_types.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -717,10 +717,14 @@ type FrontendValidationModeType string
717717
const (
718718
// AllowValidOnly indicates that a client certificate is required
719719
// during the TLS handshake and MUST pass validation.
720+
//
721+
// Support: Core
720722
AllowValidOnly FrontendValidationModeType = "AllowValidOnly"
721723

722724
// AllowInsecureFallback indicates that a client certificate may not be
723725
// presented during the handshake or the validation against CA certificates may fail.
726+
//
727+
// Support: Extended
724728
AllowInsecureFallback FrontendValidationModeType = "AllowInsecureFallback"
725729
)
726730

@@ -1061,6 +1065,13 @@ const (
10611065
// information on which address is causing the problem and how to resolve it
10621066
// in the condition message.
10631067
GatewayReasonAddressNotUsable GatewayConditionReason = "AddressNotUsable"
1068+
// This condition indicates `FrontendValidationModeType` changed from
1069+
// `AllowValidOnly` to `AllowInsecureFallback`.
1070+
GatewayConditionInsecureFrontendValidationMode GatewayConditionReason = "InsecureFrontendValidationMode"
1071+
// This reason MUST be set for GatewayConditionInsecureFrontendValidationMode
1072+
// when client change FrontendValidationModeType for a Gateway or per port override
1073+
// to `AllowInsecureFallback`.
1074+
GatewayReasonConfigurationChanged GatewayConditionReason = "ConfigurationChanged"
10641075
)
10651076

10661077
const (

geps/gep-91/index.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,13 @@ This proposal adds the ability to validate the TLS certificate presented by the
3232
These two validation mechanisms operate independently and can be used simultaneously.
3333
* Introduce a `caCertificateRefs` field within `FrontendTLSValidation` that can be used to specify a list of CA Certificates that can be used as a trust anchor to validate the certificates presented by the client.
3434
* Add a new `FrontendValidationModeType` enum within `FrontendTLSValidation` indicating how gateway should validate client certificates. As for now we support following values but it might change in the future:
35-
1) `AllowValidOnly`
36-
2) `AllowInsecureFallback`
35+
1) `AllowValidOnly` (Core Support)
36+
2) `AllowInsecureFallback` (Extended Support)
37+
38+
AllowInsecureFallback mode indicates the gateway will accept connections even if the client certificate is not presented or fails verification.
39+
This approach delegates client authorization to the backend and introduce a significant security risk. It should be used in testing environments or
40+
on a temporary basis in non-testing environments.
41+
When `FrontendValidationModeType` is changed from `AllowValidOnly` to `AllowInsecureFallback` the `InsecureFrontendValidationMode` condition MUST be set to True with Reason `ConfigurationChanged` on gateway.
3742
* Introduce a `ObjectReference` structure that can be used to specify `caCertificateRefs` references.
3843
* Introduce a `tls` field within the Gateway Spec to allow for a common TLS configuration to apply across all listeners.
3944

0 commit comments

Comments
 (0)