Cloudflare を使って無料で oyasu.info / blog.oyasu.info を SSL 化&HTTP/2 対応しました


近年、「常時 SSL 化」が話題になっています。

Google Chrome 68 では、すべての HTTP ページのオムニボックスに「保護されていません」と表示されることが発表されています。

このブログも SSL 化を進めようと思ってなかなか着手できていませんでした。

この度、Cloudflare を利用して、無料で SSL 化を実施しました。

Let’s Encrypt ではない理由

常時 SSL を進める場合、無料で SSL 証明書を発行できる Let’s Encrypt も有名です。

ただ、Let’s Encrypt は期限が90日のため、定期的に手作業で更新する方法はとりたくなく、自動化を進める必要がありました。

certbot も acmesmith も試してみたのですが、Python や Ruby のエラーメッセージが表示され上手く動かず一旦断念しました。

Cloudflare 側の設定

Cloudflare は現状英語の設定画面のようですが、それほど難しくなく、下記の設定を行いました。

SSL

下記の三種類の設定があります。

  • Flexible SSL:クライアント-Cloudflare 間のみ SSL 通信、Cloudflare-ConoHa 間は HTTP
    注意事項にも書かれていますが、リダイレクトループにはまり、WordPress が利用できなくなったので利用せず
  • Full SSL:クライアント-Cloudflare-ConoHa 間で HTTPS 通信。ConoHa 側の SSL は正規のものでは無くても良い
  • Full SSL(strict):Full SSL かつ、ConoHa 側の SSL も正規のもので無ければならない

今回「Full SSL」を選択しました。

ConoHa 側はオレオレ証明書でもよいですし、更新を行わず最初だけ Let’s Encrypt でも良いと思います。
今回は、以前、Let’s Encrypt のテスト環境で発行した証明書があったのでそれを利用しています。

Always use HTTPS

Cloudflare 側で HTTP から HTTPS へリダイレクトを実施します。

今回は ON にしてみました。

HTTP Strict Transport Security (HSTS)

ブラウザ側で次回アクセス時に直接 HTTPS 通信を利用するようにする設定ですが、設定直後ですので、もう少し様子を見てから検討したいと思います。

Minimum TLS Version

デフォルトは TLS 1.0 ですが、近年 TLS 1.0、1.1 のサポート終了の流れがありますので、思い切って TLS 1.2 に設定しました。

TLS 1.3

Wikipedia によると、Firefox しか対応していないようですが、将来性も考え Enabled に設定しました。

ちなみに、これを CentOS 7 のサーバーで直接対応しようとすると、OpenSSL 1.1.1 を自前で準備する必要があります。

Auto Minify

自動的にファイルの最小化(コメントの削除や改行の削除)を行う機能です。

JavaScript と CSS に対して ON にしました。
WordPress 側でもそういった拡張機能入れていた気がするのであとであとで確認してみます。

Caching Level

下記の3つの設定があります。

  • No Query String:クエリ文字列がない場合にのみキャッシュからファイルを配信します。
  • Ignore Query String:クエリ文字列とは無関係に全員に同じリソースを提供します。
  • Standard:クエリ文字列が変更されるたびに別のリソースを配信します。

一般的には、Standard だと思われますが、サイト内で動かしているアクセス解析 CGI で集計できなくなる懸念があるため、「No Query String」を設定しました。

対応後

GlobalSign の SSL 通信の安全性を評価するサービスで確かめてみました。

oyasu.info SSL Server Test

「A」になりました!

HSTS を設定すると A+ になるとのことですが、もう少し様子を見てから検討したいと思います。

その代わり、Windows XP の Internet Explorer など旧世代の環境ではウェブサイトを閲覧できなくなりました。
お手数ですが、対応したブラウザでのご利用をお願いいたします。

oyasu.info Windows XP このページは表示できません

なお、Firefox ESR 52.9.0 だと Windows XP でも表示されましたが、2018年8月以降はセキュリティに関する更新が提供されないとのことなのでご注意ください。

oyasu.info Windows XP Firefox ESR 52.9.0

課題

今回の変更により、アクセス元が Cloudflare の IP となります。

そのため、個人的に設定している、WordPress ログイン時の IP チェック(自分の利用しているプロバイダのみ許可)が動作しなくなり、WordPress ログインするときだけ、hosts で ConoHa の IP を直接設定しています。

また、アクセス解析 CGI もアクセス元が解析できなくなりました。

HTTP ヘッダーの「HTTP_X_FORWARDED_FOR」を見れば良いので、追々修正したいと思います。

終わりに

今回、CDN を通すことで常時 SSL に対応しました。

基本的な動作確認は行っていますが、問題があればご連絡いただければ幸いです。


Comments

comments

コメントを残す

メールアドレスが公開されることはありません。

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)