Azure Web AppsでHTTPS対応のセキュアなWebサイトを構築するには、SSL証明書の登録が必須だ。WindowsのIISや一般的なレンタルサーバとも異なるその登録手順と注意点を説明する。
対象サービス:Microsoft Azure、Web Apps
Microsoft AzureのWeb Appsで、特定のホスト名を持つHTTPS対応のWebサイトを構築するには、SSL/TLS用のサーバ証明書(以下、SSL証明書)をセットアップする必要がある。ただ、その手順は一般的なレンタルサーバやWindows ServerのIISとも異なり、Web Appsに慣れていないと戸惑いがちなところがある。
そこで本稿では、SSL証明書を用意してWeb Appsに割り当てるまでの一連の手順を説明する。Web Appsでは、Azureポータルで証明書を購入して割り当てる「App Service証明書」も利用できる。ただ本稿では、より汎用的な公的認証局から発行された証明書を対象とする。
例として挙げるのは、ドメイン認証で「wwwサブドメイン付き」「www無し」の2つのホスト名をサポートするSAN証明書とする(1年間で数千円の安価なもの)。Web Apps自体はワイルドカード証明書にも対応している。
SSL証明書を用意するには、まず「CSR(Certificate Signing Request:証明書署名要求、証明書要求)」を作る必要がある。それには幾つかの方法がある。
ここでは、WindowsマシンがあればGUIで簡単に操作できるIISマネージャでの作成方法を紹介しよう。
まずは作業用のWindows PCでIISマネージャを準備する。この作業は1回だけ実施すればよい。また既にIISマネージャがインストール済みであれば、この手順は飛ばして次へ進んでいただきたい。
また、必要なのはIISそのものではなく、証明書を取り扱う管理ツールとしてのIISマネージャだけなので、以下の手順で絞り込んでインストールする。
以下、Windows 10を例に挙げているが、Windows 7/8.1でも手順は同じだ。Windows Serverの場合は、サーバマネージャから[役割と機能の追加]ウィザードを起動して、下記と同じ機能をインストールする。
次に、IISマネージャを起動して[サーバー証明書]からCSRを作成する。
作成したCSRをテキストエディタで開くと、次のような内容が表示されるはずだ。
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIElTCCA30CAQAwgZoxCzAJBgNVBAYTAkpQMQ4wDAYDVQQIDAVUb2t5bzEUMBIG
……中略……
D7Yeq/2AD1PYU9FHPxBzMwMn6i1S0z0t+g==
-----END NEW CERTIFICATE REQUEST-----
次は、公的な認証局にCSRを送って証明書の発行を申し込む。本稿ではFujiSSL(ニジモ)でドメイン認証の証明書を発行してもらった。その手順は認証局や販売店によって異なるので細かい説明は割愛する(各社が用意しているマニュアルを参照していただきたい)。また証明書の種類や認証局については「実践! SSL証明書の買い方・選び方」が参考になるだろう。
ここで注意すべきは「認証」をしっかりパスすることだ。認証局は、悪意のある攻撃者が勝手に他人の所有するドメインの証明書を取得するのを防ぐため、証明書発行の申し込み者が対象のドメインを所有していることを「認証」によって確認する。その代表的な手段は次の通りだ。
メールの場合はドメイン登録情報が誤っていないか、あるいは登録されているメールアドレスで受信できるか、事前に確認する。DNSレコードの場合は、あらかじめDNS管理者に話を通しておく、といったことが必要だろう。認証の具体的な手順は、証明書発行の申し込み中に必ず説明されるので、よく確認して対処しよう。
認証局からメール添付などで証明書を受け取ったら、CSRを作成した作業用PCの証明書ストアに保存する。その際、SSL証明書だけではなく、中間CA(Certificate Authority:認証局、認証機関)の証明書も保存する必要がある。
中間CA証明書は、一般的に認証局からSSL証明書と一緒に送付されることが多い。また、認証局または販売店のWebサイトからダウンロードできるのが普通だ。入手したら、作業用PCの証明書ストアの[中間証明機関]という場所に保存する。
注意すべきは、中間CA証明書のファイルが必ずしもWindowsにそのまま受け入れられる形式ではない場合があることだ。例えば複数の中間CA証明書が単一のテキストファイルに記載されているとWindowsではそのまま利用できない。この場合は、別々のテキストファイルに分離して1つずつ保存する必要がある。逆にp7b形式(.p7bファイル)のように、SSL証明書と複数の中間CA証明書をまとめて1回でインポートできる場合もある。そのため、配布されたファイルの内容を確認してから作業を進めること。
中間CA証明書を保存するには、コマンドプロンプトなどで「certlm.msc」と入力・実行する。これはローカルコンピュータ用の証明書管理コンソールだ。Windows 7/Windows Server 2008 R2以前の場合は、mmc.exe(Microsoft管理コンソール)で証明書スナップインを組み込む必要がある(その際、「コンピューター アカウント」を選択すること)。
複数の中間CA証明書を保存する場合は、上記の手順を繰り返す必要がある。
作業が完了したら、[中間証明機関]−[証明書]に正しく配置されているか確認する。
保存したはずの中間CA証明書が見つからない場合は、左ペインのツリーのトップを右クリックして「証明書の検索」を選び、発行先を指定して検索する。見つかったら、ドラッグ&ドロップで上記の場所に移動する。
SSL証明書は、CSRの作成に用いたIISマネージャを使って証明書ストアに保存する。
Copyright© Digital Advantage Corp. All Rights Reserved.