IISでhttpsのサイトを作成する - SSLサイトの構成
IISでhttpsプロトコルに対応したサイトの作成手順を紹介します。
概要
2015年中に無料でSSLの証明書を取得できる "Let's Encrypt" プロジェクト(
https://letsencrypt.org/)の登場により、今後httpsサイトの対応の可能性が強くなってきました。今後の対応に先立ち、IISでSSLに対応したhttpsサイトの作成手順を実践してみます。
注意
Let's EncryptプロジェクトのSSL証明書の作成手順は通常のSSL証明書の作成手順とは異なります。Let's Encrypt プロジェクトでのSSL証明書の取得手順については
こちらの記事を参照してください。
作成手順
サーバー証明書の作成
補足
自組織の証明機関を利用して証明書を発行する場合、下記の手順で作成した証明書には、SAN(Subject Alternative Name)フィールドにDNS Nameの含まれない証明書が発行されます。DNS Nameのない証明書ではGoogle Chromeで証明書のエラーが発生する場合があります。(
参考記事)
SAN(Subject Alternative Name)フィールドを含み、DNS Nameの値を設定する証明書を作成する場合は、
こちらの記事の証明書作成手順を参照してください。
証明書要求ファイルの作成
[インターネット インフォメーション サービス (IIS)マネージャー]を起動します。
サーバーのノードを選択し、右側の機能ビューの[サーバー証明書]をダブルクリックします。
[サーバー証明書]画面が表示されます。右側の[操作]エリアの[証明書の要求の作成]をクリックします。
[証明書の要求]ダイアログが表示されます。各フィールドを入力します。[一般名]の欄にはこのWebサーバーにアクセスするためのURLのドメイン名を設定します。URLが"https://iceberg.ipentec.com/" となる場合は、一般名に "iceberg.ipentec.com"を設定します。
DNSサーバーでドメイン名の解決をせずにホスト名のみでアクセスるサーバーの場合はホスト名を一般名に設定します。(下記の例では https://iceberg/ のURLでサーバーにアクセスされて利用されます。)
設定ができたら[次へ]ボタンをクリックして進みます。
暗号化サービスプロバイダーを設定します。今回はデフォルトのままとしました。[次へ]ボタンをクリックします。
証明書の要求ファイル名を設定します。設定後[次へ]ボタンをクリックします。
証明書の要求ファイルが出力されました。
証明書の発行
証明書要求ファイルを認証局に渡し、証明書を発行します。自組織の認証局を利用する場合の証明書発行手順は
こちらの記事を参照してください。
アクセスするクライアント側で証明書の発行元が信頼されている必要があるため、一般に公開されているWebサーバーの場合は自組織の認証局で発行された署名書を利用してもほとんど意味がありません。
インターネットエクスプローラの証明書の設定の[信頼されたルート証明機関]にデフォルトで登録されている証明機関に証明書を発行してもらう必要があります。
認証局の証明書のインストール(サーバー側)
自組織の認証局(CA)で証明書を発行した場合は自組織のCAを信頼されたルート証明機関として登録する必要があります。自組織のCAの証明書をインポートします。詳しくは「
リンク」の記事を参照して下さい。証明書がSymantecなどの既に信頼されてる認証局で発行されている場合はこの作業は不要です。
補足
格安でSSL証明書を発行できるサービスもあります。
http://www.sslbox.jp/
証明書のインストール
発行された証明書をインストールします。
IISマネージャを開き、サーバーノードを選択し、機能ビューの[サーバー証明書]をダブルクリックします。[サーバー証明書]画面が表示されます。右側の[操作]エリアの[証明書の要求の完了]リンクをクリックします。
[証明書の要求を完了する]ダイアログが表示されます。
認証局から発行された証明書ファイルを[証明機関の応答が含まれるファイルの名前]欄に設定します。[フレンドリ名]には識別しやすい名前を設定します。設定後[OK]ボタンをクリックします。
証明書の一覧に追加されました。
httpsのバインドを追加する
サイトにhttpsのバインドを追加します。
IISマネージャーを起動します。サーバーノード内の[サイト]ノードを展開します。httpsに対応させるサイトのノードをクリックして選択します。
右クリックしポップアップメニューを表示します。メニューの[バインドの編集]を選択します。
[サイトバインド]ダイアログが表示されます。右側の[追加]ボタンをクリックします。
[サイトバインドの追加]ダイアログが表示されます。
[種類]は"https"を選択します。
httpsを選択するとダイアログの下部に[SSL証明書]の欄が表示されます。コンボボックスを開き先ほど追加した証明書を選択します。コンボボックスには"フレンドリ名"が表示されています。
設定ができたら[OK]ボタンをクリックしてダイアログを閉じます。
[サイトバインド]ダイアログに戻ってきました。先ほど追加したバインドが一覧に追加されています。[閉じる]ボタンをクリックしダイアログを閉じます。
SSL設定の確認
IISマネージャーで、サイトのノードを選択します。右側の機能ビューの[SSL設定]をダブルクリックします。
SSLの設定画面が表示されます。ここでSSLを必須にするかを設定できます。
認証局(CA)の証明書のインポート
サーバーの証明書が自組織のCAで発行された証明書の場合クライアント側は証明書の発行元が信頼できないためエラーが発生します。クライアント側のPCにサーバーの証明書を発行したCAの証明書をインポートします。手順の詳細は「
リンク」の記事を参照して下さい。サーバー側の証明書がSymantecなどの既に信頼されてる認証局で発行されている場合はこの作業は不要です。
動作確認
httpsのURLでアクセスします。正しく設定ができていれば、ワーニングメッセージなどは表示されず、サイトが表示できます。またアドレスバーも赤くならないことが確認できます。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。