@@ -136,42 +136,19 @@ spec:
136136<aside class="warning">
137137<h1>Changes Recommended for Production</h1>
138138
139- The default scaffold to configure the metrics server in `cmd/main.go` uses `TLSOpts` that rely on self-signed certificates
140- (SelfCerts), which are generated automatically. However, self-signed certificates are **not** recommended for production
141- environments as they do not offer the same level of trust and security as certificates issued by a trusted
142- Certificate Authority (CA).
139+ The default scaffold in `cmd/main.go` uses a **controller-runtime feature**
140+ to generate a certificate for securing the metrics server. While convenient
141+ for development and testing, this setup is **not recommended for production**.
143142
144- While self-signed certificates are convenient for development and testing, they are unsuitable for production
145- because they do not establish a chain of trust, making them vulnerable to security threats.
143+ Additionally, review the configuration file at `config/prometheus/monitor.yaml`
144+ to ensure secure integration with Prometheus. If `insecureSkipVerify : true` is
145+ enabled, certificate verification is turned off. **This is not recommended for production**
146+ as it exposes the system to man-in-the-middle attacks, potentially allowing
147+ unauthorized access to metrics data.
146148
147- Furthermore, check the configuration file located at `config/prometheus/monitor.yaml` to
148- ensure secure integration with Prometheus. If the `insecureSkipVerify : true` option is enabled,
149- it means that certificate verification is turned off. This is **not** recommended for production as
150- it poses a significant security risk by making the system vulnerable to man-in-the-middle attacks,
151- where an attacker could intercept and manipulate the communication between Prometheus and the monitored services.
152- This could lead to unauthorized access to metrics data, compromising the integrity and confidentiality of the information.
153-
154- **In both cases, the primary risk is potentially allowing unauthorized access to sensitive metrics data.**
155-
156- # ## Recommended Actions for a Secure Production Setup
157-
158- 1. **Replace Self-Signed Certificates:**
159- - Instead of using `TLSOpts`, configure the `CertDir`, `CertName`, and `KeyName` options to use your own certificates.
160- This ensures that your server communicates using trusted and secure certificates.
161-
162- 2. **Configure Prometheus Monitoring Securely:**
163- - Check and update your Prometheus configuration file (`config/prometheus/monitor.yaml`) to ensure secure settings.
164- - Replace `insecureSkipVerify : true` with the following secure options:
165-
166- ` ` ` yaml
167- caFile: The path to the CA certificate file, e.g., /etc/metrics-certs/ca.crt.
168- certFile: The path to the client certificate file, e.g., /etc/metrics-certs/tls.crt.
169- keyFile: The path to the client key file, e.g., /etc/metrics-certs/tls.key.
170- ` ` `
171-
172- These settings ensure encrypted and authenticated communication between Prometheus and the monitored services, providing a secure monitoring setup.
173149</aside>
174150
151+
175152<aside class="note">
176153<h1>Controller-Runtime Auth/Authz Feature Current Known Limitations and Considerations</h1>
177154
0 commit comments