GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu 20.04 で Let’s Encrypt を使用して Web サイトを保護する方法

暗号化しましょう 無料の SSL/TLS 証明書を提供する非営利の認証局 (CA) です。 Encrypt を使用すると、SSL 証明書を無料でインストールまたは要求できます。 Let’s Encrypt による SSL/TLS 証明書の有効期間は 90 日間で、いつでも無料で更新できます。

このチュートリアルでは、Certbot を使用して、Let’s Encrypt から無料の SSL 証明書を要求または取得します。

Certbot は、Let’s Encrypt の SSL 証明書を管理する Let’s Encrypt クライアントです。タスク、SSL 証明書の取得、更新を自動化できるフル機能の Let’s Encrypt クライアント。

Let’s Encrypt を使用して Web サイトを保護する手順を進めましょう。

1 前提条件

Let’s Encrypt SSL/TLS 証明書は、ドメイン名が登録されているサーバーにのみインストールできます。 Let’s Encrypt は、SSL 証明書の取得を要求するサーバーを適切にポイントしている場合、ドメインを検証する必要があるため、ドメイン A レコードがサーバーをポイントしていることを確認する必要があります。

2 Certbot のインストール

このセクションでは、Apache および Nginx ウェブサーバーで Certbot をインストールする方法について説明します。

Apache ウェブサーバー用。

sudo apt install certbot python3-certbot-apache

Nginx ウェブサーバー用。

sudo apt install certbot python3-certbot-nginx

3 SSL 証明書の生成

Apache ウェブサーバー用。

 sudo certbot --apache

コマンドを開始したら、以下の指示に従ってください。

Output:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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-v02.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 our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: domain.com
2: www.domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2

SSL 証明書に含まれる www サブドメインに 1 と 2 を選択しました。

注意 :www サブドメインを含めたくない場合は、1 を選択してください。 Enter キーを押します。

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):2
Redirecting vhost in /etc/apache2/sites-enabled/domain.com.conf to ssl vhost in /etc/apache2/sites-available/domain.com-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://domain.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/domain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/domain.com/privkey.pem
   Your cert will expire on 2022-03-05. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   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 Certbot so
   making regular backups of this folder is ideal.
 - 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

Nginx Web サーバー用。

sudo  certbot --nginx
OUTPUT:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, 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 our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: domain.com
2: www.domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2
Requesting a certificate for domain.com

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/domain.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/domain.com/privkey.pem
This certificate expires on 2022-07-28.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for domain.com to /etc/nginx/sites-enabled/domain.com.conf
Congratulations! You have successfully enabled HTTPS on https://domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

おめでとうございます!

4 SSL 証明書をテストする

インストール後、https://domain.com で Web サイトにアクセスするだけで、SSL 証明書が Web サイトにインストールされているかどうかを確認できます。 https://www.sslshopper.com/ssl-checker.html などの SSL チェッカー Web サイトを使用して確認することもできます。

5 SSL 証明書の更新

Certbot をインストールすると Let’s Encrypt は 90 日または 3 か月以内にのみ有効であるため、自動更新スクリプトが自動的にセットアップされます。自動更新スクリプトが実行されているかどうかを確認するには、次のコマンドを実行します。

systemctl status certbot.timer
● certbot.timer - Run certbot twice daily
     Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)
     Active: active (waiting) since Sun 2021-12-05 13:33:10 EST; 45min ago
    Trigger: Mon 2021-12-06 00:10:45 EST; 9h left
   Triggers: ● certbot.service

Dec 05 13:33:10 domain.com systemd[1]: Started Run certbot twice daily.

Certbot 更新の準備ができているドメインがあるかどうかを確認するために、タイマーが 1 日 2 回実行されます。

Certbot タイマーが期限内にドメインを更新できず、証明書の有効期限が切れる場合があります。この場合、このコマンドを実行してドメインを手動で更新できます。

sudo certbot renew

また、更新のドライランを実行して、SSL の更新が期待どおりに機能しているかどうかをテストすることもできます。そのためには、このコマンドを実行してください。

sudo certbot renew --dry-run

6 まとめ

Let’s Encrypt SSL証明書を使用してサイトを保護する方法を示しました.このチュートリアルでは、Certbot を使用して更新し、無料の Let’s Encrypt SSL 証明書を取得する方法も学びました。

サーバーを保護する方法について詳しく知りたい場合は、fail2ban チュートリアルを参照してください。


Ubuntu
  1. Ubuntu15.10でEncFSを使用してデータを暗号化します

  2. Ubuntu20.04でLetsencryptを使用してNginxを保護する方法

  3. Ubuntu 20.04でLet’s Encrypt(Certbot)をセットアップする方法

  1. Ubuntu18.04でLet'sEncryptを使用してNginxを保護する-その方法は?

  2. Apacheを使用してUbuntu20.04にLet’sEncryptをインストールする方法

  3. Ubuntu18.04でLetsEncryptを使用してApacheを保護する方法

  1. Ubuntu 20.04/18.04でLetsEncryptを使用してNginxを保護する方法

  2. Ubuntu16.04でeCryptfsを使用してディレクトリを暗号化する方法

  3. Ubuntu20.04でLet'sEncryptを使用してNginxを保護する方法