このチュートリアルでは、ApacheをWebサーバーとして実行しているUbuntu 16.04サーバーで[Let's Encrypt](https://letsencrypt.org/)のTLS / SSL証明書を設定する方法を示します。
SSL証明書は、サーバーとクライアント間のトラフィックを暗号化するためにWebサーバーで使用され、アプリケーションにアクセスするユーザーに追加のセキュリティを提供します。 Let's Encryptは、信頼できる証明書を無料で取得してインストールする簡単な方法を提供します。
このガイドを完了するには、次のものが必要です。
先に進む準備ができたら、sudo対応のアカウントでサーバーにログインします。
サーバー上で実行されているクライアントソフトウェアを介して暗号化証明書を取得しましょう。公式クライアントはCertbotと呼ばれ、その開発者は最新バージョンを使用して独自のUbuntuソフトウェアリポジトリを維持しています。 Certbotはこのように活発に開発されているため、デフォルトでこのリポジトリを使用して、Ubuntuが提供するよりも新しいバージョンをインストールする価値があります。
まず、リポジトリを追加します。
sudo add-apt-repository ppa:certbot/certbot
受け入れるには ENTER
を押す必要があります。次に、パッケージリストを更新して、新しいリポジトリのパッケージ情報を取得します。
sudo apt-get update
最後に、 apt-get
を使用して新しいリポジトリからCertbotをインストールします。
sudo apt-get install python-certbot-apache
certbot
Let'sEncryptクライアントを使用する準備が整いました。
Certbotを使用してApacheのSSL証明書を生成するのは非常に簡単です。クライアントは、パラメータとして指定されたドメインに有効な新しいSSL証明書を自動的に取得してインストールします。
インタラクティブインストールを実行し、単一のドメインのみをカバーする証明書を取得するには、次の certbot
コマンドを実行します。ここで、example.comはドメインです。
sudo certbot --apache -d example.com
複数のドメインまたはサブドメインに有効な単一の証明書をインストールする場合は、それらを追加のパラメーターとしてコマンドに渡すことができます。パラメータリストの最初のドメイン名は、Let's Encryptが証明書を作成するために使用する基本ドメインになるため、リストの最初にネイキッドトップレベルドメインを作成し、その後に他のサブドメインまたはエイリアスを作成することをお勧めします。
sudo certbot --apache -d example.com -d www.example.com
この例では、** Basic **ドメインは example.com
になります。
複数の仮想ホストがある場合は、仮想ホストごとに1回「certbot」を実行して、仮想ホストごとに新しい証明書を生成する必要があります。複数のドメインとサブドメインを仮想ホスト全体に任意の方法で分散できます。
依存関係がインストールされると、カスタム証明書オプションのステップバイステップガイドが提供されます。キーの紛失の回復と通知のためにメールアドレスを入力するように求められます。http
と https
のアクセスを有効にするか、すべてのリダイレクトリクエストを https
に強制するかを選択できます。暗号化されていない http
トラフィックが特に必要でない限り、通常は https
をリクエストするのが最も安全です。
インストールが完了すると、生成された証明書ファイルが / etc / testsencrypt / live
にあるはずです。次のリンクを使用してSSL証明書のステータスを確認できます(example.comを基本ドメインに置き換えることを忘れないでください)。
https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest
これで、 https
プレフィックスを使用してWebサイトにアクセスできるようになります。
Let'sEncryptの証明書は90日間しか持続できません。ただし、インストールしたcertbotパッケージは、 certbot renew
を実行し、systemdタイマーを使用して1日2回実行することで、この問題を解決します。非システムディストリビューションでは、この機能は / etc / cron.d
に配置されたcronスクリプトによって提供されます。このタスクは1日2回実行され、有効期限が切れてから30日以内に証明書を更新します。
更新プロセスをテストするには、 certbot
を使用して次の操作を実行できます。
sudo certbot renew --dry-run
エラーが表示されない場合は、セットアップが完了しています。必要に応じて、Certbotは証明書を更新し、Apacheをリロードして変更を取得します。自動更新プロセスが失敗した場合、暗号化により、指定した電子メールにメッセージが送信され、証明書の有効期限が近づくと警告が表示されます。
このガイドでは、ApacheでホストされているWebサイトを保護するために、Let'sEncryptから無料のSSL証明書をインストールする方法を学びました。重要な更新については、公式の[Let's Encrypt Blog](https://letsencrypt.org/blog/)を時々確認し、Certbotクライアントの詳細については[Certbot Documentation](https://certbot.eff.org/docs/)を読むことをお勧めします。
その他のUbuntuチュートリアルについては、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。
参照:「Ubuntu16.04で暗号化してApacheを保護する方法」
Recommended Posts