NETWORK ENGINEER BLOG

Tips and Reviews for Engineers

SSL サーバー証明書について

SSL サーバー証明書には以下の2つの機能があります。

サイトの実在証明
  • ウェブサイトを運営する組織が実在する事を確認する機能
    • SSL 通信では、まずサーバーが「SSLサーバ証明書」をクライアントに送信します。
    • クライアントは証明書について、次のことを確認します。
      • 証明書が信頼できる認証機関*1によって署名されているか。
      • 通信中のサーバーが、証明書に記載されているサーバーと一致しているか。
SSL暗号化通信
  • ウェブサイトで入力する情報を暗号化する機能
    • SSL サーバ証明書には「公開鍵」と「秘密鍵」が含まれ、クライアントは「公開鍵」を利用して入力情報を暗号化し、サーバは「秘密鍵」を使って解読します。
自己(オレオレ)証明書とは

通常、ウェブブラウザは、自分の知らない認証機関が署名したサーバ証明書が送られてくると、「信頼性を検証できない」という警告を出します。このような証明書が「オレオレ証明書」と呼ばれています。
利用者が限られている社内システムにおいては、問題ないかもしれませんが、不特定多数の利用者者がアクセスするサーバーにおいては、推奨されません。

オレオレ認証局の構築

Windows2012R2 を使用した構築例になります。AD インストール済みを前提とします。

Active Directory 証明書サービスをインストールします。
f:id:FriendsNow:20150720011826p:plain

役割サービスの選択で「認証機関」と「認証 Web 登録」をチェックします。
f:id:FriendsNow:20150720011910p:plain

インストール完了後、認証サービスを構成します。
f:id:FriendsNow:20150720011926p:plain

役割サービスの選択で「認証機関」と「認証 Web 登録」をチェックします。
f:id:FriendsNow:20150720011955p:plain

その他は、本例ではデフォルト値を使用します。

証明書を使用するサーバの構築

Microsoft 管理コンソール (MMC)から、署名要求(CSR)を作成します。
f:id:FriendsNow:20150720012018p:plain

「登録ポリシーなしで続行する」を選択します。
f:id:FriendsNow:20150720012049p:plain

テンプレートは「レガシキー」とし、要求形式は「PKCS」とします。
f:id:FriendsNow:20150720012109p:plain

詳細のプロパティをクリックします。
f:id:FriendsNow:20150720012136p:plain

サブジェクトを設定します。
f:id:FriendsNow:20150720012151p:plain

拡張機能のキー使用方法に「データの暗号化」と「サーバ認証」を指定します。
f:id:FriendsNow:20150720012218p:plain

秘密キーのサイズを「2048」とし、種類を「Exchange」とします。
f:id:FriendsNow:20150720012226p:plain

ファイル形式は「Base 64」とします。
f:id:FriendsNow:20150720012239p:plain

AD-CA*2にアクセスし「認証を要求する」をクリックします。
f:id:FriendsNow:20150720012248p:plain

「証明書の要求の詳細設定を送信する」をクリックします。
f:id:FriendsNow:20150720012257p:plain

「Base 64エンコード CMC・・」をクリックします。
f:id:FriendsNow:20150720012306p:plain

先の手順で生成した CSR の内容を貼付し、テンプレートに「Web サーバー」を指定します。
f:id:FriendsNow:20150720012318p:plain

Base 64 エンコードで「証明書」及び「証明書チェーン」をダウンロードします。
f:id:FriendsNow:20150720012329p:plain

MMC を使用して、「証明書」及び「証明書チェーン」をインポートします。
f:id:FriendsNow:20150720012341p:plain

証明書を適用する Web サイトを選択し「バインド」を実行します。
f:id:FriendsNow:20150720230830p:plain

サイトバインドの追加で、SSL 証明書を選択します。
f:id:FriendsNow:20150720230839p:plain

クライアント接続確認

証明書をインストールしていない場合、警告が表示されます。
f:id:FriendsNow:20150720231237p:plain

MMC を使用して、「証明書」及び「証明書チェーン」を「信頼されたルート証明機関」へインポートします。
※注意点として「ユーザー」ではなく「ローカルコンピュータに」インポートします。f:id:FriendsNow:20150720231249p:plain

警告が表示されず、アクセス可能となります。
f:id:FriendsNow:20150720231255p:plain

*1:通常は、ブラウザの製造元が信頼している認証機関

*2:http://AD-CA サーバのアドレス/certsrv