知識ベース Profitserver サービスの操作方法の簡単な説明
メイン 知識ベース Certbot: Let's Encrypt 証明書のインストール

Certbot: Let's Encrypt 証明書のインストール


この記事では、インストールと設定のプロセスについて説明します。 Certbot Linuxサーバー上で。詳細を説明します Let's Encrypt SSL/TLS証明書を取得する方法 ドメイン用です。また、Web サーバー (Nginx や Apache など) にインストールし、自動証明書更新を設定して、Web リソースとの継続的な安全な接続を確保する方法についても説明します。

Certbot は、自動取得と更新のために設計された無料のオープンソースツールです。 SSL / TLS証明書サーバーとクライアント間の接続を安全にし、不正アクセスからデータを保護する上で重要な役割を果たします。Certbot は、SSL 証明書のインストールと更新のプロセスを簡素化します。証明書はセキュリティを強化するだけでなく、Web リソースに対するユーザーの信頼を高め、サイトの評判と検索エンジンのランキングの両方を向上させます。

Certbot のインストール

Certbotはほとんどのディストリビューションにデフォルトで含まれているので、 Debian / Ubuntu システムの場合は、パッケージ リストを更新するだけで済みます。

apt update

次に、インストール プロセスを開始します。

apt install certbot

Certbot は、Web サーバーの証明書のセットアップと構成を容易にするプラグインをサポートしています。これらのプラグインをインストールするには、対応するコマンドを使用します。

apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache

のインストールプロセス レッドハット システム(など) RHEL, CentOSの, フェドーラ) は少し異なります。最初に、EPEL リポジトリを追加する必要があります。

yum install epel-release

次にツールをインストールします。

yum install certbot

同様に、特定の Web サーバーのプラグインを選択するオプションもあります。

yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache

インストール後、すぐに証明書の取得に進むことができます。

SSL証明書の取得

このセクションでは、特定の Web サーバーから独立して証明書を取得するプロセスについて説明し、その後、Nginx と Apache の証明書をインストールするプロセスについて説明します。ただし、最初にプログラムの構文と機能を理解することが重要です。次のように表示されます。

certbot command option -d domain

主なコマンドは次のとおりです。

certbot certonly - 証明書を取得しますが、インストールはしません。
certbot certificates - このコマンドは、インストールされているすべての証明書のリストを表示します。
certbot renew - 既存の証明書を拡張します。
certbot revoke - 既存の証明書を取り消します。
certbot delete - 既存の証明書を削除します。

最も一般的に使用されるオプションは次のとおりです。

--nginx - ドメイン検証に Nginx 構成スクリプトを使用します。
--apache - ドメイン検証に Apache 構成スクリプトを使用します。
-d - 証明書が要求されているドメインのリスト。
--standalone - ドメイン検証にはスタンドアロン モードを使用します。
--manual - 手動でドメイン検証を実行します。

これは、最も頻繁に使用されるコマンドとオプションのほんの一例です。ヘルプ セクションで、プログラム機能の完全なリストを確認できます。

certbot –help
Certbot ツールのヘルプセクション

次に証明書の取得に進みます。例として、 仮想サーバー yourusername.pserver.spaceのような無料の第3レベルドメインの場合

まず、次のコマンドを入力する必要があります。

certbot certonly

これに応えて、ユーティリティはドメインの所有権を確認する方法を選択するように求めます。

Certbot SSL証明書を取得する方法

最初のオプションは、Web サーバーが設定されていない場合、または既存の Web サーバーに変更を加えたくない場合に便利です。この方法では、ドメインに対する権利を確認するための一時的な Web サーバーが作成されます。シンプルで迅速なセットアップに最適です。この方法を選択するときは、ポート 80 を空けておくことが重要です。

すでに Web サーバーが稼働していて、それを使用してドメインの権限を検証する場合は、2 番目のオプションが適しています。Certbot は、サーバー上のフォルダーに特別なファイルを配置し、認証センターによってチェックされます。

最初のオプションを選択し、「次へ」をクリックします。この段階では、次の操作を行う必要があります。

  1. メールアドレスを入力してください。
  2. 利用規約に同意します。
  3. 会社およびそのパートナーに代わって電子メールを受信することに同意または拒否します。
  4. 証明書を発行するドメイン名を指定します。
SSL証明書を取得するためのデータ

Certbot ツールを使用して証明書発行プロセスを完了すると、発行された証明書とアカウントのデータが保存されるディレクトリへのパスが示されます。

取得したSSL証明書のデータ

残っているのは、取得した証明書を必要なサービスにリンクすることだけです。

Nginx または Apache の証明書のインストール

このセクションでは、特定の基本条件が満たされていることを前提としています。

  1. Nginx または Apache のいずれかの Web サーバーがすでにインストールされ、構成されていること。証明書を取得するドメイン名を介してインターネットからアクセスできる必要があります。
  2. ツールのインストール中に、適切なコマンドを使用して Nginx または Apache のプラグインもインストールしました。
  3. ファイアウォールはポート80と443での接続を許可します。これらのポートが接続に対して閉じられている場合、サービスは着信接続に対して利用できなくなります。ファイアウォールの動作の詳細については、次の記事で説明しました。 Linux でのファイアウォールの設定.

すべての条件が満たされたら、証明書の発行に直接進むことができます。例として、Nginx を使用するサーバーで SSL 証明書を取得するプロセスを検討します。ただし、Apache Web サーバーを使用している場合でも、プロセスはまったく同じです。

