Nginx リバースプロキシにおける OCSP Stapling の最適化

WBOY
リリース: 2023-06-10 11:40:46
オリジナル
2210 人が閲覧しました

Nginx は、広く使用されている高性能 Web サーバーおよびリバース プロキシ サーバーです。リバース プロキシ サーバーは、プロキシを通じてクライアントに特定のネットワーク サービスを提供します。ネットワーク セキュリティの分野で重要な役割を果たします。リバース プロキシ プロセスでは、SSL 証明書検証の処理は非常に重要な手順です。 OCSP Stapling は、SSL プロトコルを最適化し、より高速で安全な SSL 証明書検証を提供できるメカニズムです。この記事では、Nginx リバース プロキシにおける OCSP Stapling 最適化手法に焦点を当てます。

1. OCSP Stapling の概要

Nginx リバース プロキシにおける OCSP Stapling の最適化方法に焦点を当てる前に、まず OCSP Stapling が何であるかを理解しましょう。

OCSP (Online Certificate Status Protocol) プロトコルは、証明書ステータスの確認に使用されるプロトコルで、SSL 証明書の失効ステータスを確認できます。 TLS ハンドシェイク プロセス中に、クライアントはサーバーに SSL 証明書の検証を要求し、検証サービスを提供するために OCSP プロトコルが使用されます。ただし、OCSP アクセスには認証局 CA へのリクエストが必要なため、このプロセスによりネットワークの遅延やセキュリティの問題が発生する可能性があります。

OCSP Stapling は、SSL 証明書の失効状況を確認する処理をクライアント側ではなく Web サーバー側に転送し、SSL 証明書の OCSP 応答を Web サーバー (Nginx など) 経由で CA から定期的に取得します。その後、クライアントとの SSL 接続を確立するプロセス中に、Web サーバーはキャッシュされた OCSP 応答をクライアントに返します。この方法では、SSL 接続の速度が向上するだけでなく、クライアントが CA にリクエストを行う際のセキュリティの問題も回避できます。

2. Nginx で OCSP Stapling を有効にする

Nginx で OCSP Stapling を有効にする方法は非常に簡単で、次のコードを SSL 証明書設定に追加するだけです:

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /path/to/ca-certs;
ログイン後にコピー

ここで説明します 各オプションの意味は次のとおりです:

  • ssl_stapling on: OCSP Stapling メカニズムを有効にする
  • ssl_stapling_verify on: OCSP 応答が信頼できるかどうかを確認する
  • ssl_trusted_certificate : OCSP 応答の検証に使用される CA 証明書チェーンを提供します。

Nginx が OCSP Stapling を有効にすると、各 SSL 証明書の発行局に対して OCSP リクエストが自動的に開始され、OCSP 応答がメモリにキャッシュされます。有効期限は 10 分です。 OCSP レスポンスの有効期間がキャッシュ時間を超えた場合、OCSP レスポンスは発行局に再要求されます。 SSL 接続を確立しているクライアントが検証を要求すると、Web サーバー (Nginx など) はキャッシュされた OCSP 応答をクライアントに返します。このプロセスは SSL 接続の速度とセキュリティに影響を与えず、悪意のある攻撃も効果的に防ぐことができます。

3. OCSP Stapling の最適化

Nginx で OCSP Stapling を有効にすることに加えて、パフォーマンスとセキュリティをさらに最適化するためにいくつかの操作を実行することもできます。

  1. OCSP 応答のキャッシュ

Nginx はデフォルトで OCSP 応答をメモリにキャッシュしますが、サーバーが再起動するかキャッシュがいっぱいになると、OCSP Stapling が OCSP 応答を再要求します。 CA からの送信には時間とネットワーク帯域幅が必要です。この状況を回避するには、OCSP 応答をディスクにキャッシュして、サーバーが再起動されても OCSP 応答が失われないようにします。次のコードを Nginx 構成ファイルに追加するだけです:

ssl_stapling_file /path/to/ocsp_response.der;
ログイン後にコピー

このうち、/path/to/ocsp_response.der は OCSP 応答キャッシュのパスとファイル名です。

  1. 複数の CA 証明書の使用

複数の CA 証明書を使用して SSL 証明書を発行する場合、各発行局は異なる OCSP 応答を持つことになります。この場合、複数の OCSP 応答を同時にキャッシュできます。必要なのは、複数の OCSP 応答ファイルのパスを ssl_trusted_certificate ディレクティブに追加することだけです。次に例を示します。

ssl_trusted_certificate /path/to/ca-certs1 /path/to/ca-certs2;
ログイン後にコピー
  1. OCSP 応答をより頻繁に更新します

OCSP 応答は 30 日ですが、セキュリティを向上させるために OCSP 応答をより頻繁に更新できます。 OCSP 応答のキャッシュ時間を短く設定するだけです。例:

ssl_stapling_responder_timeout 5s;
ssl_stapling_verify_result on;
ログイン後にコピー

その中で、ssl_stapling_responder_timeout は OCSP 応答のキャッシュ時間を設定するために使用されます。ここでは 5 秒に設定されており、ssl_stapling_verify_result OCSP 応答の結果を検証するために使用されます。

  1. OCSP 応答を定期的に更新する

OCSP 応答キャッシュを非常に短く設定したとしても、それが常に最新であるという保証はありません。したがって、OCSP 応答を定期的に更新する必要もあります。これは、Nginx のスケジュールされたタスクを通じて実現できます。例:

0 * * * * /usr/sbin/nginx -s reload
ログイン後にコピー

このタスクは、各時間の初めに Nginx 構成ファイルをリロードし、OCSP Stapling を再度有効にします。機構。

4. 概要

Nginx リバース プロキシの OCSP Stapling メカニズムは、SSL 接続の速度とセキュリティを向上させると同時に、悪意のある攻撃を防ぐことができます。 OCSP Stapling のパフォーマンスとセキュリティは、OCSP 応答をキャッシュし、複数の CA 証明書を使用し、OCSP 応答をより頻繁に更新し、OCSP 応答を定期的に更新することによってさらに最適化できます。したがって、Nginx リバース プロキシ サーバーを使用する場合は、OCSP Stapling を有効にし、必要な最適化を実行する必要があります。

以上がNginx リバースプロキシにおける OCSP Stapling の最適化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート