From 8c889e95920e32729a074fee32a33f0744f509af Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Wed, 17 Mar 2021 19:59:59 +0100 Subject: [PATCH] certs: document new ACME implementation, move to configuration section Based on the documentation of PVE. Signed-off-by: Thomas Lamprecht --- images/screenshot/pmg-gui-acme-add-domain.png | Bin 0 -> 13541 bytes .../pmg-gui-acme-create-account.png | Bin 0 -> 21130 bytes .../pmg-gui-acme-create-challenge-plugin.png | Bin 0 -> 26195 bytes .../pmg-gui-certs-upload-custom.png | Bin 0 -> 37292 bytes pmg-admin-guide.adoc | 4 - pmg-ssl-certificate.adoc | 237 ++++++++++++++++-- pmgconfig.adoc | 2 + 7 files changed, 224 insertions(+), 19 deletions(-) create mode 100644 images/screenshot/pmg-gui-acme-add-domain.png create mode 100644 images/screenshot/pmg-gui-acme-create-account.png create mode 100644 images/screenshot/pmg-gui-acme-create-challenge-plugin.png create mode 100644 images/screenshot/pmg-gui-certs-upload-custom.png diff --git a/images/screenshot/pmg-gui-acme-add-domain.png b/images/screenshot/pmg-gui-acme-add-domain.png new file mode 100644 index 0000000000000000000000000000000000000000..3255e2e84c9914b292b4cbb91479c295d69b3c6c GIT binary patch literal 13541 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 T^jssP5kOj8L99x|!2kaMm0%1R literal 0 HcmV?d00001 diff --git a/images/screenshot/pmg-gui-acme-create-account.png b/images/screenshot/pmg-gui-acme-create-account.png new file mode 100644 index 0000000000000000000000000000000000000000..bd20b0ee82e4d92255a048c0bd3f14d350ae4582 GIT binary patch literal 21130 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 literal 0 HcmV?d00001 diff --git a/images/screenshot/pmg-gui-acme-create-challenge-plugin.png b/images/screenshot/pmg-gui-acme-create-challenge-plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..7a58ece911576d4aff4ea115a8bdba1c1cedbef0 GIT binary patch literal 26195 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 J!i4qx{|)JoreOd8 literal 0 HcmV?d00001 diff --git a/images/screenshot/pmg-gui-certs-upload-custom.png b/images/screenshot/pmg-gui-certs-upload-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..37eef2e49270f8a753ddab60642243fc6e94c8d7 GIT binary patch literal 37292 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 ACME Accounts` or using the `pmgconfig` command line tool. +---- + pmgconfig acme account register +---- + +TIP: Because of https://letsencrypt.org/docs/rate-limits/[rate-limits] you +should use LE `staging` for experiments or if you use ACME for the very first +time until all is working there, and only then switch over to the production +directory. + +[[sysadmin_certs_acme_plugins]] +ACME Plugins +^^^^^^^^^^^^ + +The ACME plugins task is to provide automatic verification that you, and thus +the {pmg} cluster under your operation, are the real owner of a domain. This is +the basis building block for automatic certificate management. + +The ACME protocol specifies different types of challenges, for example the +`http-01` where a webserver provides a file with a certain value to prove that +it controls a domain. Sometimes this isn't possible, either because of +technical limitations or if the address a domain points to is not reachable +from the public internet. For such cases, one could use the `dns-01` challenge. +This challenge also provides a certain value, but through a DNS record on the +authority name server of the domain, rather than over a text file. + +[thumbnail="pmg-gui-acme-create-challenge-plugin.png"] + +{pve} supports both of those challenge types out of the box, you can configure +plugins either over the web interface under `Datacenter -> ACME`, or using the +`pvenode acme plugin add` command. + +ACME Plugin configurations are stored in `/etc/pve/priv/acme/plugins.cfg`. +A plugin is available for all nodes in the cluster. + +Domains +^^^^^^^ + +You can add new or manage existing domain entries under `Certificates`, or +using the `pmgconfig` command. + +[thumbnail="pmg-gui-acme-add-domain.png"] + +After configuring the desired domain(s) for a node and ensuring that the +desired ACME account is selected, you can order your new certificate over the +web-interface. On success the interface will reload after circa 10 seconds. + +Renewal will happen xref:sysadmin_certs_acme_automatic_renewal[automatically]. + +[[sysadmin_certs_acme_http_challenge]] +ACME HTTP Challenge Plugin +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +There is always an implicitly configured `standalone` plugin for validating +`http-01` challenges via the built-in webserver spawned on port 80. + +NOTE: The name `standalone` means that it can provide the validation on it's +own, without any third party service. So, this plugin works also for cluster +nodes. + +There are a few prerequisites to use it for certificate management with Let's +Encrypts ACME. + +* You have to accept the ToS of Let's Encrypt to register an account. +* **Port 80** of the node needs to be reachable from the internet. +* There **must** be no other listener on port 80. +* The requested (sub)domain needs to resolve to a public IP of the {pmg} host. + + +[[sysadmin_certs_acme_dns_challenge]] +ACME DNS API Challenge Plugin +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +On systems where external access for validation via the `http-01` method is +not possible or desired, it is possible to use the `dns-01` validation method. +This validation method requires a DNS server that allows provisioning of `TXT` +records via an API. + +[[sysadmin_certs_acme_dns_api_config]] +Configuring ACME DNS APIs for validation +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +{PVE} re-uses the DNS plugins developed for the `acme.sh` +footnote:[acme.sh https://github.com/acmesh-official/acme.sh] +project, please refer to its documentation for details on configuration of +specific APIs. + +The easiest way to configure a new plugin with the DNS API is using the web +interface (`Certificates -> ACME Accounts/Challenges`). + +[thumbnail="pmg-gui-acme-create-challenge-plugin.png"] + +Add a new challenge plugin, here you can select your API provider, enter the +credential data to access your account over their API. + +TIP: See the acme.sh +https://github.com/acmesh-official/acme.sh/wiki/dnsapi#how-to-use-dns-api[How to use DNS API] +wiki for more detailed information about getting API credentials for your +provider. Configuration values do not need to be quoted with single or double +quotes, for some plugins that is even an error. + +As there are many DNS providers and API endpoints {pmg} autogenerates the form +for the credentials, but not all providers are annotated yet. For those you +will see a bigger text area, simply copy all the credentials `KEY`=`VALUE` +pairs in there. + +DNS Validation through CNAME Alias +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +A special `alias` mode can be used to handle the validation on a different +domain/DNS server, in case your primary/real DNS does not support provisioning +via an API. Manually set up a permanent `CNAME` record for +`_acme-challenge.domain1.example` pointing to `_acme-challenge.domain2.example` +and set the `alias` property in the {pmg} node configuration file +`/etc/pmg/node.conf` to `domain2.example` to allow the DNS server of +`domain2.example` to validate all challenges for `domain1.example`. + + +Combination of Plugins +^^^^^^^^^^^^^^^^^^^^^^ + +Combining `http-01` and `dns-01` validation is possible in case your node is +reachable via multiple domains with different requirements / DNS provisioning +capabilities. Mixing DNS APIs from multiple providers or instances is also +possible by specifying different plugin instances per domain. + +TIP: Accessing the same service over multiple domains increases complexity and +should be avoided if possible. + +[[sysadmin_certs_acme_automatic_renewal]] +Automatic renewal of ACME certificates +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If a node has been successfully configured with an ACME-provided certificate +(either via pmgconfig or via the web-interface/API), the certificate will be +automatically renewed by the `pmg-daily.service`. Currently, renewal is +triggered if the certificate either already expired or if it will expire in the +next 30 days. + +Manually Change Certificate over Command-Line +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you want to get rid of these warnings, you have to generate a valid certificate for your server. @@ -49,21 +255,22 @@ systemctl restart pmgproxy Test your new certificate by using your browser. -NOTE: To transfer files from and to your {pmg}, you can use secure -copy: If you desktop is Linux, you can use the `scp` command line -tool. If your desktop PC is windows, please use a scp client like -WinSCP (see https://winscp.net/). - +NOTE: To transfer files from and to your {pmg}, you can use secure copy: If you +desktop is Linux, you can use the `scp` command line tool. If your desktop PC +is windows, please use a scp client like WinSCP (see https://winscp.net/). Change Certificate for Cluster Setups ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -If you change the API certificate of an active cluster node, you also -need to update the fingerprint inside the cluster configuration file -`cluster.conf`. It is best to edit that file on the master node. +If you change the API certificate of an active cluster node manually, you also +need to update the pinned fingerprint inside the cluster configuration. -To show the actual fingerprint use: +You can do that by executing the following command on the host where the +certificate changed: ---- -openssl x509 -in /etc/pmg/pmg-api.pem -noout -fingerprint -sha256 +pmgcm update-fingerprints ---- + +Note, this will be done automatically if using the integrated ACME (for +example, through Let's Encrypt) feature. diff --git a/pmgconfig.adoc b/pmgconfig.adoc index 8697b3b..d43d5af 100644 --- a/pmgconfig.adoc +++ b/pmgconfig.adoc @@ -288,6 +288,8 @@ using the following configuration keys: include::pmg.admin-conf-opts.adoc[] +include::pmg-ssl-certificate.adoc[] + Mail Proxy Configuration ------------------------