証明書を取得するには、次のコマンドを入力する必要があります。

certbot --nginx # for Nginx
certbot --apache # for Apache

応答として、ツールは電子メール アドレス、Let's Encrypt サービスの利用規約への同意、サービスとそのパートナーに代わって電子メールを送信する許可を要求します。

Nginx と Apache の SSL 証明書の取得

次に、証明書を発行するドメイン名を指定する必要があります。Certbotは、証明書にドメインが指定されている場合は自動的にドメインを特定します。 サーバーの名前 のフィールド nginx 構成または サーバーの名前 および ServerAliasアパッチ指定されていない場合は、プログラムから通知が表示され、ドメイン名を手動で入力するように求められます。次に、ユーティリティは HTTP から HTTPS プロトコルへのリクエストのリダイレクトを有効にするかどうかを尋ねます。自動リダイレクトを設定するには、2 番目のオプションを選択する必要があります。

HTTP から HTTPS へのリクエストのリダイレクト

しばらくすると、Certbot は指定されたドメインの証明書の取得が成功したことを通知します。この時点から、すべての着信接続はポート 80 から 443 にリダイレクトされます。ツールは、すべての証明書データと Let's Encrypt アカウントの詳細が見つかるディレクトリを表示します。

Certbot 証明書の発行に成功

メッセージには、取得した証明書の有効期間と、すべてのアクティブな証明書を管理するための重要なオプションも指定されます。

  1. 確かにこのオプションは、自動 Web サーバー構成なしで証明書を取得または更新するために使用されます。Certbot は証明書を要求または更新するだけで、サーバー構成を自動的に変更することはありません。以前は、このオプションを使用して、Web サーバーに縛られずに証明書を取得していました。
  2. 更新する Certbot を通じて取得され、有効期限内にあるすべての証明書の自動更新に使用されます。プログラムはすべての証明書をチェックし、30 日以内に期限が切れるものがあれば自動的に更新されます。

次の手順では、ユーザーの介入なしに 3 か月ごとに証明書を自動更新するように設定する方法を説明します。

Certbot での自動証明書更新

Debian/Ubuntuの場合

これらのオペレーティング システムを使用する場合、Certbot はインストールされた証明書の自動更新のためのスクリプトをタスク リストに自動的に追加します。次のコマンドでスクリプトの機能を確認できます。

systemctl status certbot.timer
certbot.timer サービスのステータスを確認する

応答には、サービスの状態と設定ファイルを含むディレクトリが表示されます。これは任意のテキストエディタで開くことができます。Linuxのテキストエディタに慣れていない場合は、 私たちの概要 最も人気のあるソリューションの1つです。この場合はnanoを使用します。

nano /lib/systemd/system/certbot.timer
certbot.timer の設定の表示

重要なパラメータはすべて強調表示されます。

  1. スケジュールによれば、このサービスは 00 日 00 回、12:00 と XNUMX:XNUMX に運行されます。
  2. 43,200 番目の値は、タイマーの開始に追加されるランダムな遅延を秒単位で示します。この場合、12 秒 (XNUMX 時間) であり、これにより起動がよりランダムになり、負荷が分散されます。
  3. このパラメータにより、システムのシャットダウン中にタイマーが実行されることになっていた場合、起動時にすぐにタイマーがアクティブ化されます。

次のコマンドを使用して、証明書の更新の強制チェックを実行することもできます。

certbot renew --dry-run

このコマンドを使用すると、証明書は更新されません。代わりに、ツールは有効期限が切れたときに証明書を取得するのと同様のアクションを実行します。これにより、自動更新に関するサービスの機能を確保できます。

CentOS、Fedoraなどの場合

Red Hatファミリーシステムで自動更新を有効にする手順は若干異なります。Debian/Ubuntuとは異なり、CentOSやその他のシステムでは、手動でスケジューラにタスクを追加する必要があります。これには、 cron ツール:

crontab -e

次に、開いたファイルに次の行を追加します。

0 12 * * * /usr/bin/certbot renew --quiet

コマンドの主な引数を分解してみましょう。

  1. 実行時間。この場合、コマンドは毎日 12:00 に自動的に実行されます。
  2. Certbot を使用して SSL/TLS 証明書を更新するコマンド。
  3. 当学校区の - 静かな フラグは出力を抑制し、プロセスをより隠蔽し、システム ログや表示への邪魔を少なくします。

コマンドを追加した後、変更をファイルに保存する必要があります。

Debian/Ubuntu と同様に、証明書の更新の強制チェックを開始することもできます。

certbot renew --dry-run

コマンドが正常に実行された場合の結果は次のようになります。

更新コマンドの正常チェックの結果

結論

Linux サーバーに Certbot をインストールして構成する包括的なプロセスについて説明しました。提供されている手順に従うことで、Let's Encrypt から SSL/TLS 証明書を取得し、Web サーバーにインストールして自動更新を構成し、Web リソースの継続的な保護と信頼性の向上を実現できます。Certbot を使用すると、ユーザーにとって信頼性が高く安全な環境を簡単に作成できます。

❮ 前の記事 サーバー負荷の軽減
次の記事❯ Linux パッケージ マネージャー

VPSについてお問い合わせください

私たちは昼夜を問わずいつでもお客様のご質問にお答えする準備ができています。