Skip to content

[FEATURE] preserving original client identity in certificate based authentication where a load balancer does initial SSL handshake #6268

Description

@asifabashar

Is your feature request related to a problem?
Where there a load balancer that itself does mTLS authentication, it forwards the request to opensearch where client is load balancer and actual client cert is no longer performing mtls , it is the load balancer that is doing cleint authentication with opensearch cluster.

What solution would you like?
To preserve identity of the original client, we can have first opensearch do client authentication validation with load balancer certificate through TLS handshake and then load balancer can store the original client certificate in header as URL encoded value in header field x-client-cert. The load balancer will connect to opensearch cluster and forward the request with original client cert in header so that opensearch cluster is assume correct identity of the original client. The load balancer has to be trusted by the opensearch so that i can trust its header so load balancer certificate will be validated at every request by opensearch using its standard certficate based authentication.
It will be controlled by flag settings where by default this feature will be disabled.

What alternatives have you considered?
A clear and concise description of any alternative solutions or features you've considered.

Do you have any additional context?
Many environments use load balancers in the infrastructure and kubernetes deployments also use load balancers also in general in most cases.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttriagedIssues labeled as 'Triaged' have been reviewed and are deemed actionable.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions