Manul Tech

nginxのOCSP設定

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


趣味で弄っているnginx

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


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

全然できない

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

OCSP response: no response sent

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

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

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

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

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」はルート証明書と中間証明書の組み合わせで決定。多分もう設定することもないけど。

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