SSL化作業手順とhttps移行時のポイント

135
httpからhttpsへの移行手順

本サイトもSSLに対応しHTTPSへの移行を完了しました。

今回のSSL導入に関して、これからWEBサイトのSSL化を検討されている方のためにまとめ記事を残しておきたいと思います。

WEBサイトのSSL化、https導入の手順&メリット・デメリット

SSLって何?

SSLとは「Secure Sockets Layer」の略で、インターネット上での通信を暗号化する技術のことです。

通信を暗号化するとは、お客様などから入力頂く入力フォームへの情報を第3者からハッキングされないようにしたりする働きがあります。この時に行なわれるハッキングは何も個人情報の抜き取りだけではありません。入力内容の改ざんなんてこともあるようです。例えば、1つだけ注文したのに100個注文したことになったとか、自宅で受け取るつもりが、海外の僻地に贈られるとか…もちろん請求書は購入者に(汗)

SSL導入の目的は顧客を守ることが主ですが、SSL認証を受けることで、企業の実在性を証明することにもなります。

以前、私も経験しましたが、ちょっとした部品をネットで購入したのに何週間経っても届かない…よくよく調べてみると、実在しない詐欺会社だったなんてことも。当時はあまり知識もなかったですし、金額も少額でしたので泣き寝入りしてしまいましたが、支払いが銀行振込なら振込先の銀行へ、クレジット決済なら自分のクレジットカード会社に相談することで、被害をクリアに出来るかと思います。

最近のWEB関連ニュースでみると、Yahoo!検索がSSL化されて、Google Analyticsなどで検索キーワード情報が入手できなくなると言うものがありましたよね。

この仕組みを見てみれば、SSLの仕組みがなんとなくでも理解できそうです。

インターネットユーザーがYahoo!の検索窓にキーワードを打ち込む。以前まではそれを第3者であるGoogleが抜き取ることが出来たが、SSL化によって出来なくなった。と言った感じですね。(若干の語弊は否定できませんが…)

こんなSSLですが、GoogleもWEBサイトのSSL化を推奨しています。詳しい記事はこちら「Googleウェブマスター向けブログ:HTTPS をランキング シグナルに使用します:2014.8.7

サーチコンソール(旧Webマスターツール)の記事はこちら「HTTPS でサイトを保護

SSL化でWordPressの改ざんは防げるか?!

次の項目「SSLのデメリット「必要ない」という業界人も」でもご紹介しますが、情報発信系のブログサイトなどに関しては、SSLの導入、サイトへ強制的にhttpsでアクセスさせる必要はそれほどないかもしれません。

私がSSL導入を見送ってきた理由のひとつがこれにあたるのですが、やはりお問い合わせを頂くサイトなら、可能な限りお問い合わせくださった情報を守るのが、私達情報発信者の義務だという想いもありました。

教材や書籍などの決済に関してはSSL化されたページを利用頂けるようになっていますので、最低限の準備はできていると考えていました。

しかし、昨年の暮から、WordPressの脆弱性を狙ったWEBサイト改ざん被害が相次ぎ、これをSSL化することで防げるのではないかと考えたのです。

もちろん、サーバーアタックに由来するWEBサイト改ざんは、私のサイトがSSL化しようと強制的にHTTPSでアクセスさせようと防ぎ切ることは出来ないかもしれませんが、元来、通常のアクセス形態(SSLでない「http」アクセス)でログインしていては、パスワードやIDを傍受され、管理画面に侵入される可能性はあります。

管理画面へ第3者が侵入するのを防ぐためには「IPアドレス制限」などの方法もありますが、出張に出かけるたびに、解除したり設定し直していたのでは手間がかかります。

海外IPからの侵入を防ぐということが、私が使っているエックスサーバーでは可能です。このレンタルサーバーに移してからサイトが攻撃されると言うことはなくなりましたが、やはり多少なりともコストがかかるSSL認証ですので、ひとつでもメリットを見つけ出したいと考えていました。

結果、調べれば調べるほど、その可能性と限界を知ることとなるのですが、結論として「httpのままよりは安全だろう」といった程度でしか、WordPressの脆弱性を狙ったWEBサイト改ざんには備えられないのではないか…というのが結論です。(某レンタルサーバーのファイヤーウォールも宛てになりませんし)

