ApachehttpdとNginxを実行しているLinuxWebサーバーでSSL証明書にOCSPステープリングを利用したいと思います。ただし、NginxとApacheはどちらも、デフォルトでOCSPレスポンダーに直接アクセスする必要があります。
ただし、私のWebサーバーはダイレクトサーバーリターン/ダイレクトルーティングを使用してロードバランサーの背後に配置されているため、ホストにはパブリックIPアドレスが構成されており、これらのパブリックIPで着信トラフィックを受信および応答しますが、サーバーはこれらのパブリックIPを新しいものに使用できません、発信接続。サーバーはプライベート(非パブリックIPスペース)ネットワーク上で実行されており、NAT経由ではなく、HTTPプロキシ経由でパブリックインターネットにアクセスできます。
セキュリティの観点から、これはまったく問題ありません。 OCSPステープリングのためだけにネットワークにNATを導入したくありません。また、OCSPリクエスト(とにかくHTTP)にHTTPプロキシを使用しても問題ありません。
私にとっての「最良の」解決策は、OCSPレスポンダーにアクセスするためにHTTPプロキシを使用するようにApache/Nginxを構成する場所ですが、私が見る限り、そうするオプションはありません。
私が出くわした最も近いオプションは
これらのオプションはすべて私にはあまりよく見えず、深刻な欠点があります(netfilter-NATはIPに基づいています。ocspレスポンダーの宛先IPが変更されるたびに、ルールを調整する必要があります)-これ以上見逃しませんでした合理的な代替手段またはApacheまたはNginxの「正しい」構成オプション?
これを試すことができます: http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_stapling_file
設定すると、サーバー証明書で指定されたOCSPレスポンダーにクエリを実行する代わりに、ステープルされたOCSP応答が指定されたファイルから取得されます。
ファイルは、「opensslocsp」コマンドによって生成されたDER形式である必要があります。
Apache 2.4.19以降、これはApacheによって直接サポートされています。
Apache構成でディレクティブ SSLOCSPProxyURL
を設定して、HTTPプロキシを指すようにします。次に例を示します。
SSLUseStapling on
SSLOCSPProxyURL http://my-outgoing-proxy.example:3128/