DoCoMo の FirstPass を使ったクライアント証明書認証が失敗するサーバ、 認証がどう、というより通信がコケている感じで ssl_request.log にもログが残ってくれず長いこと悩んでいた。
サーバのfxp0インターフェースのMTUを1200に減らしてみたら通信できるようになった! 携帯電話自体がSSLをしゃべるようになって、この辺の実装を少しサボってるのかもしれんなあ。 フレッツ回線にサーバをぶら下げている場合は注意ということで。
そんな訳で fxp0のMTUを減らしてみたが、ospfd が文句言わなくなってる!! 以前はMTU違うぞゴラというメッセージで隣とネゴシエーションしてくれなかったのに。素晴らしい。
この際念のため zebra 本体に向かってスタティックルーティングを書いてから実験した。 zebra.conf:
ip route 0.0.0.0/0 192.168.1.1 200
distance は OSPF よりも優先度を下げるために200で設定。 バックアップルーティングという意味ではいつも書いておいた方がいいか。
某グループウェアへの認証に FirstPass を使う設定。
ScriptAlias /groupware/ "/home/groupware/www/"
<Location "/groupware">
SSLRequire %{SSL_CLIENT_I_DN_CN} eq "Hoge CA" \
or ( \
%{SSL_CLIENT_I_DN_O} eq "NTT DoCoMo, Inc." \
and %{SSL_CLIENT_I_DN_OU} eq "DoCoMo Secure Network Secondary 1" \
and %{SSL_CLIENT_I_DN_C} eq "JP" \
and %{SSL_CLIENT_S_DN_CN} in {"01A23B4567CD8E9","01A23B4567CD8E0"} \
)
</Location>
SSLOptions FakeBasicAuth を使おうと思ったが、 このサイトは「ローカルCAで発行されたクライアント証明書からのアクセスはパスワードなしでpass」 で運用してるので、難しい。 これも DoCoMoのIP領域だけ Basic認証要求+FakeBasicAuth にすればいけるかなあ。
ぐはあ。たぶん3年ぐらいは暇つぶしに困らない。
ここまでマニュアルなしでいけて、一応警告やらパフォーマンスやらを見れるようになった。
高い価格を出して ほにゃららEnterprise Edition を買うような環境だったら、 ついでにMOMを購入してもらうぐらいの価値はあるようには感じる。