質問: クライアント証明書を必須にすると接続できない 社内のssl環境を構築しておりますが、私の知識不足のためになかなかうまくいきません。 申し訳ありませんが、ご教授願えますでしょうか? ---テスト環境--- サーバa:www.xxxx.co.jp(winodws server 2008 r2 役割:iis7.5、ad証明書サービス(スタンダート ルートca)) サーバb:yyy.xxxx.co.jp(winodws server 2008 r2 役割:iis7.5) クライアント1:ie7(windowsxp)、ie9(vista):クライアント証明書あり クライアント2:ie8(windowsxp):クライアント証明書なし ---証明書--- サーバa(ルートca認証局) |--サーバa:サーバaルートcaでサーバ証明書発行(iis用:サイトのバインドに設定しsslを設定(ssl設定:sslが必須、クライアント証明書:必須)) |--サーバb:サーバaルートcaでサーバ証明書発行(iis用:サイトのバインドに設定しsslを設定(ssl設定:sslが必須、クライアント証明書:必須)) |--クライアント1:サーバaルートcaでクライアント証明書発行 ---アクセス--- クライアント1→サーバaのサイト:表示/ok(正常にサイトを確認できる) クライアント2→サーバaのサイト:表示/ng(サイトを確認できない)クライアント証明書がないので正しい ※クライアント1→サーバbのサイト:表示/ng(403 13のエラーとなり接続できない)クライアント証明書はルートcaの証明があるのに接続できない クライアント2→サーバbのサイト:表示/ng(サイトを確認できない)クライアント証明書がないので正しい なぜサーバbのサイトへアクセスできないのでしょうか?ルートcaの証明書は有効となっているのですが?です。 ちなみにクライアント証明書のcrlは「http://www.xxxx.co.jp/」のcrlの場所となっています。 サーバbにad証明書サービスをインストールし既存caにてルートcaと利用すればよいのはわかるのですが、 インストールなしでできないものでしょうか?サーバを追加するたびにクライアント証明書を要求・発行しなくてもルートで承認している クライアントから接続できないのでしょうか? 証明書の発行、考えに問題があるのか分からないのですが、なにか回答があれば助かります。
回答: 少し話しがズレますが、diginotarの事件はご存知でしょうか。 http://technet.microsoft.com/ja-jp/security/advisory/2607712 認証局がネットワーク上にあったため、侵入され好き勝手な証明書が発行された事件です。 以下、すこしキツイ言い方になりますがご容赦を。 原則として、認証局はオフラインであり、ネットワークとは切り放すものです。 iisと同じサーバにad証明書サービスをインストールするなんて論外です。 microsoftのマニュアルにも、その旨がキチンと記載されているハズです。 設定内容の詳細が不明なので何が原因かは判断しかねますが、本来ならサーバbの設定でssl通信ができなければいけません。 例えばレンタルサーバなどで、ベリサインなどから証明書を発行してもらい、iisでサーバを運用する場合、そのレンタルサーバはサーバbの状態で運用されています。そうでなければレンタルサーバとして成り立ちません。 設定(設計?)を根本から見直さないとムリだと思います。 あと、余談ですが、サーバはルート証明書を信頼する必要はありません。 (信頼しても、しなくても、関係ありません) ルート証明書を信頼しなければssl通信ができないのはクライアント側だけです。 ↑がもし理解できていないとすれば、やはり勉強不足です。