SSL設定時に表示されるエラーや警告の原因を徹底解明!~ブラウザエラー編~ | SSLサーバー証明書ならさくらインターネット

SSL設定時に表示されるエラーや警告の原因を徹底解明!~ブラウザエラー編~

レンタルサーバーやVPS、AWSなどのサーバーにSSL証明書を設定した際、ブラウザに見慣れないエラーが表示されたことはありませんか?PCやスマートフォンでウェブサイトを見ていたら「この接続は危険だよ!パスワードやクレジットカード情報が盗まれるかもしれないよ!」といった内容の恐ろしい警告画面を目にした方も多いと思います。今回はそのようなSSL証明書にまつわるブラウザなどのエラーや警告についてご紹介します。

SSL証明書に関するエラー・警告メッセージの意味とは?

なぜウェブブラウザでSSLサーバー証明書(以下、SSL証明書)のエラーや警告は、大げさで物々しい画面で表示されるのでしょうか?

実はSSL証明書が正しく設定されていない場合、通信が暗号化されておらずに盗聴できる状態や、改ざんやなりすましができる状態でウェブサイトが公開されてしまう可能性があります。つまり、危険が潜んでいる(安全だという確証がない)ウェブサイトにアクセスすることを事前に遮断するため、ブラウザは大げさで物々しいエラーや警告を出してユーザーを守っているのです。

このように、SSL証明書には『SSLって何?意味や仕組みをわかりやすく解説!』でもご紹介した通り、サーバーとブラウザ間の通信を暗号化するとともに、ウェブサイトの改ざんやなりすましを防止する役割があります。今回はブラウザエラー編ということで、主にブラウザ側で表示されるSSL証明書のエラーについてご紹介していきます。

問い合わせ件数No.1のブラウザエラー

ブラウザエラーのイメージ画像

さくらのレンタルサーバで最もお問い合わせの多いSSLの設定エラーが上記の画面です。ERR_CERT_COMMON_NAME_INVALID と表示されていますが、「INVALID」とは「無効な」といった意味で、この場合はSSL証明書のコモンネーム(ドメイン)が無効になっている、ということを意味しています。

購入したSSL証明書をさくらのレンタルサーバで利用するには、コントロールパネルから設定を行い、最後にSNI SSLを有効化する必要があります。この”有効化”をしていないことがエラーの原因なのですが、この操作をしないとサーバー側は利用者の初期ドメインである example.sakura.ne.jp (正確には *.sakura.ne.jp のワイルドカード)の証明書をブラウザへ渡すため、ブラウザには example.jp へアクセスしたはずなのに example.sakura.ne.jp という異なるドメインの証明書が返ってきてしまいます。それをブラウザ側が「これはもしかしたら、なりすましかもしれない!」と判断してエラー画面を表示しているのです。

上記エラー画面の詳細設定を押すと、以下のメッセージが表示されます(押しても害はありません)。アクセスしているドメインとSSL証明書のドメインが異なることが記載されています。

このサーバーがexample.jpであることを確認できませんでした。このサーバーのセキュリティ証明書は*.sakura.ne.jpから発行されています。原因としては、不適切な設定や、悪意のあるユーザーによる接続妨害が考えられます。

この COMMON NAME INVALIDエラーは、さくらのレンタルサーバ以外でも非常に多く見られるエラーです。もしウェブサイトのユーザーとしてあなたがこのエラーを見た場合、サーバー管理者に対応してもらう以外にこのエラーを回避する方法はありません。また、このエラーに関しては自己署名の証明書を利用している場合や、中間CA証明書が設定されていない場合にも表示されることがあります。原因はいくつか考えられるので、ひとつずつ確認していきましょう。

ERR_CERT_COMMON_NAME_INVALID への対応方法

  • レンタルサーバーのSSL設定を確認する
  • 中間証明書が設定されているか、SSLチェッカーで確認する
  • 自己署名証明書を使用しない
  • ※SSLチェッカーを利用すると問題解決が早まる場合が多いです。

SSL証明書の有効期限切れによるエラー

SSL証明書の有効期限切れによるエラーのイメージ画像

SSL証明書の有効期限が切れているとそのサイトは危険とみなされてアクセスが遮断されてしまいます。ERR_CERT_DATE_INVALID と表示されていますが、これはSSL証明書の日付(有効期限)が無効になっていることを意味しています。詳細設定を押すと、以下のメッセージが表示されます。

このサーバーがexample.jpであることを確認できませんでした。セキュリティ証明書の有効期限が 120 日前に切れています。原因として、設定が不適切であるか悪意のあるユーザーが接続を妨害していることが考えられます。パソコンの時計は現在 2019年4月3日水曜日に設定されています。この時刻が正しくない場合は、システムの時計を修正した後このページを更新してください。

有効期限が切れて失効したSSL証明書を使っているサイトにアクセスできないのは正常です。この場合も、サーバー管理者がSSL証明書を更新する以外にエラーを回避する方法はありません。

ERR_CERT_DATE_INVALIDへの対応方法

  • SSL証明書を更新して再設定する
  • 新しいSSL証明書を購入して設定する

古いデジサート(旧シマンテック)証明書を使用しているエラー

古いデジサート(旧シマンテック)証明書を使用しているエラーのイメージ画像

ERR_CERT_SYMANTEC_LEGACY は、2018年10月に旧シマンテック発行のSSL証明書を大量失効した際にChromeブラウザに追加されたエラーです。詳しい経緯などは『2018年10月公開のChrome70よりデジサート証明書の失効と赤文字の警告表示が開始』をご覧ください。このエラーはSSL証明書の有効期限がまだ残っていても、古いデジサート(旧シマンテック)証明書を使っている場合は危険なサイトとみなし、アクセスが遮断されてしまいます。詳細設定には以下のメッセージが表示されています。

