ウェブサイトにアクセスしようとしたら、突然「このサイトへの接続は完全には保護されていません (NET::ERR_CERT_COMMON_NAME_INVALID)」というエラーメッセージが表示されて、ページが開けなくなってしまった経験はありませんか?この記事では、NET::ERR_CERT_COMMON_NAME_INVALIDエラーの原因と対処法について詳しく解説します。このエラーを理解し、適切に対処することで、安全にウェブサイトを利用できるようになるでしょう。
この記事の目次
NET::ERR_CERT_COMMON_NAME_INVALIDエラーの原因と概要
NET::ERR_CERT_COMMON_NAME_INVALIDエラーとは
NET::ERR_CERT_COMMON_NAME_INVALIDエラーは、Google Chromeなどのウェブブラウザで表示されることがあるエラーメッセージです。
このエラーが発生すると、「このサイトへの接続は完全には保護されていません」という警告とともに、目的のウェブサイトにアクセスできなくなってしまいます。
ユーザーにとっては不便であるだけでなく、サイト運営者にとってもアクセス数の低下につながる深刻な問題と言えるでしょう。
SSLサーバー証明書の不一致が原因
NET::ERR_CERT_COMMON_NAME_INVALIDエラーが発生する主な原因は、SSLサーバー証明書の不一致です。
SSLサーバー証明書とは、ウェブサイトの運営者が正当な所有者であることを証明するための電子証明書のことを指します。
この証明書に記載されているドメイン名と、実際にアクセスしているウェブサイトのドメイン名が一致しない場合、ブラウザはエラーを表示して接続をブロックします。
ブラウザとウェブサーバー間の暗号化通信が影響
NET::ERR_CERT_COMMON_NAME_INVALIDエラーは、ブラウザとウェブサーバー間の暗号化通信にも関係しています。
通常、ウェブサイトにアクセスする際には、SSL/TLSプロトコルを使用して通信内容を暗号化し、第三者による傍受や改ざんを防いでいます。
しかし、SSLサーバー証明書の不一致が発生すると、この暗号化通信が正常に機能しなくなります。その結果、ブラウザはエラーを表示し、安全性が確保できないサイトへの接続を拒否するのです。
NET::ERR_CERT_COMMON_NAME_INVALIDエラーが発生するケース
SSLサーバー証明書の有効期限切れ
NET::ERR_CERT_COMMON_NAME_INVALIDエラーが発生する一つの原因は、SSLサーバー証明書の有効期限切れです。
SSLサーバー証明書には、発行日から一定期間の有効期限が設定されています。
この期限が切れてしまうと、ブラウザはその証明書を信頼できなくなり、エラーを表示してサイトへの接続をブロックします。サイト運営者は、証明書の有効期限を定期的にチェックし、期限が切れる前に新しい証明書を取得する必要があるでしょう。
自己署名証明書の使用
自己署名証明書を使用している場合も、NET::ERR_CERT_COMMON_NAME_INVALIDエラーが表示されることがあります。
自己署名証明書とは、信頼された認証局ではなく、サイト運営者自身が発行した証明書のことです。
ブラウザは自己署名証明書を信頼できないため、エラーを表示してサイトへのアクセスを拒否します。自己署名証明書の代わりに、信頼された認証局から発行された証明書を使用することが推奨されます。
中間証明書の欠落
SSLサーバー証明書のチェーンに中間証明書が含まれていない場合、NET::ERR_CERT_COMMON_NAME_INVALIDエラーが発生することがあります。
中間証明書とは、ルート証明書と SSLサーバー証明書の間に位置する証明書です。
この中間証明書が欠落していると、ブラウザは SSLサーバー証明書の信頼性を検証できなくなります。この問題を解決するには、SSLサーバー証明書とともに中間証明書をウェブサーバーにインストールする必要があるでしょう。
NET::ERR_CERT_COMMON_NAME_INVALIDエラーの確認方法
NET::ERR_CERT_COMMON_NAME_INVALIDエラーが発生しているかどうかを確認するには、いくつかの方法があります。ここでは、ブラウザのアドレスバーの表示を確認する方法、SSLサーバー証明書の詳細情報を確認する方法、オンラインのSSLチェックツールを利用する方法について説明します。
ブラウザのアドレスバーの表示を確認
NET::ERR_CERT_COMMON_NAME_INVALIDエラーが発生している場合、ブラウザのアドレスバーに「このサイトへの接続は完全には保護されていません」という警告が表示されます。また、URLの先頭にある鍵マークに赤い×印が付いていることもあるでしょう。
これらの表示が確認できれば、NET::ERR_CERT_COMMON_NAME_INVALIDエラーが発生している可能性が高いと言えます。ただし、他のSSL関連のエラーでも同様の表示がされることがあるので、詳細な確認が必要です。
SSLサーバー証明書の詳細情報を確認
NET::ERR_CERT_COMMON_NAME_INVALIDエラーの原因を特定するには、SSLサーバー証明書の詳細情報を確認することが有効です。Google Chromeの場合、アドレスバーの鍵マークをクリックし、「証明書」を選択することで、証明書の詳細情報を表示できます。
証明書の詳細画面では、証明書の発行先(Common Name)、有効期限、発行者などの情報を確認できます。これらの情報と、アクセスしているウェブサイトのURLを照らし合わせることで、ドメイン名の不一致や証明書の有効期限切れなどの問題を発見できるでしょう。
オンラインのSSLチェックツールを利用
ウェブサイトのSSL設定をチェックできるオンラインツールを利用するのも、NET::ERR_CERT_COMMON_NAME_INVALIDエラーの確認に役立ちます。SSL Server Testや、SSL Labs’s SSL Testなどの無料ツールがよく知られています。
これらのツールにウェブサイトのURLを入力すると、SSLサーバー証明書の詳細情報や、SSL/TLSプロトコルの設定状況などを自動的に分析してくれます。分析結果には、証明書の有効性やドメイン名の整合性、中間証明書の設定状況なども含まれるので、NET::ERR_CERT_COMMON_NAME_INVALIDエラーの原因特定に役立つはずです。
NET::ERR_CERT_COMMON_NAME_INVALIDエラーの対処法
このセクションでは、NET::ERR_CERT_COMMON_NAME_INVALIDエラーを解消するための具体的な対処方法について解説します。
有効なSSLサーバー証明書の取得とインストール、証明書のドメイン名の確認と修正、中間証明書の適切なインストール、ブラウザのキャッシュとCookieのクリアといった方法を順に説明していきます。
有効なSSLサーバー証明書を取得・インストール
NET::ERR_CERT_COMMON_NAME_INVALIDエラーを解消するには、まず信頼された認証局から有効なSSLサーバー証明書を取得する必要があります。
自己署名証明書や有効期限の切れた証明書を使用している場合は、新しい証明書に更新しましょう。
証明書を取得したら、ウェブサーバーに適切にインストールします。インストール方法はサーバーの種類やOSによって異なりますが、一般的には以下の手順になります。
- 秘密鍵とCSR(証明書署名要求)を生成する
- CSRを認証局に提出し、SSLサーバー証明書を取得する
- 証明書をウェブサーバーの適切なディレクトリに配置する
- ウェブサーバーの設定ファイルを編集し、証明書を有効化する
これらの手順を適切に実行することで、有効な SSLサーバー証明書をウェブサーバーにインストールできるでしょう。
SSLサーバー証明書のドメイン名を確認・修正
NET::ERR_CERT_COMMON_NAME_INVALIDエラーの原因として、SSLサーバー証明書のドメイン名と実際のウェブサイトのURLが一致していないケースがあります。
この問題を解決するには、証明書のCommon Name(CN)がウェブサイトのドメイン名と完全に一致するように修正する必要があるでしょう。
例えば、証明書のCNが「www.example.com」となっている場合、ウェブサイトのURLも「https://www.example.com」である必要があります。「https://example.com」や「https://subdomain.example.com」といったURLではエラーが発生してしまいます。
サブドメインを含む複数のドメインをカバーするには、ワイルドカード証明書(*.example.comなど)の使用も検討しましょう。証明書のCNとウェブサイトのURLを一致させることで、ドメイン名の不一致によるNET::ERR_CERT_COMMON_NAME_INVALIDエラーを解消できるはずです。
中間証明書を正しくインストール
NET::ERR_CERT_COMMON_NAME_INVALIDエラーが発生する理由の一つに、中間証明書の欠落や不適切な設定があります。中間証明書は、ルート証明書とSSLサーバー証明書をつなぐ重要な役割を担っています。
この中間証明書が正しくインストールされていないと、ブラウザがSSLサーバー証明書の信頼性を検証できなくなり、エラーが表示されてしまいます。中間証明書の問題を解決するには、以下の手順を実行します。
- 証明書の発行者から中間証明書を取得する
- 中間証明書をSSLサーバー証明書と同じディレクトリに配置する
- ウェブサーバーの設定ファイルを編集し、中間証明書を正しく参照する
中間証明書のインストールが完了したら、ブラウザやオンラインのSSLチェックツールでSSL設定を再度確認しましょう。中間証明書が適切に設定されていれば、NET::ERR_CERT_COMMON_NAME_INVALIDエラーが解消されるはずです。
ブラウザのキャッシュとCookieのクリア
SSLサーバー証明書の更新や設定変更を行った後も、ブラウザ側にキャッシュされた古い情報が残っていると、NET::ERR_CERT_COMMON_NAME_INVALIDエラーが表示され続ける場合があります。
この問題を解決するには、ブラウザのキャッシュとCookieをクリアする必要があるでしょう。
Google Chromeの場合、以下の手順でキャッシュとCookieをクリアできます。
- ブラウザの設定画面を開く
- 「プライバシーとセキュリティ」のセクションを選択する
- 「閲覧履歴データの削除」をクリックする
- 「キャッシュ画像とファイル」と「Cookie と他のサイトデータ」にチェックを入れる
- 「データを削除」ボタンをクリックする
キャッシュとCookieのクリアが完了したら、再度ウェブサイトにアクセスしてみましょう。SSLサーバー証明書の設定が正しく行われていれば、NET::ERR_CERT_COMMON_NAME_INVALIDエラーが表示されなくなるはずです。
ウェブサイト運営者が取るべきセキュリティ対策
NET::ERR_CERT_COMMON_NAME_INVALIDエラーを防ぐためには、ウェブサイト運営者がいくつかの重要なセキュリティ対策を講じる必要があります。ここでは、信頼できる認証局からのSSLサーバー証明書の取得、証明書の有効期限の定期的な確認と更新、適切なSSL/TLSプロトコルとcipher suiteの選択、脆弱性のあるSSLライブラリの更新について説明します。
信頼できる認証局からSSLサーバー証明書を取得
ウェブサイトのセキュリティを確保するには、信頼できる認証局から発行されたSSLサーバー証明書を使用することが不可欠です。自己署名証明書や無料の証明書は、ブラウザに信頼されないため、NET::ERR_CERT_COMMON_NAME_INVALIDエラーの原因となります。
信頼できる認証局は厳格な審査プロセスを経て証明書を発行するため、ブラウザから信頼を得ることができるのです。
ウェブサイト運営者は、自社のニーズに合った適切な認証局を選び、SSLサーバー証明書を取得する必要があります。証明書の種類には、ドメイン認証(DV)、組織認証(OV)、拡張認証(EV)などがあり、必要な認証レベルに応じて選択しましょう。
SSLサーバー証明書の有効期限を定期的に確認・更新
SSLサーバー証明書には有効期限があり、期限が切れるとNET::ERR_CERT_COMMON_NAME_INVALIDエラーが発生します。このエラーを防ぐには、証明書の有効期限を定期的に確認し、期限が近づいたら速やかに更新する必要があるでしょう。
証明書の有効期限は、発行時に決定されます。最近は、1年以内の短い有効期限が主流になっています。ウェブサイト運営者は、証明書管理システムを導入したり、カレンダーにリマインダーを設定したりして、有効期限を見落とさないように注意しましょう。
証明書の更新手続きは、有効期限の1ヶ月〜2週間前には開始することをおすすめします。更新が遅れると、一時的にウェブサイトが利用できなくなったり、検索エンジンのランキングに悪影響が出たりする可能性があるためです。計画的に証明書を更新し、有効期限切れのリスクを最小限に抑えましょう。
適切なSSL/TLSプロトコルとcipher suiteを選択
NET::ERR_CERT_COMMON_NAME_INVALIDエラーを防ぐには、適切なSSL/TLSプロトコルとcipher suiteを選択することも重要です。古いプロトコルやcipher suiteを使用していると、ブラウザから安全でないと見なされ、エラーが表示されてしまいます。
現在は、TLS 1.2以上のプロトコルを使用することが推奨されています。TLS 1.0やSSL 3.0など、古いプロトコルには既知の脆弱性があるため、使用を避けるべきでしょう。また、cipher suiteは、強度の高い暗号アルゴリズムを組み合わせたものを選ぶ必要があります。
ウェブサーバーの設定ファイルで、適切なSSL/TLSプロトコルとcipher suiteを指定しましょう。Apache、Nginx、IISなど、サーバーソフトウェアごとに設定方法は異なります。定期的にセキュリティ関連の情報をチェックし、新しい脅威に対応できるよう、設定を見直すことも大切です。
脆弱性のあるSSLライブラリを更新
ウェブサーバーで使用しているSSLライブラリに脆弱性が存在する場合、NET::ERR_CERT_COMMON_NAME_INVALIDエラーが発生することがあります。脆弱性を放置すると、攻撃者にシステムを乗っ取られたり、情報を盗まれたりするリスクがあるため、速やかにライブラリを更新する必要があります。
OpenSSLなどの広く使われているSSLライブラリは、定期的にセキュリティアップデートがリリースされています。ウェブサイト運営者は、これらのアップデート情報を常にチェックし、新しいバージョンが公開されたらすぐに更新作業を行いましょう。
また、ウェブサーバーのソフトウェア自体にも脆弱性が見つかることがあります。Apache、Nginx、IISなどのサーバーソフトウェアも、定期的にセキュリティパッチが提供されているので、こまめな更新が欠かせません。脆弱性管理ツールを活用して、システム全体の脆弱性をチェックすることも効果的です。
まとめ
NET::ERR_CERT_COMMON_NAME_INVALIDエラーは、ウェブサイトのSSLサーバー証明書に問題がある場合に発生します。主な原因は、証明書の有効期限切れ、ドメイン名の不一致、自己署名証明書の使用、中間証明書の欠落などです。
このエラーを確認するには、ブラウザのアドレスバーの表示やSSLサーバー証明書の詳細情報を確認したり、オンラインのSSLチェックツールを利用したりする方法があります。エラーを解消するには、有効な証明書の取得とインストール、ドメイン名の修正、中間証明書の適切な設定、ブラウザのキャッシュとCookieのクリアなどの対処が必要でしょう。
ウェブサイト運営者は、信頼できる認証局からの証明書取得、有効期限の管理、適切なSSL/TLSプロトコルとcipher suiteの選択、脆弱性のあるSSLライブラリの更新といったセキュリティ対策を講じることで、このエラーを未然に防ぐことができます。NET::ERR_CERT_COMMON_NAME_INVALIDエラーに適切に対処し、安全なウェブサイト運営を心がけましょう。