From 8dd4c724b6036ac0af867a9fdfaf28968598048e Mon Sep 17 00:00:00 2001 From: Jared Kobos Date: Mon, 26 Feb 2018 18:03:21 -0500 Subject: [PATCH 1/3] Draft of updated ssl guide --- docs/assets/lets-encrypt-agree-tos-prompt.png | Bin 19111 -> 0 bytes .../lets-encrypt-recovery-email-prompt.png | Bin 12025 -> 0 bytes ...lets-encrypt-to-create-ssl-certificates.md | 150 +++++++++--------- 3 files changed, 72 insertions(+), 78 deletions(-) delete mode 100644 docs/assets/lets-encrypt-agree-tos-prompt.png delete mode 100644 docs/assets/lets-encrypt-recovery-email-prompt.png diff --git a/docs/assets/lets-encrypt-agree-tos-prompt.png b/docs/assets/lets-encrypt-agree-tos-prompt.png deleted file mode 100644 index 79d12985350e01bcc7032c5a7504c8e6bd394723..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19111 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 A4*&oF diff --git a/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md b/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md index 443e36d680f..1d2f5ac75ca 100644 --- a/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md +++ b/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md @@ -6,7 +6,7 @@ description: "Let's Encrypt is an SSL certificate authority managed by the Inter keywords: "ACME,HTTPS,Let's Encrypt,SSL,SSL certificates" license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' published: 2016-02-25 -modified: 2016-09-29 +modified: 2018-02-26 modified_by: name: 'Linode' title: "Install Let's Encrypt to Create SSL Certificates" @@ -80,70 +80,68 @@ Let's Encrypt automatically performs Domain Validation (DV) using a series of *c Let's Encrypt **does not** deploy wildcard certificates. Each subdomain requires its own certificate. {{< /note >}} -2. Specify an administrative email address. This will allow you to regain control of a lost certificate and receive urgent security notices if necessary. Press **TAB** followed by **ENTER** or **RETURN** to save. +2. When prompted, specify an administrative email address. This will allow you to regain control of a lost certificate and receive urgent security notices if necessary. Press **ENTER** or **RETURN** to save. - ![Let's Encrypt admin email prompt](/docs/assets/lets-encrypt-recovery-email-prompt.png) +3. Agree to the Terms of Service and specify if you would like to share your email address with EFF: -3. Agree to the Terms of Service. - - ![Let's Encrypt Terms of Service prompt](/docs/assets/lets-encrypt-agree-tos-prompt.png) + {{< output >}} +------------------------------------------------------------------------------- +Please read the Terms of Service at +https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must +agree in order to register with the ACME server at +https://acme-v01.api.letsencrypt.org/directory +------------------------------------------------------------------------------- +(A)gree/(C)ancel: a + +------------------------------------------------------------------------------- +Would you be willing to share your email address with the Electronic Frontier +Foundation, a founding partner of the Let's Encrypt project and the non-profit +organization that develops Certbot? We'd like to send you email about EFF and +our work to encrypt the web, protect its users and defend digital rights. +------------------------------------------------------------------------------- +(Y)es/(N)o: n +{{< /output >}} 4. If all goes well, a message similar to the one below will appear. Its appearance means Let's Encrypt has approved and issued your certificates. - IMPORTANT NOTES: - - If you lose your account credentials, you can recover them through - e-mails sent to somebody@example.com. - - Congratulations! Your certificate and chain have been saved at - /etc/letsencrypt/live/example.com/fullchain.pem. Your - cert will expire on 2016-03-31. To obtain a new version of the - certificate in the future, simply run Let's Encrypt again. - - Your account credentials have been saved in your Let's Encrypt - configuration directory at /etc/letsencrypt. You should make a - secure backup of this folder now. This configuration directory will - also contain certificates and private keys obtained by Let's - Encrypt, so making regular backups of this folder is ideal. - - If you like Let's Encrypt, please consider supporting our work by + {{< output >}} +IMPORTANT NOTES: + - Congratulations! Your certificate and chain have been saved at: + /etc/letsencrypt/live/example.com/fullchain.pem + Your key file has been saved at: + /etc/letsencrypt/live/example.com/privkey.pem + Your cert will expire on 2018-05-27. To obtain a new or tweaked + version of this certificate in the future, simply run + letsencrypt-auto again. To non-interactively renew *all* of your + certificates, run "letsencrypt-auto renew" + - If you like Certbot, please consider supporting our work by: - Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate - Donating to EFF: https://eff.org/donate-le + Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate + Donating to EFF: https://eff.org/donate-le +{{< /output >}} -### Let's Encrypt Certificate Directory Structure +### Check Certificate Domains -1. List the `/etc/letsencrypt/live` directory: +1. The output of the Let's Encrypt script shows where your certificate is stored; in this case, `/etc/letsencrypt/live`: sudo ls /etc/letsencrypt/live -2. Each domain name you specified in [Step 1](#create-an-ssl-certificate) of the **Create an SSL Certificate** section has its own directory. List any of these domain name directories: - - sudo ls /etc/letsencrypt/live/example.com - - Output: - - cert.pem - chain.pem - fullchain.pem - privkey.pem - -3. Each key (`.pem`) file serves a different purpose: - - * **cert.pem**: server certificate only. - * **chain.pem**: root and intermediate certificates only. - * **fullchain.pem**: combination of server, root and intermediate certificates (replaces `cert.pem` and `chain.pem`). - * **privkey.pem**: private key (do **not** share this with anyone!). - - Let's Encrypt issues certificates from intermediate certificate authorities. Intermediate certificates have been cross-signed by [Identrust](https://www.identrust.com/), which ensures compatibility between the end certificate and all major browsers. Refer to Let's Encrypt's [certificates](https://letsencrypt.org/certificates/) page for more information. - -4. For good measure, display the file status of `fullchain.pem`: - - sudo stat /etc/letsencrypt/live/example.com/fullchain.pem - - Output excerpt: + {{< output >}} +example.com +{{< /output >}} - File: ‘live/example.com/cert.pem’ -> ‘../../archive/example.com/cert1.pem’ +2. All of the domains you specified above will be covered under this single certificate. This can be verified as follows: - Notice how this file points to a different file, as do all four of the files listed in Step 3. They are *symbolic links* to the actual certificate files located in the `/etc/letsencrypt/archive` directory. + ./certbot-auto certificates -5. If you forget to renew a domain name's certificate, Let's Encrypt will remove its directory (and symbolic links) from `/etc/letsencrypt/live`. However, the directory (and symbolic links) will be retained in the `/etc/letsencrypt/archive` and `/etc/letsencrypt/keys` directories for your future reference. + {{< output >}} +Found the following certs: + Certificate Name: example.com + Domains: example.com www.example.com + Expiry Date: 2018-05-27 20:49:02+00:00 (VALID: 89 days) + Certificate Path: /etc/letsencrypt/live/example.com/fullchain.pem + Private Key Path: /etc/letsencrypt/live/example.com/privkey.pem +{{< /output >}} ## Maintenance @@ -160,48 +158,44 @@ Let's Encrypt **does not** deploy wildcard certificates. Each subdomain requires 3. After a few moments, a confirmation similar to the one below should appear: {{< output >}} - IMPORTANT NOTES: - - Congratulations! Your certificate and chain have been saved at - /etc/letsencrypt/live/example.com/fullchain.pem. Your - cert will expire on 2016-03-31. To obtain a new version of the - certificate in the future, simply run Let's Encrypt again. - - If you like Let's Encrypt, please consider supporting our work by: - - Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate - Donating to EFF: https://eff.org/donate-le +IMPORTANT NOTES: + - Congratulations! Your certificate and chain have been saved at: + /etc/letsencrypt/live/example.com/fullchain.pem + Your key file has been saved at: + /etc/letsencrypt/live/example.com/privkey.pem + Your cert will expire on 2018-05-27. To obtain a new or tweaked + version of this certificate in the future, simply run + letsencrypt-auto again. To non-interactively renew *all* of your + certificates, run "letsencrypt-auto renew" + - If you like Certbot, please consider supporting our work by: + + Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate + Donating to EFF: https://eff.org/donate-le {{< /output >}} Let's Encrypt has refreshed the lifespan of your certificates; in this example, March 31st, 2016 is the new expiration date. {{< note >}} -Let's Encrypt certificates have a 90-day lifespan before they expire. [According to Let's Encrypt](https://letsencrypt.org/2015/11/09/why-90-days.html), this encourages automation and minimizes damage from key compromises. You can renew your certificates anytime during their lifespan. +Let's Encrypt certificates have a 90-day lifespan. [According to Let's Encrypt](https://letsencrypt.org/2015/11/09/why-90-days.html), this encourages automation and minimizes damage from key compromises. You can renew your certificates at any time during their lifespan. {{< /note >}} ### Automatically Renew SSL Certificates (Optional) -We also recommend automating your certificate renewal since it can be easy to lose track of expiration dates, especially if you have them for several different domains. This will prevent your certificates from expiring, and can be accomplished with `cron`. - -1. Before we execute the following command, let's break it down and make some modifications: +You can also automate your certificate renewal. This will prevent your certificates from expiring, and can be accomplished with `cron`. - echo '@monthly root /opt/letsencrypt/letsencrypt-auto certonly --quiet --standalone --renew-by-default -d example.com -d www.example.com >> /var/log/letsencrypt/letsencrypt-auto-update.log' | sudo tee --append /etc/crontab +1. The output of the previous command shows how to non-interactively renew all of your certificates: - * **@monthly**: for simplicity, this command will execute at midnight on the first day of every month - * **root**: run the command as the **root** user - * **/opt/letsencrypt/letsencrypt-auto certonly --quiet --standalone --renew-by-default -d example.com -d www.example.com**: `letsencrypt-auto` renewal command. Again, add `-d example.com` for each domain name you need to renew - * **>> /var/log/letsencrypt/letsencrypt-auto-update.log**: record the *standard output* and *standard error* to a log file named `letsencrypt-auto-update.log` - * **tee --append /etc/crontab**: save the new cron job to the `/etc/crontab` file + ./letsencrypt-auto renew - The above settings will be effective in most cases, but for more information about available cron job options, refer to the [Ubuntu Community Cron How-to](https://help.ubuntu.com/community/CronHowto) or the [CentOS Cron Documentation](https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-autotasks-cron-configuring.html). +2. Set this task to run automatically once per month using a cron job: - {{< note >}} -The automatic renewal process requires access to port `443`, which would most likely be bound to your web server. You can configure your cron tasks to temporarily stop the web server, or use one of several methods documented [here](https://letsencrypt.readthedocs.io/en/latest/using.html#webroot). -{{< /note >}} + crontab -e -2. Execute your modified command to add the cron job to your Linode. + Add the following line to the end of the crontab file: -{{< caution >}} -Once Let's Encrypt supports auto-renewal natively, open the `/etc/crontab` file and manually remove this entry to avoid future renewal conflicts. -{{< /caution >}} + {{< file-excerpt "crontab" >}} +0 0 1 * * /opt/letsencrypt/letsencrypt-auto renew +{{< /crontab >}} ### Update Let's Encrypt From 460a971faaebe1c7e7397454cf58c1bee0cd80b6 Mon Sep 17 00:00:00 2001 From: Jared Kobos Date: Tue, 27 Feb 2018 09:48:55 -0500 Subject: [PATCH 2/3] Update Lets Encrypt guide --- ...lets-encrypt-to-create-ssl-certificates.md | 39 +++++++------------ 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md b/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md index 1d2f5ac75ca..616e89a72c9 100644 --- a/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md +++ b/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md @@ -3,31 +3,24 @@ author: name: 'Linode Community' email: 'docs@linode.com' description: "Let's Encrypt is an SSL certificate authority managed by the Internet Security Research Group. It utilizes the Automated Certificate Management Environment to automatically deploy browser-trusted SSL certificates to anyone for free." -keywords: "ACME,HTTPS,Let's Encrypt,SSL,SSL certificates" +keywords: ['ACME','HTTPS','Let\'s Encrypt','SSL','SSL certificates', 'renew certificate'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' published: 2016-02-25 -modified: 2018-02-26 +modified: 2018-02-27 modified_by: name: 'Linode' title: "Install Let's Encrypt to Create SSL Certificates" contributor: name: 'Sean Webber' link: 'https://github.com/seanthewebber' - external_resources: - "[Let's Encrypt Homepage](https://letsencrypt.org/)" +external_resources: + - "[Let's Encrypt Homepage](https://letsencrypt.org/)" --- ![Let's Encrypt](/docs/assets/Install_Lets_Encrypt_to_Create_SSL_Certificates_smg.jpg) [Let's Encrypt](https://letsencrypt.org/) is an SSL certificate authority managed by the Internet Security Research Group (ISRG). It utilizes the [Automated Certificate Management Environment](https://github.com/ietf-wg-acme/acme/) (ACME) to automatically deploy free SSL certificates that are trusted by nearly all major browsers. -This tutorial will cover the following: - -* Installing the Let's Encrypt ACME client. -* Obtaining Let's Encrypt certificates. -* Required attention and maintenance. -* Technical details about Let's Encrypt and certificates issued by it. - ## Before you Begin 1. Familiarize yourself with our [Getting Started](/docs/getting-started) guide and complete the steps for setting your Linode's hostname and timezone. @@ -42,7 +35,7 @@ This tutorial will cover the following: **Debian / Ubuntu** - sudo apt-get update && sudo apt-get upgrade + sudo apt update && sudo apt upgrade {{< note >}} This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/docs/tools-reference/linux-users-and-groups) guide. @@ -181,7 +174,7 @@ Let's Encrypt certificates have a 90-day lifespan. [According to Let's Encrypt]( ### Automatically Renew SSL Certificates (Optional) -You can also automate your certificate renewal. This will prevent your certificates from expiring, and can be accomplished with `cron`. +You can also automate certificate renewal. This will prevent your certificates from expiring, and can be accomplished with `cron`. 1. The output of the previous command shows how to non-interactively renew all of your certificates: @@ -189,13 +182,13 @@ You can also automate your certificate renewal. This will prevent your certifica 2. Set this task to run automatically once per month using a cron job: - crontab -e + sudo crontab -e Add the following line to the end of the crontab file: {{< file-excerpt "crontab" >}} 0 0 1 * * /opt/letsencrypt/letsencrypt-auto renew -{{< /crontab >}} +{{< /file-excerpt >}} ### Update Let's Encrypt @@ -209,16 +202,10 @@ You can also automate your certificate renewal. This will prevent your certifica ### Automatically Update Let's Encrypt (Optional) -You can also use `cron` to keep the `letsencrypt-auto` client up to date. The `@weekly` parameter will issue a `git pull` command in the `/opt/letsencrypt` directory every Sunday at midnight. - - echo '@weekly root cd /opt/letsencrypt && git pull >> /var/log/letsencrypt/letsencrypt-auto-update.log' | sudo tee --append /etc/crontab - -To change the update frequency, choose a different parameter, for example, `@hourly`, `@daily`, or `@monthly`. - -## Conclusion +You can also use `cron` to keep the `letsencrypt-auto` client up to date. -Now that you have installed Let's Encrypt and obtained your free SSL certificates, you can configure any package that supports commercial or self-signed SSL certificates to use them. + sudo crontab -e -- [Email with Postfix, Dovecot, and MySQL](https://www.linode.com/docs/email/postfix/email-with-postfix-dovecot-and-mysql) -- [How to Provide Encrypted Access to Resources Using SSL Certificates on Nginx](https://www.linode.com/docs/security/ssl/how-to-provide-encrypted-access-to-resources-using-ssl-certificated-on-nginx) -- [SSL Certificates with Apache on Debian & Ubuntu](https://www.linode.com/docs/security/ssl/ssl-apache2-debian-ubuntu) + {{< file-excerpt "crontab" >}} +0 0 1 * * cd /opt/letsencrypt && git pull +{{< /file-excerpt >}} From 8af056c26b11a123dd60a71fd2da4fd094c6fe08 Mon Sep 17 00:00:00 2001 From: Jared Kobos Date: Tue, 27 Feb 2018 09:59:38 -0500 Subject: [PATCH 3/3] Fix yaml header error in Let's Encrypt guide --- .../ssl/install-lets-encrypt-to-create-ssl-certificates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md b/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md index 616e89a72c9..8d408d85202 100644 --- a/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md +++ b/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates.md @@ -3,7 +3,7 @@ author: name: 'Linode Community' email: 'docs@linode.com' description: "Let's Encrypt is an SSL certificate authority managed by the Internet Security Research Group. It utilizes the Automated Certificate Management Environment to automatically deploy browser-trusted SSL certificates to anyone for free." -keywords: ['ACME','HTTPS','Let\'s Encrypt','SSL','SSL certificates', 'renew certificate'] +keywords: ['ACME','HTTPS',"Let's Encrypt",'SSL','SSL certificates', 'renew certificate'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' published: 2016-02-25 modified: 2018-02-27