WordPress用の無料のSSL証明書とHTTPSを取得する方法

公開: 2018-06-12

SSL証明書は、Webサイトとエンドユーザー間の接続を暗号化することにより、Webサイトを保護します。

ユーザーの58.4%が主にまたは単独でChromeブラウザーを使用しているため、訪問者がWebサイトを信頼できるように、WordPressWebサイトがSSLおよびHTTPSで安全であることを確認することが重要です。

SSL証明書の取得は、迅速かつ無料で行うことができます。 Let's Encryptは、自動化されたクライアントCertbotの助けを借りて、無料のSSL証明書を提供する著名で信頼できるプロバイダーです。

今日は、SSL、HTTPS、Let's Encrypt、Certbotの詳細と、無料のSSL証明書を手動でインストール、管理、更新してWordPress Webサイトを保護し、Chromeでエラーが発生しないようにする方法について説明します。 。

SSLとHTTPSとは何ですか、なぜそれが必要なのですか?

SSL証明書は、認証局(CA)によって発行された、暗号化キーを接続されたWebサイトにバインドするドメイン名の公開デジタルドキュメントです。

有効なSSL証明書を持つすべてのWebサイトは、HTTPSおよびSSLプロトコルを使用します。これにより、Webサイトのサーバーとエンドユーザーのブラウザー間の通信が暗号化されます。

Webサイトに有効なSSL証明書があることは、URLに「https」が含まれているWebサイトとは対照的に、ユーザーが情報を入力するのにサイトが信頼できることを確認します。 また、ハッカーが接続を乗っ取って不正アクセスを取得するのを防ぎます。

詳細については、WordPressWebサイトのHTTPSとSSLが絶対に不可欠である理由を確認してください。

Let's Encryptとは何ですか?

Let's Encryptは、インターネットをより安全な場所にすることを目的とした非営利団体であるInternet Security Research Group(ISRG)が提供する自動化されたCAです。 Let's Encryptは無料のSSL証明書のみを発行し、Webサーバーで証明書管理エージェントを実行することでプロセスが迅速化されます。

証明書の種類

Let's Encryptは、CAが提供する最低レベルの証明書であるドメイン検証(DV)証明書を認証し、Webサイトが主張するドメイン名を所有していることのみを確認します。

2018年1月の時点で、Let's Encryptはワイルドカード証明書も提供しています。これにより、単一の証明書でWebサイトのすべてのサブドメインを保護できます。 たとえば、 info.example.comabout.example.comです。

また、特定のACMEv2プロトコルが必要であり、その結果、ACMEv2をサポートするように更新されたクライアントが必要です。

詳細については、ACMEクライアントの実装を確認してください。

Let's Encryptの証明書は90日間有効で、例外はありません。60日ごとに更新することをお勧めします。これにより、30日以内に問題を解決できます。 ただし、サーバーによっては、自動更新を構成することもできます。

証明書を取得する方法

Let's Encryptから無料のSSL証明書を取得する最も簡単な方法は、Webホスティングを使用することです。

Let's Encryptは、多くのWebホストや、Let'sEncryptを有効にしてデフォルトでHTTPSにリダイレクトする多くのプロバイダーと提携しています。

ホスティングサービスがLet'sEncryptを認識していない場合は、ホスティングサービスに連絡して、それがオプションであることを知らせることができます。

ホスティングサービスに互換性がない場合、Let's Encryptの無料SSL証明書をWebサーバーに配置する最も簡単な方法の1つは、SSL証明書を取得してWebサーバーに展開する自動クライアントであるCertbotを使用することです。

Certbotのドキュメントによると、「Certbotは、より構造的にプライベートで、安全で、検閲から保護されたネットワークを構築することを目的としています。」

CertbotのWebサイト
Certbotは、ソフトウェアとオペレーティングシステムに基づいた使いやすい手順を提供します。

Certbotのインストール

Certbotは、さまざまなオペレーティングシステムおよびサーバー用にパッケージ化されています。 理想的なセットアップを見つける最良の方法は、CertbotのWebサイトにアクセスして、特定のインストール手順を読むことです。

ほとんどの場合、CertBotを認証するには、ルートアクセスまたは管理者レベルの機能が必要です。

インストールは通常、安全でないネットワーク上でのファイル転送を可能にする安全なシェル暗号化プロトコルであるSSHを介して行われます。 人気のあるSSHクライアントは、MacOSX用のターミナルとWindows用のPuTTYです。

証明書のインストール

セットアップとサイトのニーズに応じて、Let'sEncryptDV証明書をサイトにインストールする方法は複数あります。 Certbot Webサイトでは、特定のサーバー設定に基づいてインストールプロセスを順を追って説明しています。

前述のように、このオプションを利用できるようにすることを選択した場合は、Webホストを介して証明書を自動的にインストールすることもできます。 各ウェブホストは異なるため、セットアップ手順についてはホストのドキュメントを参照してください。

