テクノロジー アパッチHTTP 非公開: Apache、Nginx、CloudflareでTLS 1.3を有効にする方法は?

Apache、Nginx、CloudflareでTLS 1.3を有効にする方法は?

最新およびテスト TLS バージョン プロトコル 1.3 を有効にするためのステップバイステップ ガイド

実装手順の前に、TLS 1.3 とは何か、1.2 との違い、歴史、互換性について見てみましょう。

TLS1.3とは何ですか?

TLS (トランスポート層セキュリティ) 1.3 は、既存の 1.2 仕様に基づいています。これは最新の TLS バージョンのプロトコルであり、 パフォーマンスとセキュリティの向上 を目的としています。

詳細については、 Filippo によるこの投稿を参照してください。

TLS プロトコルの歴史を見てみましょう。

TLS 履歴
TLS 履歴

TLS プロトコルは、Web サーバー、CDN、ロード バランサー、およびネットワーク エッジ デバイスで有効にすることができます。

TLS 1.3 ブラウザの互換性

1.3 はまだすべてのブラウザでサポートされていません。現在、Chrome、Firefox、Opera、iOS Safari の最新バージョンでのみ動作します。すべてのブラウザをサポートしたらすぐに実装したい場合は、この CanIUse ページを ブックマークしてください。まだ初期段階にあることを考慮すると、古いバージョン 1.2 および 1.1 とともに 1.3 を有効にすることをお勧めします。

ブラウザで有効にする方法を確認してください。

の TLS 分析は次のとおりです。ご覧のとおり、リクエストの 70% 以上が TLS 1.3 経由です。

tls-analytics-
tls-analytics-

Nginx で TLS 1.3 を有効にする

TLS 1.3 は、 Nginx 1.13 バージョン 以降でサポートされます。古いバージョンを実行している場合は、まずアップグレードする必要があります。

Nginx 1.13以降を持っていると思います

  • Nginxサーバーにログインする
  • nginx.conf ファイルのバックアップを作成します。
  • vi またはお気に入りのエディタを使用して nginx.conf を変更します。

SSL 設定のデフォルト構成は次のようになります。

 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  • 行の最後に TLSv1.3 を追加すると、以下のようになります。
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

注: 上記の構成では、TLS 1/1.1/1.2/1.3 が許可されます。セキュアな TLS 1.2/1.3 を有効にしたい場合、構成は次のようになります。

 ssl_protocols TLSv1.2 TLSv1.3;
  • Nginxを再起動します
service nginx restart

それは簡単です。そうじゃない?

Apache で TLS 1.3 を有効にする

Apache HTTP 2.4.38 以降では、TLS 1.3 を利用できるようになります。まだ古いバージョンを使用している場合は、まずそれをアップグレードすることを考える必要があります。

構成は簡単で、TLS 1.2 または 1.1 プロトコルを有効にする方法と似ています。

見てみましょう…

  • Apache HTTP サーバーにログインし、バックアップまたは ssl.conf ファイル、または SSL 構成がある場所を取得します。
  • SSLProtocol 行を見つけて、行の末尾に +TLSv1.3 を追加します。

例: 以下では TLS 1.2 と TLS 1.3 が許可されます。

 SSLProtocol -all +TLSv1.2 +TLSv1.3
  • ファイルを保存し、Apache HTTP を再起動します。

クラウドフレア

TLS 1.3 サポートを実装した最初の CDN プロバイダーの 1 つ。 Cloudflareでは、すべてのWebサイトでデフォルトでこれが有効になっています。

ただし、無効化または確認する必要がある場合は、次の方法でそれを行うことができます。

  • Cloudflareにログインする
  • [SSL/TLS] タブに移動 >> エッジ証明書
  • 少し下にスクロールすると、TLS 1.3 オプションが表示されます。
クラウドフレア-tls1-3
クラウドフレア-tls1-3

TLS 1.3 をサポートする他のプラットフォームは何ですか?

次の CDN を認識しています。

  • CDN 77 – 最近、一部の POP (Point of Presence) からサポートすることを発表しました。
  • AKAMAI – AKAMAI はネットワーク全体でベータ版になりました。

サイトが TLS 1.3 を使用していることを確認するにはどうすればよいですか?

Web サーバーまたは CDN を介して実装したら、次に、サイトが TLS 1.3 プロトコルを介してハンドシェイクしていることを確認します。

テストする方法は複数あります。

TLS テスト – サポートされている TLS バージョンをすぐに調べます。

-tls-テスト結果
-tls-テスト結果

SSL Labs – HTTPS URL を入力し、テスト結果ページを下にスクロールします。

ssllbas-tls-13
ssllbas-tls-13

すべてのプロトコルが有効になっていることが表示されます。

Google Chrome – イントラネット サイトで有効にしている場合は、Chrome ブラウザから直接テストできます。

  • Chromeを起動する
  • 開発者ツールを開く
  • 「セキュリティ」タブに移動します
  • HTTPS URLにアクセスします
  • 左側で、メインのオリジンを選択して プロトコル を表示します
クロムテスト-TLS-13
クロムテスト-TLS-13

さあ、行きましょう!

TLS 1.3 はまだ新しいことを考慮すると、Web サイトに実装しても構いませんが、古いバージョンを有効にしておくのを忘れないでください。 TLS 1.1、1.2 を有効にすると、クライアント (ブラウザ) が 1.3 と互換性がない場合でも、他のプロトコル バージョンを介して接続できるようになります。

これにより、Web サイトのセキュリティを向上させるための最新の TLS プロトコルの実装についてのアイデアが得られれば幸いです。

「 Apache、Nginx、CloudflareでTLS 1.3を有効にする方法は?」についてわかりやすく解説!絶対に観るべきベスト2動画

