influxdata / influxdata/influxdb
Add option to specify CA for self-signed certificate
- Dominant language
- Rust
- Stars
- 31.7k
- Forks
- 3.7k
- Avg merge
- 13h 37m
- Merged PRs (30d)
- 8
Description
This feature request is primarily related to InfluxDB Enterprise.
__Proposal:__
Current setting allow encrypting traffic between InfluxDB nodes with self-signed certificates only with `https-insecure-tls = true`.
It would be nice to add a parameter which allows specifying path to a CA file, so the node's certificate is validated with that CA.
__Current behavior:__
According to the documentation, you need to set `https-insecure-tls` to `true`. With that parameter, self-signed certificates work.
__Desired behavior:__
Introduce a parameter which allows specifying path to CA certificate. For example, `https-ca`.
```
[meta]
[...]
https-enabled = true
https-certificate = "influxdb-meta.crt"
https-private-key = "influxdb-meta.key"
https-ca = "influxdb-ca.crt"
https-insecure-tls = false
```
This parameter needs to be introduced for InfluxDB data and meta nodes' config.
__Alternatives considered:__
CA which issued self-signed certificates can be added to VM's CA bundle, but it's a bit inconvenient.
__Use case:__
Encrypting internal traffic with self-signed certificates is a quite common practice, so allowing to encrypt the traffic in a more secure way would be a good security improvement.
Contributor guide
Research direction
No files or tests are named. Start by tracing HTTPS configuration for InfluxDB data and meta nodes, then determine how certificate validation currently handles https-insecure-tls. Done means both node types accept the proposed CA path and validate self-signed certificates without requiring insecure TLS.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- databases, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100