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

Add auth-tls-strict configuration key #513

Merged
merged 3 commits into from
Feb 3, 2020
Merged

Conversation

jcmoraisjr
Copy link
Owner

auth-tls-strict allows to build a strict configuration if an invalid auth-tls configuration is provided, either due to misconfiguration or due to asynchronous events that's going to happen and will fix the temporarily broken config.

The strict config is made using a self-generated certificate authority in the ca-file option, which will lead to two desired effects:

  1. A certificate, if provided by the client, will be identified by the server. HAProxy doesn't allow to configure verify optional without a ca-file. If this option wasn't used, we couldn't distinguish between a request with or without a certificate on configs whose crt is optional
  2. The request will always be denied due to invalid certificate authority (when verify-client is on) or when a client certificate is used (when verify-client is optional) because, since the right configuration is broken, there is no way to know if the certificate is a valid one.

Should be applied up to v0.8 due to security reasons.

`auth-tls-strict` allows to build a strict configuration if an invalid auth-tls configuration is provided, either due to misconfiguration or due to asynchronous events that's going to happen and will fix the temporarily broken config.

The strict config is made using a self-generated certificate authority in the `ca-file` option, which will lead to two desired effects:

1. A certificate, if provided by the client, will be identified by the server. HAProxy doesn't allow to configure `verify optional` without a `ca-file`. If this option wasn't used, we couldn't distinguish between a request with or without a certificate on configs whose crt is optional
2. The request will always be denied due to invalid certificate authority (when verify-client is `on`) or when a client certificate is used (when verify-client is `optional`) because, since the right configuration is broken, there is no way to know if the certificate is a valid one.
@jcmoraisjr jcmoraisjr merged commit 883c073 into master Feb 3, 2020
@jcmoraisjr jcmoraisjr deleted the jm-auth-tls-strict branch February 3, 2020 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant