Home > PC > サイト、常時SSL化。(2018/08)

サイト、常時SSL化。(2018/08)

  • Posted by: おりおん
  • PC

うちのサイト(www.orio-n.net)はこれまで非SSL接続(http接続)のみに対応していて特に問題は発生していなかったのだけれど、少し前あたりから、各種Webサイトがセキュリティ意識の高まりにより常時SSL化を進めてきていて、ついには、トップシェアのブラウザであるGoogle Chromeが非SSL接続だと警告表示が出るように仕様が変更された。さすがに、うちのサイトでもそろそろ常時SSL化を行った方が良さそうな状況になってきたため、対応を開始することにした。

常時SSL接続に対応するためには、サイトに関するSSL/TLS証明書を準備する必要がある。このSSL/TLS証明書については、これまでは有料(年間数万?)で取得する必要があるという認識で、個人運用サイトには負担が大きいと思っていたのだけれど、少し前から、Let's Encryptプロジェクトにより無料でSSL/TLS証明書を取得できるようになったことが分かり、うちのサイトでも採用することにした。このあたりの詳細は先達が分かりやすく説明してくれているので詳細は省く。うちのサイトに関して常時SSL化を実現するために行った手順は以下の通りである。

  1. サーバーKanaにApacheの常時SSL対応モジュール mod_sslをインストール
  2. Let's EncryptでSSL/TLS証明書を取得
  3. ApacheのSSL関連の設定に2.で取得したSSL/TLS証明書を記載
  4. Apacheにhttp接続をhttps接続にリダイレクトする設定を追加
  5. Movable Typeのサイト・ブログURL設定を https://www.orio-n.netに変更

KanaのOSであるFedoraにはLet's Encrypt対応クライアントcertbotが存在しているので、SSL/TLS証明書を発行する際にはcertbotを利用。発行されたSSL/TLS証明書の有効期限は90日ということであったので、毎月、更新を行うようにcronの設定(certbot renewを実行するスクリプト)も追加。

上記手順で常時SSL化は実現できたのだが、いくつか問題が発生してしまった。

問題の一つは、Webブラウザではブログ内の各記事が完全に安全な接続と見なされない件である。ブログの記事以外の各ページについては全て https接続になって完全に安全な接続扱いになることを確認できたのだけれど、ブログの記事については完全に安全な接続扱いにはならない状況であった。これの原因は、ブログ以外のページにあるリンクはドキュメントルートからの相対URLで記載していたが、一方で、ブログ内の各記事にあるリンクはhttpから始まる完全URLになっていたことである。サーバー側でhttp接続はhttps接続へリダイレクトされるため実質的には全てhttps接続になっているはずだが、Webブラウザ上ではリダイレクトについては認識しない様子である。この問題の対策としては、まず、ブログクライアント(Windows Live Writer)の設定を見直し、http指定があった箇所をhttpsに変更。これだけでは新規記事だけの対応になり過去記事については対応できないので、ブログソフトウェア MovableTypeの記事管理画面から検索を行い、URLがhttp:から始まるリンクを全てhttps:へと置換し、全記事のアーカイブページを再構築。これで、ブログの各記事内のリンクに含まれる完全URLをhttps接続に変更することができ、Webブラウザ上でも完全に安全な接続として扱われるようになった。

もう一つの問題は、ブログ内の記事に配置した画像や動画が全て表示できなくなった件である。うちのサイトでは以前にサイト内の画像を直リンクされたことがあったためリファラによる直リンク制限を行っていたのだけれど、この直リンク制限がブログ内の各画像へのリンクに対しても発動してしまい、ブログ記事内の画像や動画が全て表示不可になってしまっていた。この問題については、試行錯誤の結果、ブログ記事内からリンクされている画像や動画についてはリファラ無しでも表示を許可するように直リンク制限を緩和することで対処。http接続では問題なかったけれどhttps接続だと完全URLでの画像・動画リンクについてリファラが空になるらしい。この対処がベストかどうかは分からないが、今のところ、他の対策を思いつかないので、しばらくはこのままで行く予定。

今回の常時SSL化により、無事にうちのサイトを安全な接続とすることができた。うちのサイトには元から危険なデータや個人情報などは無いので攻撃されることはないとは思うけれど、対応を入れておくに越したことはないので、やっておいて良かったとは思う。

Comments:0

コメントする

Home > PC > サイト、常時SSL化。(2018/08)

Search

Feeds

Return to page top