BLOG
2023 年 06 月 01 日
「サーバー証明書が正しく設定されていない?」サーバー証明書がブラウザーでエラーになる原因と対処法(第 4 回)
~ブラウザーが表示する警告メッセージの意味とは?~
サーバー証明書に起因するブラウザーのエラーについて、代表的なものを 4 回にわたって紹介しています。第 3 回では、ルート証明書が登録されていない場合に表示されるエラーメッセージについて解説しましたが、第 4 回では、サーバー証明書が正しく設定されていない場合に表示されるエラーメッセージの原因とその対処方法について解説します。
第 1 回「サーバー証明書が失効している」
第 2 回「サーバー証明書の有効期限が切れている」
第 3 回「ルート証明書が登録されていない」
第 4 回「サーバー証明書が正しく設定されていない」
第 4 回「サーバー証明書が正しく設定されていない」
サーバー証明書に起因するブラウザーエラーの第 4 回は、サーバー証明書が正しく設定されていない場合に表示されるエラーメッセージです。今回は、ブラウザーエラーが発生する状況として、よくあるパターンを 3 つご紹介します。
- サーバー証明書が正しくない
- 中間 CA 証明書が正しく設定されていない
- SSL インスペクションが設定されている
サーバー証明書が正しくない
クライアントが接続する URL に記載されている FQDN ※1 が、サーバー証明書の SAN ※2 の値に含まれない場合、Web サイトへのアクセス時にブラウザーでエラーが発生します。ブラウザーによって表示内容は異なりますが、「接続がプライベートではありません」「NET::ERR_CERT_COMMON_NAME_INVALID」などと表示されます。
このエラーメッセージからは、クライアントが接続する URL とサーバー証明書のコモンネーム ※3 が一致していないように読み取れますが、実際のところ、現在の主要ブラウザーでは、証明書の検証において、コモンネームではなく SAN の値を参照しているため、クライアントが接続する URL とサーバー証明書の SAN の値が一致せず、エラーが発生しています。この場合は、サーバー証明書を再発行して、サーバー証明書の入れ替えを行ってください。
- ※1
- FQDN(Fully Qualified Domain Name):完全修飾ドメイン名。DNS(Domain Name System)などのホスト名、ドメイン名(サブドメイン名)などすべてを省略せずに指定した記述形式のこと。
- ※2
- SAN( Subject Alternative Name):「サブジェクト代替名」という意味で、サーバー証明書に含まれる「SAN」という拡張領域に FQDN が記述されます。
- ※3
- コモンネーム: CSR を作成する際に入力する項目のひとつです。SSL/TLS サーバー証明書の場合はクライアントからサーバーにアクセスする際に入力する URL(FQDN または IP アドレス)を指定します。この値は SSL/TLS 接続をする際に指定する URL と一致している必要があります。
▼サーバー証明書の「SAN」の例
>▼サーバー証明書の「コモンネーム」の例
▼Microsoft Edge の場合のエラー表示
▼Google Chrome の場合のエラー表示
▼Mozilla Firefox の場合のエラー表示
▼Safari(iPhone)の場合のエラー表示
中間 CA 証明書が正しく設定されていない
間違った中間 CA 証明書 ※4 を設定している場合や、中間 CA 証明書自体を設定してない場合は、Web サイトへのアクセス時にブラウザーでエラーが発生します。この場合は、第 3 回でご紹介した「NET::ERR_CERT_AUTHORITY_INVALID」のエラーメッセージが表示されます。
サーバー証明書の発行元の Web サイトなどを確認し、正しい中間 CA 証明書を設定し直してください。
- ※4
- 中間 CA 証明書: SSL/TLS サーバー証明書を直接発行している CA の証明書です。この証明書は、ブラウザや携帯電話からサーバーに SSL/TLS 接続する際、SSL/TLS サーバー証明書の階層構造を検証するために必要な証明書です。
中間 CA 証明書は、ブラウザにあらかじめ設定されていませんので、サーバー側に設定する必要があります。
SSL インスペクションが設定されている
サーバー証明書自体は正しく設定されていても、クライアントと Web サイトの間に SSL インスペクションが設定されている場合、ブラウザーでエラーが発生することがあります。この場合も、第 3 回でご紹介した「NET::ERR_CERT_AUTHORITY_INVALID」のエラーメッセージが表示されます。
SSL インスペクションとは、暗号化通信を監視する機能で、UTM ※5 やファイアウォール、ロードバランサーなど、さまざまなセキュリティ製品やセキュリティサービスに搭載されています。
SSL インスペクションでは、暗号化された通信データを一度復号して内容をチェックし、再度暗号化して送る、というプロセスが行われています。その際、セキュリティ製品が独自に作成した証明書がクライアントに提示されます。クライアントでは、信頼されているルート証明書のリストにセキュリティ製品のルート証明書が存在していないことがあり、その結果、信頼できない証明書である旨のエラーメッセージが表示されます。
このエラーの回避方法については、セキュリティ製品の提供元にご相談ください。
- ※5
- UTM:複数の異なるセキュリティ製品の機能を一つのハードウェアやアプライアンスに統合して、ネットワークを集中的に管理する方法です。「UTM」は「Unified Threat Management」の略で、日本語では「統合脅威管理」と呼ばれています。
最後に
サーバー証明書に起因するブラウザーのエラーについて、代表的な事例を 4 回にわたってご紹介してきました。
サーバー証明書が有効でなかったり、サーバー証明書が正しく設定されていなかったりと、原因はさまざまですが、エラーメッセージを確認してそれに合った適切な対応を行うことで、エラーを回避できます。
サーバー証明書は、安全な通信を行う上で不可欠なものですので、ユーザーがより安心して Web サイトを利用できるよう、サーバー証明書の設定、管理を適切に行っていきましょう。