@@ -3227,6 +3227,53 @@ information/pki: Writing certificate to file 'icinga2-satellite1.localdomain.crt
3227
3227
3228
3228
Copy and move these certificates to the respective instances e.g. with SSH/SCP.
3229
3229
3230
+ #### External CA/PKI
3231
+
3232
+ Icinga works best with its own certificates.
3233
+ The commands described above take care of the optimal certificate properties.
3234
+ Also, Icinga renews them periodically at runtime to avoid expiry.
3235
+ But you can also provide your own certificates,
3236
+ just like to any other application which uses TLS.
3237
+
3238
+ !!! warning
3239
+
3240
+ The only serious reasons to generate own certificates are company policies.
3241
+ You are responsible for making Icinga working with your certificates,
3242
+ as well as for [expiry monitoring](10-icinga-template-library.md#plugin-check-command-ssl_cert)
3243
+ and renewal.
3244
+
3245
+ Especially `icinga2 pki` CLI commands do not expect such certificates.
3246
+
3247
+ Also, do not provide your custom CA private key to Icinga 2!
3248
+ Otherwise, it will automatically renew leaf certificates
3249
+ with our hardcoded properties, not your custom ones.
3250
+
3251
+ The CA certificate must be located in ` /var/lib/icinga2/certs/ca.crt ` .
3252
+ The basic requirements for all leaf certificates are:
3253
+
3254
+ * Located in ` /var/lib/icinga2/certs/NODENAME.crt `
3255
+ and ` /var/lib/icinga2/certs/NODENAME.key `
3256
+ * Subject with CN matching the endpoint name
3257
+ * A DNS SAN matching the endpoint name
3258
+
3259
+ Pretty much everything else is limited only by your company policy
3260
+ and the OpenSSL versions your Icinga nodes use. E.g. the following works:
3261
+
3262
+ * Custom key sizes, e.g. 2048 bits
3263
+ * Custom key types, e.g. ECC
3264
+ * Any number of intermediate CAs (but see limitations below)
3265
+ * Multiple trusted root CAs in ` /var/lib/icinga2/certs/ca.crt `
3266
+ * Different root CAs per cluster subtree, as long as each node trusts the
3267
+ certificate issuers of all nodes it's directly connected to
3268
+
3269
+ Intermediate CA restrictions:
3270
+
3271
+ * Each side has to provide its intermediate CAs along with the leaf certificate
3272
+ in ` /var/lib/icinga2/certs/NODENAME.crt ` , ordered from leaf to root.
3273
+ * Intermediate CAs may not be used directly as root CAs. To trust only specific
3274
+ intermediate CAs, cross-sign them with themselves, so that you get equal
3275
+ certificates except that they're self-signed. Use them as root CAs in Icinga.
3276
+
3230
3277
## Automation <a id =" distributed-monitoring-automation " ></a >
3231
3278
3232
3279
These hints should get you started with your own automation tools (Puppet, Ansible, Chef, Salt, etc.)
0 commit comments