このサーバーがexample.jpであることを確認できませんでした。このサーバーのセキュリティ証明書は、ご使用のパソコンのオペレーティング システムによって信頼されているものではありません。原因としては、不適切な設定や、悪意のあるユーザーによる接続妨害が考えられます。

このエラー自体は、旧シマンテックが発行していた古いSSL証明書を利用しているサイトに表示されるのですが、詳細設定ではそのような内容に触れていないため、余計にややこしくなっています。このエラーを回避するには、サーバー管理者がSSL証明書の再発行を行うか、新しいSSL証明書を購入して設定する必要があります。

ERR_CERT_SYMANTEC_LEGACYへの対応方法

  • SSL証明書を更新して再設定する
  • 新しいSSL証明書を購入して設定する

OSCPに関連するエラー

OCSP(Online Certificate Status Protocol)はSSL証明書の失効状態を管理する規格です。一部のブラウザではこのOCSPにより厳格にSSL証明書の失効状態を確認してからサーバーへのアクセスを開始するため、言い換えればOCSPレスポンダと呼ばれるサーバーへのアクセスができないとサイトが閲覧できない場合があります。「The OCSP server has no status for the certificate.」といったエラーが表示される場合はOCSPレスポンダへのアクセスが阻害されている場合があります。

先程のエラーとは異なり、サーバー管理者には非がありません。実はエンドユーザー(ブラウザで見ているあなた)側のネットワークや、OCSPレスポンダのサーバーを運営する認証局側に問題がある可能性が高いです。例えば、とある企業が社内からアクセスできるウェブサイトをホワイトリスト形式で管理していたとします。そのホワイトリストでwww.sakura.ad.jpが許可されていたとしても、www.sakura.ad.jpにSSL証明書(ここではSureServer EV for SAKURA)が設定されていた場合、そのSSL証明書のOCSPレスポンダであるsureseries-ocsp.cybertrust.ne.jpが許可されていなければアクセスがブロックされ、結果的にwww.sakura.ad.jpが閲覧できなくなる場合があります。

また、OCSPはウェブサイトの読み込み速度を落とす要因になることから、様々なキャッシュ方法が設けられています。例えば、OCSP情報をそのウェブサイトのサーバーがキャッシュする仕組みがあり、OCSPステープリングと呼ばれています。他にもFireFoxブラウザでは、ブラウザ内にOCSPの検証結果を6時間程度キャッシュする仕組みがあったりします。しかし、これらのキャッシュ機能がある故に、一度問題が起きるとキャッシュが切れるまでアクセスできない、という状況をもたらすことがあり、複数のキャッシュも相まって原因特定に時間が掛かってしまうこともあります。

このOCSPを厳格にチェックしないブラウザもあります。OCSP~というエラーが表示された場合、Chromeブラウザで再度アクセスしてみるとサイトが閲覧できることがあります。ただし、ChromeブラウザでもEV証明書は厳格にチェックされているので、その場合は閲覧できない可能性があります。

OCSP関連のエラーが表示された場合

  • 別のブラウザでアクセスしてみる
  • 自分のネットワークが外部サイトの閲覧制限をしていないか確認する
  • 認証局のOCSPレスポンダで障害が起きていないか確認する
  • 6時間程度待ってみる

SSLプロトコルが古いor合わない場合のエラー

現在はまだエラーが表示されませんが、TLS1.0/1.1を使用しているサイトもChrome72よりConsoleでの警告が開始されています。Developer ToolsのConsoleを開くと、以下のメッセージが表示されます。内容としては、将来的にTLS1.0/1.1が無効化されること、一度無効化されるとTLS1.0/1.1を利用したソースは読み込めなくなることが書いてあります。TLS1.0については『6月以降はTLS 1.0が使えない?PCI DSS準拠にまつわるSSL/TLSのお話』で詳しく紹介しています。

SSLプロトコルが古いor合わない場合のエラーんおイメージ画像

警告表示の実装は2020年リリース予定のChrome83と言われています。サーバー管理者の方は、将来的に必ず実施しなければならない対応となるため、今から計画を立てておくようにしましょう。

まとめ

今回はSSL証明書のサイト表示にまつわるエラーや警告表示についてご紹介しました。ブラウザで表示されるエラーは、どれもサーバー管理者が対応しなければ解消しないものがほとんどですが、中には利用者側のネットワーク設定に問題がある可能性もあります。多くの認証局でこれらのエラーに関するFAQを用意しています。ブラウザなどでエラーが出た場合、認証局のサポートページを見てみましょう。

SSLに関するエラー発生時にはSSLチェッカーが非常に有用です。

SSLチェッカーでサーバー側を確認して問題が無さそうであれば、自分のネットワーク側の問題になる可能性が出てきます。手っ取り早く確認するには、Wi-Fi接続していないスマートフォンから同じサイトにアクセスしてみるのも良いでしょう。スマートフォンはWi-Fi接続しない場合、携帯電話会社のネットワークからアクセスするため、別環境での確認に最適です。

SSL設定の確認やトラブルシューティング時は、普段使っているブラウザとは別のブラウザで確認することが非常に大切です。普段からSSL設定確認用にキャッシュなどを保存しない設定にしたブラウザを用意しておくと良いでしょう。

また、SSL証明書のエラーの多くは、エラー画面に対処方法が記載されていないことがほとんどです。認証局や販売サイトなど、様々な事業者のサポートページを検索して確認することも重要です。いきなり作業してしまうと思わぬミスで慌ててしまうこともあります。じっくり時間をかけて、可能なら無料SSL機能を使って練習するなど事前準備をしっかりして臨みましょう。

最終更新日:2019.5.7