SSLのデメリット「必要ない」という業界人も…

では、次に「SSL化のデメリット」を見ていきたいと思います。

WEB担さんの2013年の記事には「SSLは必要ない」といった話も載っていました。

前述しましたが、お問い合せなどサイト訪問者に何もアクションを起こさせないブログサイトなどならSSL化やhttpsへの移行は必要ないでしょう。

また、SSL化、サイトを強制的にHTTPSでアクセスさせるからと言って、絶対傍受されないとは限りません。これはシステムの問題ですから、セキュリティ精度が上がれば、それをかいくぐるハッキング技術が高まるもの。そう言った意味ではイタチごっこかもしれません。

しかし、サービス提供者、商品販売者、情報提供者である私達に取って、顧客に対してやれるべきことは全てやるのが責務だと思います。

WEB担さんのその記事には「ユーザーにSSLなんて知っている人は少ない」と言う内容や「HTTPSかどうかなんて気にしていない」といった記述がありますが、顧客が知っているかどうか、顧客が気にしているかどうかは、この問題では関係ないような気もします。

もちろん、WEB担さんの云うことも納得します。なぜなら、楽天でさえ完全なHTTPS仕様にはなっていませんが、日本最大級のショッピングモールであることは間違いありません。

WEBサイトの常時SSL化をGoogleが推奨するようになって数年経ちますが、この間、導入コストも作業工数も大幅に短縮されたと思います。

古株SSLブランドのベリサイン(現:シマンテック)やSECOM-SSLなど最先端のセキュリティを誇るSSLの導入はやはり高コストではあるかもしれませんが、私が導入したプランは3年間で25,000円程度です。作業もシステム音痴の私がやって数時間でしたので、制作会社に依頼しても数万円程度で導入可能なのではないかと思います。

もちろん、移行作業中の安全性やアクセス遮断のリスクを回避するために夜間作業になる場合は、コストが上積みされるかも分かりませんが、しっかりとした制作会社さんなら開発環境などで一通りテストされることでしょうから、このあたりは依頼前にしっかりと確認された方が良いと思います。

【補足】
私がレンタルしているエックスサーバーでは、SSLのキャンペーンもやっているみたいです。3年間で1,500円というちょっと信じ難いプランもあるようです。

SSL導入手順とお薦めWPプラグイン

では、SSL導入の手順とHTTPSへの移行作業がかなり時間短縮になるWordPressのプラグインをご紹介致します。

作業手順は次の通りです。

  1. SSL導入手続き
    まずは、お使いのレンタルサーバーか、制作会社と相談し、SSL化の目的と導入するプランを決定します。
  2. サーバーへの導入、証明書の発行
    このあたりは申し込まれるSSLブランドによって多少異なるでしょうが、私が使ったエックスサーバーでは、申込と支払い完了を済ませると、サーバー作業と証明書発行はすべてサーバーが行なってくれました。作業時間は1日
  3. サイトコンテンツの改修(後述*1
  4. htaccessの編集:301リダイレクトとHSTSの設定(後述*2
  5. 外部サイトからのリンク修正と修正依頼
  6. メールの署名などを修正:必要なら名刺に記載のURLも

サイトコンテンツの改修

サーバーでHTTPS環境が準備されたら、サイトコンテンツ内に記載された「HTTP」をすべて「HTTPS」に切り替えます。切り替えるURLは次の通りです。(作業を開始する前に必ずバックアップを取るようにしてください)

  1. 内に記載の外部ファイル:CSSファイルやJavaScriptなどのURL
  2. 外部ファイルに記載している背景画像などのURL
  3. 内部リンクと画像リンク

項目にすると3つしかありませんので、それほど大変な作業には思えないのですが、実は3番目のコンテンツ内に記載しているサイト内部リンクと画像ファイルのURL書き換え作業は手作業にすると莫大な数に登ります。

この私のサイトは正味260ページ程度なのですが、この修正箇所は1,600ヶ所を超えました。

ましてや、どの記事にどれだけ内部リンクを設置してどれだけ画像を変更したかなんて覚えていません。

WordPressを使っていますので【設定】⇒【一般】から『WordPressアドレス』と『サイトアドレス』を修正すれば、メニューなどの項目は自動で入れ替えてくれますが、直書きした箇所に関しては、それぞれ修正しなくてはなりません。

そこで今回使用したのが「Search Regex」です。

Search Regex

「お使いのバージョンの WordPress ではテストされていません」と記述されていますが、私のサイト(Ver.4.3.1-ja)で、問題なく動きました。

使い方はとっても簡単です。

使い方に関しては、下記のブログさんがとても分かりやすいのでリンクを掲載しておきます。

【WordPress】全記事から検索して一括置換出来るプラグイン「Search Regex」が素晴らしい

私はこのプラグインを使って、上記1600ヶ所の修正を2分程度で完了させました。

この後、ウィジェット内のアドレスを手作業で修正しコンタクトフォーム7内のリンクをHTTPSに変更。

httpsで実際にアクセスしてみて、下図のようにhTTPSエラーがついているページを探します。

不完全なHTTPSページ

今回私のサイト内で起こった不完全なHTTPSの原因は、外部サイトから読み込む画像のURLがHTTPだったため起こりました。[email protected]の画像はHTTPSでもアクセス可能ですので、そのまま打ち変えて表示させることが出来ます。

原因追及には、Google Chromeなら【メニューバー】→【表示】→【開発/管理】→【デベロッパーツール】を開き【Console】タブを開くと何がエラーを起こしているのかを確認できます。

htaccessの設定「301リダイレクト」と「HSTS」

サイトコンテンツのHTTPS移行が完了したら、続いてアクセスを強制的にHTTPからHTTPSに誘導するための設定を行ないます。

htaccessの取り扱いに詳しくない方は制作会社などにお願いした方が良いでしょう。

HSTSというのは、HTTPで接続したドメインに対して次回以降、強制的にHTTPS接続にてアクセスさせるという設定。ただ、これだけでは初回アクセス時にはHTTP接続になってしまいますので、301リダイレクト(永続的な転送)の設定が必要になります。

私の場合は、下記のようにまとめてhtaccessに記述しました。

Header set Strict-Transport-Security “max-age=31536000; includeSubDomains; preload”
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

1行目がHSTSのコード。2行目以下がHTTPSへのリダイレクトコードです。

このコードの意味や解説に関しては、こちらのサイトが丁寧ですので参照ください。

常時SSL導入の注意点とSSLページのインデックスまでにかかる時間

最後にできる限りの設定と言うことで、HTTPSサイトであることをPreloaded HSTSに登録します。ここから登録サイトにアクセスしドメインを入力後「enter」キーを押せば登録完了。「登録には数週間かかる場合がある」といった英文記述が出れば成功。赤文字でエラーになった場合はhtaccseeの記述やApacheの設定にエラーがあります。

サーバー会社に相談するか制作会社に相談してみてください。

SSL化、httpsはネット集客に有効か!

最後に、WEBサイトの常時SSL化とHTTPSへの移行はネット集客に有効かどうか!という点を抑えておきたいと思います。

結論から申し上げますと、直接的なメリットはないと言うのが私の見解です。

GoogleはHTTPSを検索ランキングのシグナルとして使用すると言っていますが、その影響範囲は1%未満とも云っています。HTTPSだからどうの、そうじゃないからどうのと言うことは言えません。

何かと個人情報保護に関してまことしやかなニュースも流れますが、現代のようなインターネット時代に限らず、知らず知らずのうちに使っているTポイントや買い物の先々で加盟するお店のポイントカード、携帯電話のGPSなど「保護」する対象ではありますが、これらの情報は既に「保護された環境下で流れている」わけですから、何をもって個人情報の流出、個人情報の保護に当たるのかは、個人の見解と個人情報を取り扱う企業との間では隔たりがあると言うのが実情です。

今後、SSL化やHTTPS接続が普及するのか、それともインターネット回線自体のセキュリテーが強化されたり暗号化が強化され、ことさら「セキュアな接続がどうの」という話題は消えていくかもしれません。

HTTPSにしたから検索順位が上がったとか、どこそこのSSL認証シールを掲載したら売上が伸びたなどという報告もチラホラ見かけますが、SSLやHTTPSの仕組み上、それが直接的な要因であったかどうかは疑わしい限りです。

私の個人的な見解としては、SEO「検索エンジン最適化」同様にSSL化、HTTPS接続による顧客に安全な接続環境を提供するという行為は、WEB内で活動する企業人としてのマナーではないかと考えています。