トラブルシューティング:SSL 証明書

この記事では、SSL 証明書のトラブルシューティングの概要について説明します。ここで示すヒントは一般的なものなので、SSL 接続を必要とする他の AirWatch コンポーネントのトラブルシューティングにも利用できます。このガイドラインは、アプリケーション ログに SSL または TLS に関するエラー メッセージが含まれている際に、証明書が有効で正しく構成されていることを調査/確認するときに使用してください。

SSL エラー メッセージ

SSL/TLS エラーが発生するのは、標準的な SSL 証明書を用いて暗号化された、2 コンポーネント間の接続においてです。AirWatch コンポーネントの各種ログに出力される、SSL 接続エラーが原因のエラー メッセージのうち、一般的なものを次に示します。これらのエラーを正しく特定することによって、トラブルシューティングをより効率的に行うことができるようになります。

* Could not establish trust relationship for the SSL/TLS secure channel (SSL/TLS のセキュリティで保護されているチャネルに対する信頼関係を確立できませんでした) 
* The remote certificate is invalid according to the validation procedure (検証プロシージャによると、リモート証明書は無効です)
* At least one security token in the message could not be validated (メッセージのセキュリティ トークンの少なくとも 1 つを検証できませんでした)
* The SSL certificate is signed by an unknown certificate authority (SSL 証明書が不明の証明機関によって署名されています)

証明書のトラブルシューティングの基本

SSL 接続の確立においては、「クライアント」と「サーバ」の 2 つのコンポーネントが関わります。クライアントは接続を開始する側で、サーバで設定された SSL 証明書を信頼するように求められます。このセクションでは、サーバ コンピュータにアクセスしようとしているクライアント コンピュータ上で実行するトラブルシューティングについて説明します。

AirWatch コンポーネントのログに SSL エラーが含まれていた場合、最初のトラブルシューティングとして、ブラウザを使って、対象コンポーネントをホストしているサーバにアクセスしてみることをお勧めします。ブラウザを使用することで、適切なエンドポイントに直接、接続することができ、そこで何らかの SSL/TLS エラーが発生しているかどうか確かめることができます。Internet Explorer や Google Chrome では、エラーがあればブラウザのウィンドウ自体に警告メッセージが表示され、さらに下図に示すようにアドレス バーにも赤い警告メッセージが現れます。一般的に Internet Explorer の方が、信頼の設定がサーバの OS そのものに緊密に結びついているため、SSL のトラブルシューティングには向いています。

 image001.png:

image002.png

 この図に示すような証明書エラーが発生している場合、問題点を特定するために SSL 証明書の内容の確認が必要になることもあります。その場合は、アドレス バーの 証明書のエラー をクリックします。これにより、問題の概略と、証明書の内容を表示するためのオプションを含むポップアップが表示されます。

 image003.png:

証明書の表示 をクリックすると、証明書情報を含む新たなウィンドウが表示されます。このウィンドウには、全般詳細証明書のパス の 3 つのタブがあります。全般 タブには、証明書の発行先、発行者、有効期間など、証明書に関する基本情報が表示されます。証明書に秘密鍵が含まれていれば、その情報もこのタブに表示されます。

 image004.png:

詳細 タブには、文字どおり、その証明書固有の詳細情報が表示されます。具体的には、証明書のサブジェクト、CRL 配布ポイント、サブジェクト代替名、サムプリント (拇印) などの情報です。全般 タブに表示される情報の一部は、このタブにも表示されます。これらの情報は証明書のより高度なトラブルシューティングでよく利用されますが、通常はこのタブの情報を参照しなくても証明書の問題の多くは解決可能です。

証明書のパス タブには、その証明書の信頼チェーン全体で必要なすべての中間証明書とルート証明書が表示されます。チェーンの最上位は通常、OS による信頼が最初から設定されている、GoDaddy や Entrust などのルート証明書です。既定で OS による信頼が設定されていない証明書でも、コンピュータの信頼されたストアにインストールすることで、信頼された証明書にすることができます。ある認証局がコンピュータにより信頼されている場合、その認証局が発行した証明書もすべて同様に信頼されます。このように、証明書の信頼の問題を調査する場合は、証明書チェーンの全体が信頼されていることを確認することが重要です。

 image005.png:  image006.png:

SSL 証明書が信頼されていない場合は、まず次の 3 つの一般的な問題の有無を調べてください。

1) 証明書の有効期限が切れている - 証明書の有効期間は、証明書の 全般 タブで確認できます。期限切れになっていると、その証明書は信頼されません。新たな証明書を使用する必要があります。その証明書が GoDaddy などの第三者発行機関が発行したものであれば、新たな証明書を生成してもらう必要があります。証明書が内部の認証局で生成されたものであれば、新たな証明書の生成に加え、中間証明書とルート証明書を更新してインストールしなければならない場合もあります。以前のバージョンを更新した場合にのみ、これらの追加の証明書のインストールも必要になります。

2) 証明書のパス全体が信頼されていない - この問題は証明書ウィンドウの 3 番目のタブで確認できます。中間証明書やルート証明書のいずれかが欠けているのであれば、それをクライアント コンピュータの中間証明書ストアまたはルート証明書ストアにインストールする必要があります。また、チェーン上の個々の証明書を選択して詳細を表示し、その証明書で他に問題が生じていないかどうか確認することもできます。一般的でない認証局や内部の認証局を使用している場合は、ルート証明書を「信頼されたルート証明機関」ストアに、中間証明書を「中間証明機関」ストアにインストールする必要があります。

