Cloudflare

楽して常時SSL化対応する方法(リンクの自動書き換え)
ーコラムー
2019年9月27日号


楽して常時SSL化対応する方法(リンクの自動書き換え)

今回はSSLのお話です。
常時SSL(サイト内の全てのページをhttpsにすること)の必要性が取り沙汰されてから何年も経過し、日本のSSL普及率もかなり上がりました。
Let’s Encryptのサイトに掲載されたMozilla Firefoxテレメトリーデータによると、本記事執筆の2019年9月25日現在、日本のSSL普及率は約76%ですので、2016年の始めに40%程度だったことを考えると相当普及したと言えます。
しかし、いずれ100%になる流れを考えると、残りの24%は多いようにも感じます。数にすると結構ありそうです。 何しろ総務省など官公庁のサイトでも、まだSSL化されていないものがあります。

既存サイトをSSL化する時、サイト内の別ページへのリンクや外部サイトへのリンクをHTTPから、HTTPSへ書き換える必要があります。サイト内のリンクは相対パスになっている場合書き換えは不要ですが、Google社が絶対パスを推奨していることから、絶対パスにしているサイトも結構あるのではないかと思います。 SSL化が遅れているサイトは、手間やコストがあまりかけられず、後回しになっているものが多いと思いますので、楽に対処したいところです。

Cloudflareでは、リンクを自動的にHTTPSへ書き換えてくれるAutomatic HTTPS Rewriteという機能があります。HTTPSでアクセスしていてもページ内に画像などのコンテンツがHTTPでリンクされていると、ブラウザが警告表示してしまいますので、漏れがないよう手作業でなく機械的に対応したいところです。
このCloudflareのAutomatic HTTPS Rewrite機能ですが、サーバ上にあるファイルは書き換えず、Cloudflare通過時にパケット内のデータを書き換えますので、漏れもなく、また動的に生成するリンクでも対応できます。






ちなみにこのAutomatic HTTPS Rewrite機能はフリープランでも提供されています。使い方は当該機能をオンにするだけです。





HTML内にリンクがあった場合、以下の処理を行います。

  • 自サイト内のリンクは全てHTTPSへ書き換える
  • 外部サイトへのリンクはHTTPS対応しているサイトと確認できるもののみHTTPSへ書き換える

  • HTTPS対応の確認は、HSTSのPreload ListとEFFのHTTPS EverywhereにリストアップされているものをHTTPS対応とみなします。
    このAutomatic HTTPS Rewrite機能と同じ設定ページ内に、Always Use HTTPSという機能があります。





    この機能は、HTTPのリクエストが来た場合に同じURLのHTTPSへリダイレクトする機能です。 この機能があればリンクの書き換えを行わずともHTTPでの接続を禁じることが出来ますが、リダイレクトの処理が入る分、応答性が落ちますので、やはりリンクを全てHTTPSに書き換える方が好ましいと言えます。
    さらにCloudflareでは、無料の汎用SSL証明書(所謂オレオレ証明書ではありません)が付属し、Common Nameの設定可能な専用証明書も$5/月程度と安く(証明書の更新も自動)メリットが色々とあります。
    是非使ってみて下さい。フリープランで使い始めて「WAFも使いたい」「テクニカルサポートが必要」など、ステップアップしたい場合には、当社担当営業までお問合せ頂くか、問い合わせフォームよりご連絡ください。







    角田貴寛

     執筆者:角田 貴寛

    三井情報株式会社
    ソリューション技術本部 次世代基盤第二技術部 第一技術室
    CISSP、CEH
    現在、セキュリティ関連調査研究・教育業務に従事