Azure Web Apps用にSSL証明書を作成・登録する手順と注意点Tech TIPS(1/2 ページ)

Azure Web AppsでHTTPS対応のセキュアなWebサイトを構築するには、SSL証明書の登録が必須だ。WindowsのIISや一般的なレンタルサーバとも異なるその登録手順と注意点を説明する。

» 2017年05月29日 05時00分 公開
[島田広道デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象サービス: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自体はワイルドカード証明書にも対応している。

作業用PCで証明書署名要求を作る

 SSL証明書を用意するには、まず「CSR(Certificate Signing Request:証明書署名要求、証明書要求)」を作る必要がある。それには幾つかの方法がある。

  • OpenSSLコマンドを使う
  • Windows標準のcertreq.exeコマンドを使う
  • IISなどサーバソフトウェア内蔵のCSR作成機能を使う

 ここでは、WindowsマシンがあればGUIで簡単に操作できるIISマネージャでの作成方法を紹介しよう。

●作業用PC にIISマネージャをインストールする

 まずは作業用のWindows PCでIISマネージャを準備する。この作業は1回だけ実施すればよい。また既にIISマネージャがインストール済みであれば、この手順は飛ばして次へ進んでいただきたい。

 また、必要なのはIISそのものではなく、証明書を取り扱う管理ツールとしてのIISマネージャだけなので、以下の手順で絞り込んでインストールする。

 以下、Windows 10を例に挙げているが、Windows 7/8.1でも手順は同じだ。Windows Serverの場合は、サーバマネージャから[役割と機能の追加]ウィザードを起動して、下記と同じ機能をインストールする。

IISマネージャをインストールする(1/2) IISマネージャをインストールする(1/2)
あらかじめ管理者アカウントでWindowsにサインイン(ログオン)しておくこと。
  (1)コントロールパネルの[プログラムと機能]を開く。
  (2)左端メニューから[Windows の機能の有効化または無効化]を選ぶ。

IISマネージャをインストールする(2/2) IISマネージャをインストールする(2/2)
「Windows の機能有効化または無効化」ダイアログが表示されたところ。
  (3)機能一覧ツリーで[インターネット インフォメーション サービス]以下を展開し、これらにチェックを入れてオンにする。

●作業用PCのIISマネージャで証明書要求を作成する

 次に、IISマネージャを起動して[サーバー証明書]からCSRを作成する。

IISマネージャで証明書署名要求(CSR)を作る(1/5) IISマネージャで証明書署名要求(CSR)を作る(1/5)
Windows 10のスタートメニューで[Windows 管理ツール]−[インターネット インフォメーション サービス (IIS) マネージャ]をクリックして、IISマネージャを起動したところ。「IIS」で検索すると簡単に見つかる。
  (1)真ん中の「機能ビュー」ペインで[サーバー証明書]をダブルクリックする。

IISマネージャで証明書署名要求(CSR)を作る(2/5) IISマネージャで証明書署名要求(CSR)を作る(2/5)
サーバ証明書の管理画面が表示されたところ。
  (2)右端メニューから[証明書の要求の作成]をクリックする。

IISマネージャで証明書署名要求(CSR)を作る(3/5) IISマネージャで証明書署名要求(CSR)を作る(3/5)
CSRを作成するためのウィザードが表示されたところ。証明書のサブジェクトに記される内容を指定する。
  (3)SSL証明書を割り当てるWeb Appsサイトのホスト名をFQDNで指定する。間違えないように十分確認すること。
  (4)組織(企業など)や組織単位(部門・部署など)、所在地の情報を半角英数字で記入する。ただしドメイン認証の証明書の場合、これらの情報は記載されない(代わりに証明書の販売店などの情報が記される)。

IISマネージャで証明書署名要求(CSR)を作る(4/5) IISマネージャで証明書署名要求(CSR)を作る(4/5)
証明書の暗号化について選択する。
  (5)Microsoft RSA SChannel Cryptographic Provider」を選ぶ(これがデフォルトのはずだ)。
  (6)2048」を選ぶ。デフォルトの「1024」のままだと公的な認証局では拒否されてしまうので注意が必要だ。

IISマネージャで証明書署名要求(CSR)を作る(5/5) IISマネージャで証明書署名要求(CSR)を作る(5/5)
  (7)CSRを保存するテキストファイル名を指定する。

 作成したCSRをテキストエディタで開くと、次のような内容が表示されるはずだ。

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIElTCCA30CAQAwgZoxCzAJBgNVBAYTAkpQMQ4wDAYDVQQIDAVUb2t5bzEUMBIG
……中略……
D7Yeq/2AD1PYU9FHPxBzMwMn6i1S0z0t+g==
-----END NEW CERTIFICATE REQUEST-----



認証局にSSL証明書の発行を依頼する

 次は、公的な認証局にCSRを送って証明書の発行を申し込む。本稿ではFujiSSL(ニジモ)でドメイン認証の証明書を発行してもらった。その手順は認証局や販売店によって異なるので細かい説明は割愛する(各社が用意しているマニュアルを参照していただきたい)。また証明書の種類や認証局については「実践! SSL証明書の買い方・選び方」が参考になるだろう。

認証局にSSL証明書の発行を依頼する 認証局にSSL証明書の発行を依頼する
これはFujiSSL(ニジモ)で証明書の発行を申し込んでいるところ。
  (1)CSRを送信した直後の画面。共通名(Common Name:コモンネーム)がWeb Appsサイトのホスト名(FQDN)と一致しているか、再度確認する。

 ここで注意すべきは「認証」をしっかりパスすることだ。認証局は、悪意のある攻撃者が勝手に他人の所有するドメインの証明書を取得するのを防ぐため、証明書発行の申し込み者が対象のドメインを所有していることを「認証」によって確認する。その代表的な手段は次の通りだ。

  • ドメイン登録情報に記載のメールアドレスで認証用メールを受け取る
  • 対象のドメインに特定のDNSレコードを追加する
  • Webサイトに特定のHTMLファイルを設置する

 メールの場合はドメイン登録情報が誤っていないか、あるいは登録されているメールアドレスで受信できるか、事前に確認する。DNSレコードの場合は、あらかじめDNS管理者に話を通しておく、といったことが必要だろう。認証の具体的な手順は、証明書発行の申し込み中に必ず説明されるので、よく確認して対処しよう。

証明書を受け取って作業用PCに保存する

 認証局からメール添付などで証明書を受け取ったら、CSRを作成した作業用PCの証明書ストアに保存する。その際、SSL証明書だけではなく、中間CA(Certificate Authority:認証局、認証機関)の証明書も保存する必要がある。

認証局から受け取った証明書一式 認証局から受け取った証明書一式
これはメールで受け取ったZIPファイルを展開したところ。認証局は販売店によっては、Webサイトからダウンロードすることもある。ファイルの形式も認証局によって異なることがある。ここではFujiSSLでの例を紹介する。
  (1)中間CA証明書のファイル。複数の証明書が含まれることもある。
  (2)発行してもらったSSL証明書のファイル。これをダブルクリックすると、その内容を確認できる。

受け取ったSSL証明書の「証明のパス」 受け取ったSSL証明書の「証明のパス」
これはSSL証明書の内容を表示しているところ。
  (3)[証明のパス]タブを選ぶと、発行したCAがツリー形式で表示される。
  (4)ルートCA。公的な認証局の場合、この証明書は最初から作業用PCやWeb Appsに格納されている。
  (5)このSSL証明書の発行に関わった中間CA。この例では2つの中間CAが存在し、全部で4階層になっている。
  (6)このSSL証明書。

●中間CA証明書を作業用PCの証明書ストアに保存する

 中間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証明書を証明書ストアに保存する(1/2) 中間CA証明書を証明書ストアに保存する(1/2)
これはcertlm.mscを起動して、ローカルコンピュータの証明書ストアを開いたところ。
  (1)[中間証明機関]−[証明書]を選ぶ。
  (2)(1)を右クリックして[すべてのタスク]−[インポート]を選ぶ。ウィザードが起動したら「インポートする証明書ファイル」画面まで進めて、中間CA証明書のファイルを指定し、次へ進む。

中間CA証明書を証明書ストアに保存する(2/2) 中間CA証明書を証明書ストアに保存する(2/2)
  (3)[証明書をすべて次のストアに配置する]が選択されていて、[中間証明機関]が指定されていることを確認する。次へ進んでウィザードを完了させる。

 複数の中間CA証明書を保存する場合は、上記の手順を繰り返す必要がある。

 作業が完了したら、[中間証明機関]−[証明書]に正しく配置されているか確認する。

証明書ストアに保存した中間CA証明書を確認する 証明書ストアに保存した中間CA証明書を確認する
再びcertlm.mscに戻ったところ。
  (1)[中間証明機関]−[証明書]を選ぶ。
  (2)必要な中間CA証明書が格納されているかどうか確認する。サムプリントを照合するのが望ましい。

 保存したはずの中間CA証明書が見つからない場合は、左ペインのツリーのトップを右クリックして「証明書の検索」を選び、発行先を指定して検索する。見つかったら、ドラッグ&ドロップで上記の場所に移動する。

●SSL証明書を作業用PCの証明書ストアに保存する

 SSL証明書は、CSRの作成に用いたIISマネージャを使って証明書ストアに保存する。

IISマネージャでSSL証明書を証明書ストアに保存する(1/3) IISマネージャでSSL証明書を証明書ストアに保存する(1/3)
CSR作成に用いたWindows PCのIISマネージャを使う必要がある。
  (1)IISマネージャの右端メニューから[証明書の要求の完了]をクリックする。

IISマネージャでSSL証明書を証明書ストアに保存する(2/3) IISマネージャでSSL証明書を証明書ストアに保存する(2/3)
  (2)発行してもらったSSL証明書のファイルを指定する。
  (3)IISマネージャや証明書ストアなどでこの証明書を識別するための分かりやすいテキストを指定する。
  (4)SSL証明書の保存先を指定する。[個人]または[Web ホスティング]のどちらでもよい。ただし後でエクスポートする際に必要なので、どちらに保存したのか覚えておくこと。

IISマネージャでSSL証明書を証明書ストアに保存する(3/3) IISマネージャでSSL証明書を証明書ストアに保存する(3/3)
元のIISマネージャに戻ったところ。
  (5)保存されたSSL証明書。[証明書ストア]列に保存先が記されている。ダブルクリックして証明書の[全般]タブを開くと、「この証明書に対応する秘密キーを持っています」と表示されるはずだ。

       1|2 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。