ワイルドカード証明書をインストールする場合は、DNSプラグインを使用する必要があります。

詳細については、Certbotのドキュメントを確認してください。

スタンドアロンモード

たとえば、ApacheやNginxなどのサーバーソフトウェアがなく、それらを入手することに興味がない場合は、スタンドアロンプ​​ラグインアプローチが適切なオプションです。

プラグインは、ドメインを検証するためにWebサーバーのポート80(HTTPの場合)または443(SSLの場合)にバインドする必要があるため、サーバー上のこれらのポートを事前に解放する必要がある場合があります。

どちらもサイトの読み込みに使用されますが、どちらも使用できない場合、Certbotはエラーをスローする可能性があります。 ポートを閉じたり開いたりするプロセスは、オペレーティングソフトウェアによって異なるため、必要に応じて必要な特定のドキュメントを参照してください。

Certbotがインストールされ、ポート80または443が使用可能であることを確認したら、SSHクライアントに以下のコマンドを入力します。 使用するポートによって、コマンドが少し異なることに注意してください。

//For Port 80
certbot certonly --standalone --preferred-challenges http -d example.com

//For Port 443
certbot certonly --standalone --preferred-challenges tls-sni -d example.com

内訳を見ると、 certonlyは証明書を取得(または特定のコンテキストでは更新)しますが、インストールはしません。–standaloneはCertbotに認証用のスタンドアロンWebサーバーを実行するように指示し、 –preferred -challengesCertbotが使用する投稿を指定します。 SSL証明書を要求するドメイン名を指定します。

コマンドを実行すると、メールアドレスを入力して利用規約に同意するよう求められます。

完了すると、プロセスが完了したことと証明書の場所を通知するメッセージが表示されます。

Webrootプラグイン

サーバー上のコンテンツを変更する機能がある場合は、webrootメソッドを使用するオプションがあります。 証明書をインストールするwebrootメソッドは、検証ファイルをWebサーバーの特定の場所に配置します。

この方法は、ポートを切り替える必要がなく、インストールプロセス中にライブサイトを停止することを心配する必要がないため、便利です。

webrootプラグインを使用するには、隠しディレクトリ、具体的には/.well-knownフォルダーのファイルを表示するようにサーバーが構成されていることを確認する必要があることを知っておくことが重要です。

SSHクライアントで次のコマンドを実行して、webrootメソッドをインストールします。

certbot certonly --webroot -w /var/www/example -d www.example.com -d example.com

certonlyコマンドは証明書を取得し、 –webrootは使用しているメソッドをCertbotに通知します。次に、 -wまたは–webroot-pathを含め、次にWebサーバーによって提供されるファイルを含む最上位ディレクトリを含むファイルパスを含める必要があります。 、 –webroot-path / var / www/htmlは一般的なwebrootパスです。

詳細については、Certbotのドキュメントを確認してください。

証明書の場所

すべてのキーと発行された証明書は/etc/letsencrypt / live / $ domainにあり、更新が発生したときに更新されます。

証明書に含まれるファイルのリストは次のとおりです。

  • Privkey.pem –秘密鍵はここに保存され、Certbot開発者からも秘密にしておく必要があります。 ただし、rootユーザーのみがアクセスできるようにして、サーバーからアクセスできるようにしておく必要があります。
  • Fullchain.pem –すべての証明書がここに保存されます。複数ある場合は、最初の証明書がサーバー証明書です。
  • Cert.pem –これには個々のサーバー証明書が含まれます。
  • Chain.pem –すべての中間証明書とサーバーの検証に必要な証明書がここに保存されます。

ディレクトリのファイルの内容を確認する場合は、SSHクライアントでls /etc/letsencrypt/live/example.comコマンドを使用してリストを表示します。

証明書の更新

Certbotは、インストールされているすべての証明書の有効期限が迫っていないかどうかを確認してから更新を試みることにより、更新をできるだけ簡単にすることを目的としています。

以下のコマンドは、複数の証明書をチェックし、それらが期限切れに近いかどうかを常に考慮します。

certbot renew

有効期間が30日未満の証明書は更新されます。 早期更新の危険がないため、何度でも実行できます。

複数のドメイン名があり、そのうちの1つだけを更新したい場合は、 certonlyを使用するこのコマンドでうまくいきます。

certbot certonly -n -d example.com -d www.example.com

注意:Certbotは、ユーザー入力のブロックを防ぐために、 -nまたは–noninteractiveを含めることをお勧めします。

結論

SSL証明書のインストールは、WordPressサイトにとって不可欠なセキュリティ対策です。 Let's EncryptとCertbotは、HTTPSとSSL証明書を使用してドメインとWebサイトを保護するための迅速で無料の方法を提供します。

包括的な詳細については、広範なCertbotドキュメントとコミュニティフォーラムを確認してください。

Let's Encryptを使用して無料のSSL証明書を正常にインストールできましたか? SSL証明書をインストールする理由は何ですか? 以下のコメントであなたの経験を共有してください。