この接続では……
先月(2021年10月)から古いデバイス(PC、スマートフォン、タブレット)で当サイトにアクセスすると
『この接続ではプライバシーが保護されません』
のメッセージが表示されて、アクセス・閲覧できなく(しにくく)なっている。
併記されている
NET::ERR_CERT_DATE_INVALID
のメッセージは、「時計が遅れています」、「時計が進んでいます」
だが、時計は正常。
原因はSSL証明書の有効期限切れ。
以前から言われていたことでもあるが、
Let’s Encryptを使ってSSL化(http→https)しているサイトで発生している問題。
※ SSL:Secure Sockets Layer。通信の暗号化でセキュリティが強化される
Let’s EncryptのHP(letsencrypt.org/)も同様。
URLに赤字でビックリマークと「保護されていない通信」の表示、さらにhttpsに打ち消し線が引かれている。
画面下の「詳細設定」をクリックして、
「……にアクセスする(安全ではありません)」をクリックすれば、
アクセス・閲覧できるが、
アクセスするなと言っているにほぼ等しい。
SSL証明書
サイトSSL化(http→https)については以前少し書いた。
追)当ページの下に移した
SSL化するとクライアント(ユーザー)-サーバー間の通信が暗号化されるので、より安全。
ドメインmitsumatado.comは偽物(偽者)ではなく、ユーザーとの間に悪意ある第三者が入り込んで通信データが改竄されることもほぼない。
絶対安全とまでは言えないが、個人情報を扱う商用サイト(ECサイト)の場合、サイトSSL化は必須。
一口にSSL証明書と言っても
- ルート証明書
- 中間証明書
- [SSL]サーバ証明書
がある。
当サイトの場合、
- ISRG Root X1 ・・・ ルート
- R3 ・・・ 中間
- mitsumatado.com ・・・ サーバ
という階層になっている。
Let’s Encryptは、ISRG Internet Security Research Groupという団体のSSLで、
R3はISRGに認証され、
mitsumatado.comはR3に認証されている。
ブラウザのURLの鍵マークをクリックしていくと次々情報が見られる。
3つのうち中間証明書とサーバ証明書はサーバーに保存されている。
サーバ証明書の有効期限は約3ヶ月と短いが、最初の手続き以降何もいじっておらず、レンタルサーバーが自動的に更新してくれているので、特に問題は起こっていない。
今回問題になっている有効期限切れはルート証明書。
ユーザーのデバイスにインストールされている。
アクセスの際、デバイスのルート証明書とサーバーの証明書が照合されることで(TLSハンドシェイク)、
暗号化(SSL)通信が可能になる。
Let’s Encryptのルート証明書は、
ISRGが認証局 CA Certification Authorityとして発行しているISRG Root X1と
それ以前からIdenTrust社が認証局として発行している(していた)DST Root CA X3
がある(あった)。
ISRGはIdenTrust社よりも新しい認証局で、
※ 2014年設立、2016年Let’s Encrypt開始
古いデバイスにはISRG Root X1がインストールされていない。
※ Windows XP以前、macOS 10以前、Android 7.1以前等々
もう一方のDST Root CA X3はインストールされている。
それが、2021年9月末で有効期限切れ。
※ ISRG Root X1の有効期限は2035年
古いデバイスでも、使っているブラウザがFirefox(バージョン50以降)ならば、ISRG Root X1がインストールされているので、今までどおりアクセス・閲覧できるが、
Chrome、Safariなどのブラウザにはインストールされていない。
対応
- ユーザーが各自対応するか
- Chrome、Safariなどのブラウザが対応してくれるのを待つか
- サーバーがLet’s Encrypt以外のSSL証明書に変更するか
ユーザー皆が皆対応するというのは難しいと思うが、
- 新しいOSへ移行するか
- ブラウザをFirefoxに変えるか
- ルート証明書 ISRG Root X1をインストールするか
ISRG Root X1は、Let’s EncryptのHPからダウンロードしてインストールできる。
参考サイト
Let’s Encrypt以外のSSLは有料SSLで、ドメイン維持費よりも高価なものが多い。
さくらのSSL(ssl.sakura.ad.jp/) JPRSは手頃。
Chrome、Safariなどのブラウザが対応してくれる(ISRG Root X1をインストールしてくれる)と良いのだが……。
サイトSSL化(http→https)
※ 元は2019年6月の記事。移した
近年、URLがhttp://~ではなく、鍵マーク付https://~のサイトが増えているので、
当サイトもhttps://~へ移行させた。常時SSL化(サイト全体をSSL化)と呼ばれる作業。レンタルサーバー(当サイトは、さくらインターネット利用)の説明に従って2~3ステップで滞りなく済んだ。
大まかな手順は、
- サーバーのコントロールパネルにログインしてSSLサーバ証明書を発行してもらう
申込み後、短時間で発行完了
『SSLサーバ証明書がお客様のレンタルサーバにインストールされました』 - http→httpsのリダイレクト設定
使っているサーバー、SSLサーバ証明書によって多少異なる(プラグインとか)
- WordPress以外
.htaccessファイルで301リダイレクト設定 ・・・ home/アカウント名/www/の下
『暗号化(SSL)を有効としている場合、暗号化しているページへ誘導したい』参照
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
- WordPressの場合
当サイトが使っているレンタルサーバーでは
プラグイン - 新規追加 - プラグイン有効化
追)プラグイン不要になった。
http→httpsのリダイレクト設定は、httpsサイト1つにまとめる作業。
httpサイトとhttpsサイトが同じ内容でも別サイト扱いなので。
まとめないとページの重複になる。
緑色の錠前アイコンが出ればOK。
だが、オレンジ色の警告が付いていた。「混在コンテンツ」が含まれており、画像のリンク云々……。
Cocoonテーマ導入後にSSL化したので、Cocoon設定でhttp://~になっていた項目(OGP、AMP)をhttps://~へ変更したら解消できた。
WordPress以外のページもhttp://~の画像リンクをhttps://~へ変更した。
追)2021年にサーバーを引っ越した時、少々変わっていた。
以下、その記事
SSL化の奨め
SSL化するとクライアント-サーバー間が暗号化して通信されるので、セキュリティが強化され、サイトの信頼性が上がる。特に商用サイト(ECサイト)でクレジット・カードなどの個人情報を扱う場合、SSL化しておかないと利用者に敬遠されてしまう。
情報発信オンリーの(商用ではない)一般個人のサイトでは、長らく必要性を感じるものではなかった。
SSL化にはSSLサーバ証明書を発行してもらう必要があるが、基本的には有料(かつ高価)だった。
証明書を発行する認証局がサービスを終えてしまえばhttpsサイトも停止状態となってしまう。
だが、2017年頃から従来のhttpサイト(http://~)へアクセスすると「保護されていない通信」、「保護されていません」の注意喚起がブラウザで表示されるようになり、httpsサイトを標準とする動きがインターネット全体に拡がった。
今後逆行することはないであろう(今やインターネット全体の5割以上がhttps通信とのこと)。
今はレンタルサーバーが無料SSLを用意してくれている。
※ 当サイトは
SSLサーバ証明書:Let’s Encrypt
2016年からサービス開始
(さくらインターネットでは2017年から提供開始)
認証局:ISRG Internet Security Research Group
アメリカの非営利団体
HTTP / 2で送受信が高速化される。
※ HTTP / 2は、2015年から使われ始めたHTTPの新規格
(以前、httpsサイトは遅く感じた)
もちろんhttpsサイトでも検索にひっかかる。
商用サイト(ECサイト)でなくてもSSL化は必須。