How to enable TLS in NGINX
nginx への基本 SSL/TLS 証明書のインストール

最新およびテスト TLS バージョン プロトコル 1.3 を有効にするためのステップバイステップ ガイド

実装手順の前に、TLS 1.3 とは何か、1.2 との違い、歴史、互換性について見てみましょう。

TLS1.3とは何ですか?

TLS (トランスポート層セキュリティ) 1.3 は、既存の 1.2 仕様に基づいています。これは最新の TLS バージョンのプロトコルであり、 パフォーマンスとセキュリティの向上 を目的としています。

詳細については、 Filippo によるこの投稿を参照してください。

TLS プロトコルの歴史を見てみましょう。

TLS 履歴
TLS 履歴

TLS プロトコルは、Web サーバー、CDN、ロード バランサー、およびネットワーク エッジ デバイスで有効にすることができます。

TLS 1.3 ブラウザの互換性

1.3 はまだすべてのブラウザでサポートされていません。現在、Chrome、Firefox、Opera、iOS Safari の最新バージョンでのみ動作します。すべてのブラウザをサポートしたらすぐに実装したい場合は、この CanIUse ページを ブックマークしてください。まだ初期段階にあることを考慮すると、古いバージョン 1.2 および 1.1 とともに 1.3 を有効にすることをお勧めします。

ブラウザで有効にする方法を確認してください。

の TLS 分析は次のとおりです。ご覧のとおり、リクエストの 70% 以上が TLS 1.3 経由です。

tls-analytics-
tls-analytics-

Nginx で TLS 1.3 を有効にする

TLS 1.3 は、 Nginx 1.13 バージョン 以降でサポートされます。古いバージョンを実行している場合は、まずアップグレードする必要があります。

Nginx 1.13以降を持っていると思います

  • Nginxサーバーにログインする
  • nginx.conf ファイルのバックアップを作成します。
  • vi またはお気に入りのエディタを使用して nginx.conf を変更します。

SSL 設定のデフォルト構成は次のようになります。

 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  • 行の最後に TLSv1.3 を追加すると、以下のようになります。
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

注: 上記の構成では、TLS 1/1.1/1.2/1.3 が許可されます。セキュアな TLS 1.2/1.3 を有効にしたい場合、構成は次のようになります。

 ssl_protocols TLSv1.2 TLSv1.3;
  • Nginxを再起動します
service nginx restart

それは簡単です。そうじゃない?

Apache で TLS 1.3 を有効にする

Apache HTTP 2.4.38 以降では、TLS 1.3 を利用できるようになります。まだ古いバージョンを使用している場合は、まずそれをアップグレードすることを考える必要があります。

構成は簡単で、TLS 1.2 または 1.1 プロトコルを有効にする方法と似ています。

見てみましょう…

  • Apache HTTP サーバーにログインし、バックアップまたは ssl.conf ファイル、または SSL 構成がある場所を取得します。
  • SSLProtocol 行を見つけて、行の末尾に +TLSv1.3 を追加します。

例: 以下では TLS 1.2 と TLS 1.3 が許可されます。

 SSLProtocol -all +TLSv1.2 +TLSv1.3
  • ファイルを保存し、Apache HTTP を再起動します。

クラウドフレア

TLS 1.3 サポートを実装した最初の CDN プロバイダーの 1 つ。 Cloudflareでは、すべてのWebサイトでデフォルトでこれが有効になっています。

ただし、無効化または確認する必要がある場合は、次の方法でそれを行うことができます。

  • Cloudflareにログインする
  • [SSL/TLS] タブに移動 >> エッジ証明書
  • 少し下にスクロールすると、TLS 1.3 オプションが表示されます。
クラウドフレア-tls1-3
クラウドフレア-tls1-3

TLS 1.3 をサポートする他のプラットフォームは何ですか?

次の CDN を認識しています。

  • CDN 77 – 最近、一部の POP (Point of Presence) からサポートすることを発表しました。
  • AKAMAI – AKAMAI はネットワーク全体でベータ版になりました。

サイトが TLS 1.3 を使用していることを確認するにはどうすればよいですか?

Web サーバーまたは CDN を介して実装したら、次に、サイトが TLS 1.3 プロトコルを介してハンドシェイクしていることを確認します。

テストする方法は複数あります。

TLS テスト – サポートされている TLS バージョンをすぐに調べます。

-tls-テスト結果
-tls-テスト結果

SSL Labs – HTTPS URL を入力し、テスト結果ページを下にスクロールします。

ssllbas-tls-13
ssllbas-tls-13

すべてのプロトコルが有効になっていることが表示されます。

Google Chrome – イントラネット サイトで有効にしている場合は、Chrome ブラウザから直接テストできます。

  • Chromeを起動する
  • 開発者ツールを開く
  • 「セキュリティ」タブに移動します
  • HTTPS URLにアクセスします
  • 左側で、メインのオリジンを選択して プロトコル を表示します
クロムテスト-TLS-13
クロムテスト-TLS-13

さあ、行きましょう!

TLS 1.3 はまだ新しいことを考慮すると、Web サイトに実装しても構いませんが、古いバージョンを有効にしておくのを忘れないでください。 TLS 1.1、1.2 を有効にすると、クライアント (ブラウザ) が 1.3 と互換性がない場合でも、他のプロトコル バージョンを介して接続できるようになります。

これにより、Web サイトのセキュリティを向上させるための最新の TLS プロトコルの実装についてのアイデアが得られれば幸いです。

「 Apache、Nginx、CloudflareでTLS 1.3を有効にする方法は?」についてわかりやすく解説!絶対に観るべきベスト2動画

How to enable TLS in NGINX
nginx への基本 SSL/TLS 証明書のインストール