SIM フリーどさにっき 〜2014年4月下旬〜

by やまや
<< = >>

2014年4月21日(月)

SSL 失効確認

_ openssl コマンドで OCSP な SSL 証明書の失効確認を。

_ …できるはずなんだが、エラーになる。パケットキャプチャしてみたら、HTTP リクエストに Host: ヘッダが含まれていなかった。なので、OCSP レスポンダが name based virtual host だとコケる。えー。

_ ソースを覗いてみたところ、-header で追加ヘッダを指定できるらしい。man とか見てもどこにも記述がないけど。てなわけで、こんな感じでドン。

% openssl ocsp -cert 証明書 -issuer CA証明書 -url http://OCSPレスポンダURL -header Host レスポンダホスト名 -CApath dir
-CApath で指定するディレクトリには、関係するルート証明書やら中間証明書やらをバラして c_rehash (*1)しておく必要あり(もしくはルート証明書と中間証明書をひとつのファイルに結合したものを -CAfile で指定する)。

_ ちなみに、OCSP ではなく CRL による失効確認は、証明書に記載されている URL から CRL をダウンロードしてきてから(必要なら DER → PEM に変換して)、c_rehash した後で、

% openssl verify -CApath dir -crl_check 証明書
とすればよし。もっと単純に、
% openssl crl -in CRLファイル -text
でずらずらっと列挙される失効証明書のリストの中から目的の証明書のシリアル番号を探しだす、というのでもできなくはないけど、この場合その CRL がホンモノかどうかのチェックしてないのでその点注意。


(*1): c_rehash は openssl のソースには含まれているけど、なぜかインストールされないことが多いスクリプト。見当たらなければソースを拾ってきて取り出しましょう。

Cloudflare にホスティングしてる SSL なサーバの数

_ およそ13万ということが明らかに。

_ そんなわけで、例の穴が発覚して以降、あちこちの CA が発行した証明書がどれだけ失効したのかを上に書いた方法で調べてたわけなんですよ。結果として、どこの CA もたいてい脆弱性発覚前の数倍〜数十倍程度失効させていたということがわかった。 発行はタダなのに失効は有料と批判されていた StartSSLもほぼ同様の傾向で、失効の数がとくに少なめということはない。

_ ただ、たしかに増えてるけど、予想よりはだいぶ少ない。ちゃんとリスクを評価した上で、revoke させなくても大丈夫と判断したのならいいんだけどねぇ。逆に、1.0.1 を使ってなかったのに、よくわからないけどネットで失効させろと書いてあったから失効させてみました的なのも多そう。

_ たいていの CA はこんな感じだったんだけど、しかし globalsign だけが異常な数の証明書を失効させていた。

> fetch -q -o - http://crl.globalsign.com/gs/gsorganizationvalg2.crl | openssl crl -inform DER -text | awk '/Revocation Date: Apr.*2014/{printf "%s/%02d\n", $3,$4}' | sort | uniq -c
   1 Apr/01
   3 Apr/02
   2 Apr/03
   3 Apr/04
  18 Apr/08
  57 Apr/09
 125 Apr/10
  85 Apr/11
   1 Apr/12
   9 Apr/13
  99 Apr/14
   6 Apr/15
69240 Apr/16
64092 Apr/17
 530 Apr/18
   1 Apr/19
脆弱性発覚前は1日あたり数件あるかないかだったのが、発覚から3日で3桁に(このへんはほかの CA と同じ傾向)。そして1週間後に突然1日6万件が revoke されるという。ほかの CA とは明らかに異なるおかしな動き。

_ 何かのトラブルがあったのかなー、とか訝ってたんだけど、後になって、 Cloudflare が証明書を全部失効させていたことを知る。こいつのせいか。ちうことで、4/16-17 にかけての大失効祭はほとんどが Cloudflare にホスティングしていた証明書だったということで、この数からしておよそ13万の証明書が使われていたということがわかった、と。

_ ちなみに CRL のファイルサイズが現在およそ 5MB。証明書のチェックにこんな巨大なもんをダウンロードさせるなんて異常事態もはなはだしい。

無題

_ そういえば、失効まわりでは、 ocsp.verisign.net の DNS がおかしい件、今も直ってないみたい。


<< = >>
やまや