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

Let's Encrypt:Certbotを使用して無料のSSL証明書を取得する

Let's Encrypt certbotを使用して無料のSSL証明書を取得する方法と、それを自動的に更新する方法についてのステップバイステップのチュートリアル。

とりわけ、Let’s Encryptはオープンソースであり、完全に無料です。これにより、誰でも信頼できるSSL証明書を自分のWebサイトにインストールして、暗号化された接続が提供する強化されたセキュリティの恩恵を受けることができます。自己署名SSL証明書とは異なり、Let’s Encrypt証明書は完全に検証済みとして認識され、最新のウェブブラウザのアドレスバーに南京錠のアイコンが表示されます。

暗号化のしくみ

証明書を発行する前に、Let’sEncryptはドメインの所有権を検証します。ホストで実行されているLet’s Encryptクライアントは、必要な情報を含む一時ファイル(トークン)を作成します。次に、検証サーバーはHTTPリクエストを作成してファイルを取得し、トークンを検証します。これにより、ドメインのDNSレコードがLet’sEncryptクライアントを実行しているサーバーに解決されることが検証されます。したがって、以下に示すコマンドは、証明書を発行するドメインにサービスを提供するサーバーで実行する必要があります。

1。 certbotのインストール

Let’s Encryptには、certbotという自動インストーラーがあります 。 Let’s Encryptを使用してSSL証明書を取得するための最初のステップは、サーバーにインストールすることです。

Ubuntu:

sudo apt install certbot python3-certbot-nginx

Debian:

sudo apt install certbot

CentOS:

sudo yum install epel-release
sudo yum install certbot-nginx

2。 Let'sEncrypt証明書の取得

重要! Let's Encryptの無料SSL証明書を発行する前に、ウェブサーバーサービスを停止する必要があります。そうしないと、次のエラーが発生します:

Problem binding to port 80: Could not bind to IPv4 or IPv6

Nginxを使用する場合は、次を実行します:

sudo systemctl stop nginx

これで、Let’sEncryptの無料SSL証明書の生成に進むことができます。

sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com

-dオプションはドメイン名を取ります。複数の-dを使用できます 単一のコマンドのオプション。例:

sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com -d www.my-domain.com 

certbotを初めて実行する場合 、メールアドレスを入力して利用規約に同意するよう求められます。その後、certbot Let’s Encryptサーバーと通信し、チャレンジを実行して、証明書を要求しているドメインを制御していることを確認します。

それが成功した場合は、certbot プロセスが成功し、証明書が保存されている場所を通知するメッセージで締めくくられます。

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/my-domain.com/fullchain.pem. Your cert will
   expire on 2022-08-08. 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 

3。証明書を確認する

/etc/letsencrypt/live/my-domain.com ディレクトリ。

ls -l /etc/letsencrypt/live/my-domain.com/
total 4
-rw-r--r-- 1 root root 692 Mar  10 08:24 README
lrwxrwxrwx 1 root root  37 Mar  10 08:24 cert.pem -> ../../archive/my-domain.com/cert1.pem
lrwxrwxrwx 1 root root  38 Mar  10 08:24 chain.pem -> ../../archive/my-domain.com/chain1.pem
lrwxrwxrwx 1 root root  42 Mar  10 08:24 fullchain.pem -> ../../archive/my-domain.com/fullchain1.pem
lrwxrwxrwx 1 root root  40 Mar  10 08:24 privkey.pem -> ../../archive/my-domain.com/privkey1.pem

4。 Webサーバー構成を変更する

WebサーバーでLet’s Encryptの無料SSL証明書を使用するには、構成でそれらを指定する必要があります。たとえば、Nginxを使用する場合は、ドメイン構成ファイル/etc/nginx/sites-enabled/my-domain.confに次のブロックを追加する必要があります。

server {
    listen 443;
    server_name my-domain.com;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/my-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/my-domain.com/privkey.pem;
}

それでおしまい。すべてが設定され、実行されます。これで、Webサーバーを起動するだけで済みます:

sudo systemctl start nginx

最後に、WebサイトがSSLで保護されていることを確認できます。ブラウザでWebサイトを開き、南京錠のアイコンが使用可能かどうかを確認するだけです。

5。 Let'sEncrypt証明書を自動的に更新する

証明書は90日間有効です。有効期限が切れる30日前に更新できます。ここでは、自動的に更新されるcronジョブを追加します。

したがって、最初にcrontabファイルを開きます:

sudo crontab -e

その後、certbotを追加します 毎週実行するコマンド:

@weekly certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx" --renew-hook "systemctl reload nginx" --quiet 
結論

このチュートリアルでは、Webサイトを保護するために、Let’sEncryptから無料のSSL証明書をインストールする方法を説明しました。さらに、Let’sEncryptの公式ウェブサイトで詳細と詳細を確認できます。


Linux
  1. Lets Encrypt SSL/TLS証明書をcertbotで管理する方法

  2. 無料でISPConfig3.1を保護することでSSL証明書を暗号化できます

  3. トップ7の無料SSL証明書サービス

  1. Let'sEncryptによるCentos上のNginxの無料SSL

  2. Let'sEncryptSSLをHAProxyにインストールする

  3. SSL It! で無料の SSL 証明書を取得する方法Plesk で暗号化しましょう

  1. セットアップ方法Debian10/Debian9でNginxを使用してSSL証明書を暗号化しましょう

  2. セットアップ方法Ubuntu18.04およびUbuntu16.04でNginxを使用してSSL証明書を暗号化しましょう

  3. Ubuntu20.04でCertbotを使用してLet’sEncrypt証明書をインストールする方法