Manul Tech

nginxのOCSP設定

nginxのOCSP設定とかいうのでドハマりした。

趣味で弄っているnginx

インフラ系は自分の仕事ではないから関係ないんだけど、別のWEB系の事を調べるとよく目にするからちょっと気になって、完全に個人的な遊びとして時間のある時にたまに弄っている。
Apacheに比べて自分でWEBサーバを構築している感じがして楽しいと思う。(Apache触ったことないけど)
そんな中、どうせならSSLにも対応してみよう、おーなんだできたじゃんなんつって悦に入ってみたりして、さらにセキュリティを上げるには〜って調べていたら「OCSP」というのがあるらしいと。

ウィキペディア
Online Certificate Status Protocol

なんのこっちゃさっぱりなんだけど、対応しておいて悪いことはなさそうなんでやってみようと思って。でもね、これが大変だった。もちろん自分としては、だけど。

全然できない

Qiita
我々はどのようにして安全なHTTPS通信を提供すれば良いか

My Library
NginxでのOCSP Stapling対応設定

1Q77
nginx で OCSP Stapling (RapidSSL)

上記ページを参考に設定してみるも

OCSP response: no response sent

ばっかし。なにこれ。しかも上記サイトの1Q77さんの記事によると

初回やしばらくアクセスのなかった後は OCSP response: no response sent が返ってきますが、その次のアクセスでは OCSP Response が返ってきます

とのことで、もうますますよくわかんない。
結局の所、ssl_trusted_certificateに指定するファイルって何足すの?
ROOT証明書?と、中間証明書?と、サーバ証明書?え?じゃなくてクロスルート証明書?初めて聞くんですけど。しかも順番も関係あるんですか。。
かと思えば

POSTD
NginxでHTTPS:ゼロから始めてSSLの評価をA+にするまで Part 2 – 設定、Ciphersuite、パフォーマンス

では「中間証明書だけでいい」的なことが書いてあるし。
で、早速試してみるもOCSP response: no response sent...パニック!!
いや、どのサイトでも正しいことが書いてあって、自分が訳わかってないだけなのは重々承知なんだけどさー。
ググっても日本語記事少ねーし、どーせ遊びだしやめよっかなーとも思ったんだけど、何か気持ち悪くてもうちょっと粘ったところ以下を発見。

Server Fault
OCSP validation - unable to get local issuer certificate

cat GeoTrustGlobalCA.crt rapidsslG3.crt > ocsp-chain.crt

英語読めないけど文字面の雰囲気で、ルート証明書と中間証明書を足す感じはわかったので試してみた。
いろいろやってきて初めての組み合わせだったし。すると

OCSP response: 
======================================
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)

何か成功したーー!!!!
ということで、自分の中ではssl_trusted_certificateルート証明書と中間証明書の組み合わせで決定。多分もう設定することもないけど。

しかしインフラエンジニアとかサーバエンジニアの人たちはすげーわ。

コメント0