3) 発行先フィールドがサーバへのアクセスに使用されているホスト名と一致しない - SSL 証明書は、クライアントが証明書の発行先と同じホスト名を使用してサーバに接続しようとしている場合にのみ有効です。上図の例では、この条件を満たしていないのでエラー メッセージが表示されています。この例では、サーバへのアクセスには awmdm.com が使用されていますが、証明書の発行先は *.air-watch.com になっています。この場合、この証明書を使って信頼関係を構築するには、末尾が「air-watch.com」のホスト名を使用してサーバにアクセスする必要があります。このホスト名でターゲット サーバにアクセスできない場合は、さらにネットワークや DNS の構成を調査してください。内部サーバ間で接続を行おうとしているケースなど、hosts ファイルの項目を変えるだけで、サーバへの接続に使用する DNS 名を変更できる場合もあります。

hosts ファイルの項目の作成

hosts ファイルはホスト名を IP アドレスにマッピングするのに使用されます。ここでの指定は既定の DNS マッピングよりも優先されます。このファイルは C:\Windows\System32\drivers\etc\hosts にあり、その内容は下図のようになっています。この例では、ホスト名 example.air-watch.com を IP アドレス 205.139.50.164 にマッピングする項目が追加されています。この変更の効果は、変更の前後で ping コマンドの実行結果を比較することで確認できます。

 image007.png:

サーバに対して ping コマンドを実行するには、コマンド プロンプトを開き、コマンド「ping -n 1 {hostname}」を入力します。この例の場合、コマンドは次のようになります。

ping -n 1 example.air-watch.com

ホスト名がどの IP アドレスにもマッピングされていない場合、次のメッセージが表示されます。

ping 要求ではホスト example.air-watch.com が見つかりませんでした。ホスト名を確認してもう一度実行してください。

何らかの IP アドレスにマッピングされている場合は、ping コマンドの結果として、このホスト名で見つかった IP アドレスが表示されます。マッピングされた IP アドレスが正しくなければ、hosts ファイルを使用して正しい IP アドレスにマッピングし直すことができます。では続いて、hosts ファイルを編集/保存し、同じ ping コマンドを再度実行してください。実行結果には、新たにマッピングし直された IP アドレスが表示されます。これで、ブラウザを含むどのアプリケーションからでも、このホスト名にアクセスすることで、指定のサーバへ接続されるようになります。

最後に、「*.air-watch.com」などのように、発行先がワイルドカードを含むホスト名になっている証明書があることにも注意してください。この場合、証明書で指定されたパターンに一致するかぎり、hosts ファイルにはどのようなプレフィックスを持つホスト名でも指定できます。ただし、ワイルドカード文字に割り当てられるのは 1 つのプレフィックスだけです。たとえば、「example.air-watch.com」はこの証明書に対して有効なホスト名ですが、「second.example.air-watch.com」は有効ではありません。

証明書のインストール

ルート証明書または中間証明書 (または一部のクライアント証明書) を手作業でインストールする場合、Microsoft 管理コンソール (MMC) を使用することをお勧めします。このプログラムを起動するには、ファイル名を指定して実行 メニューで「mmc.exe」と入力します。初めて MMC を起動した場合は、下図のように、3 つの空白ペインが表示されます。 image008.png:

 MMC では、さまざまな目的のために、いくつもの異なるスナップインを利用できます。今回は、サーバにインストールされた各種証明書を管理するために証明書スナップインを追加します。スナップインを追加するには、ファイル > スナップインの追加と削除 と進みます。下図のようなウィンドウが表示されるので、証明書スナップインを選択し、追加 をクリックします。

 image009.png:

証明書を管理するアカウントを尋ねるメッセージが表示されます。ほとんどの場合、コンピュータ アカウント を選択します。これにより、ここでの設定が特定のユーザーやサービスだけでなく、コンピュータ全体に対して有効になります。

 image010.png:

次へ をクリックし、ローカル コンピュータ が選択されていることを確認して、完了 をクリックします。続いて、OK をクリックすると証明書スナップインが追加されます。MMC ウィンドウには次のような項目が表示されます。

 image011.png:

左のペインには、このコンピュータで利用可能なさまざまな証明書ストアが表示されます。具体的には、「信頼されたルート証明機関」にルート証明書がインストールされ、「中間証明機関」には中間証明書がインストールされています。「個人」ストアは、手作業でインストールする必要がある、その他の証明書用です。ストアを展開して 証明書 フォルダを選択すると、そのストアに格納されたインストール済み証明書が表示されます。

証明書をインストールするには、証明書 フォルダを右クリックし、すべてのタスク > インポート をクリックします。続いて、証明書ファイルがあるサーバ上のフォルダまで移動し、ファイルを選択します。証明書ファイルに秘密鍵が含まれている場合は、インストール実行の前に証明書のパスワードを入力する必要があります。証明書がインストールされたら、MMC ウィンドウの中央のペインでその証明書を確認できます。

免責事項:これは英文の記事「Troubleshooting: SSL Certificate」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Have more questions? Submit a request

0 Comments

Article is closed for comments.