WordPressのSSL化

WordPressのSSL化

ブログも今や常時SSL をすることが望まれる時代になってきました。
Google社はSSLで保護されているWebサイトかどうかを検索順位を付ける際の要素とすると言っていますし。
また、WordPress環境を提供してくれるレンタルサーバー会社も無料のSSLを提供してくれるなど、常時SSL化の流れができているようです。

WordPressのSSL化の方法

WordPressをSSL化は、以下の手順で行います。
1)SSLサーバー証明書の入手/設定
2)WordPrssでの設定

SSL証明書の入手/設定

まずは、SSL証明書を入手する必要があります。
現在は、無料のものもありますし、もちろん有料のものもあります。

一方、最近はWordPress環境を提供してくれるレンタルサーバー会社も無料のSSLを提供してくれるところがあります。
私が使用している、IXWebHosting + StarDomain の組み合わせでもSSL化できます。
また、最近契約した StarServer では、ボタンクリックのみでSSLの環境を提供してくれます。
StarServer では、StarDomain 契約で StarServer で DNS を管理している場合にのみですが、SSL証明書入手して、そのままWebサーバーに設定するまでの作業を自動で行ってくれます。

自分の環境に合わせ、SSL証明書を手に入れ、Webサーバーに設定します。

参考までに StarDomain での「Let’s Encryptで無料のSSLを取得する」を紹介しておきます。
また、「IX Web Hosting SSLを設定する(初回設定)」も合わせて紹介しておきます。

WordPrssでの設定

プラグインでの設定が一番間違いないと思います。
お勧めのプラグインは Really Simple SSL です。
Really Simple SSL は、設定なしでサイトを SSL 対応にする軽量プラグインです。
※2018-05-11追記
Search Console Accelerated Mobile Pages に『ページにユーザー作成の JavaScript がある(重大な問題)ページからカスタム JavaScript のコードをすべて削除してください。AMP ページにカスタム JavaScript があると、Google 検索結果に AMP 固有の表示機能が表示されないことがあります。 詳細』と以下のような通達が来ました。

重大な問題のある AMP ページ

重大な問題のある AMP ページ


Really Simple SSL は設定によってJavaScriptを出力します。他のサイトでも Really Simple SSL を使用しているのですがこの警告?通達?通告?は出ていないので Really Simple SSL が悪さをしているとは限りませんが、他のプラグインでJavaScript を出力するものは無いので。。。
そのうち改修されるかも知れませんが、私は Really Simple SSL を使うのを止めました。
※2018-05-11追記終了

その他のお手軽な方法は.htaccessを使う方法があります。
httpからhttpsへの301リダイレクトさせます。
リダイレクトの設定は.htaccessに以下のように追加します。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://(ドメイン名)/$1 [R=301,L]

もしくは、

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

その後、WordPressの設定→一般のWordPress アドレス (URL)とサイトアドレス (URL)を Https に書き換えます。
また、内部で参照している画像等を http → https にしないと「保護されていません」とか「i」表示とかになり、「保護された通信」となりません。
チェックの仕方はありますがかなり面倒かと。。。
チェックの仕方は Google chrome の場合は、「F12」を押し、「console」を見るとエラーや警告が色づけされ表示されます。
一枚を直すのは苦じゃないですが大量にあると苦行になります。。。

Really Simple SSL の設定方法

プラグインの新規追加から Really Simple SSL を検索し、インストールします。

WordPressSSL化-Really Smiple SSLインストール

WordPressSSL化-Really Smiple SSLインストール

インストール後、有効にするボタンをクリックします。

WordPressSSL化-Really Smiple SSL有効化

WordPressSSL化-Really Smiple SSL有効化

すると、以下のような確認メッセージとともに表示されますので、

Really Simple SSL - SSLを化有効にする

Really Simple SSL – SSLを化有効にする

「はい、SSLを有効化します」ボタンをクリックします。

以上でSSL化が有効化され、かつ http から https への 301リダイレクト されるそうです。

また、上の.htaccess で行った時と決定的に違うのが、内部で参照している画像等を http → https に自動で行ってくれるので修正する必要がありません。
非常に便利です。

念のため、WordPressの設定→一般のWordPress アドレス (URL)とサイトアドレス (URL)を Https に書き換えましょう。

以上、WordPressのSSL化の紹介でした。

常時SSLとは

常時SSLとは

常時SSLとは
読んで字のごとく、常にSSL状態にあることを言いますが、どうやら全てのコンテンツ・ページがSSLで守られてることを言うそうです。

言い換えるとHTTPSしか使わないWebサイトのことになります。
今までは、Webサイトのログインページページ、メールなどの問い合わせページなど特定のページだけをSSLで保護していましたが、常時SSLは、その他すべてのページをSSL化することです。

常時SSL化はセキュリティ強化だけでなく、ユーザとウェブサイト運営者の双方にさまざまなメリットがあります。

どのページも安全

SSLでデータの通信を暗号化し、盗聴や改ざんを防ぐとで、SSL化されたウェブサイトは、URLの頭が「HTTPS」となり、通信の暗号化が保証されます。
どのページも安全になり、訪問者も安心して見ることができます。

Googleの検索順位が上がるかも

Googleは、2014年8月に、ウェブサイトがHTTPS(常時SSL)かどうかを検索順位の決定要因にすることを発表しました。
すべてのWebサイトに対してHTTPからHTTPSへの切り替えを推奨しています。
また2015年12月には、常時SSL化されたウェブサイトでHTTPページとHTTPSページが同じコンテンツであれば、HTTPSページを優先的にインデックスするというアナウンスを行いました。

また、「HTTPサイトは安全でない」と主要ブラウザが警告強化を出すようになってきています。

これらの動きは、訪問者が安心してWebサイトを見ることができるためのインフラ整備と考えて良いと思います。
安全な環境を整備することで「ユーザが安心して利用ができる優良なコンテンツである」と評価されることになります。

アクセス解析に活用

リファラ( Referrer )を参照することで、どこからそのページに要求が来たのかを知ることができ、アクセス解析に利用できます。

しかし、https: から http: へのリンクでは、 リファラは送らないことになっています。
そのため、常時SSL化していないとアクセス解析が漏れるケースが出てきます。

Google検索自体は既に常時SSL化されています。
訪問者がGoogleで検索した検索結果をクリックしてウェブサイトに来た場合、WebサイトがHTTPSであればGoogle検索から来た訪問者としてアクセスログに残ります。

HTTP/2で高速表示

HTTP/2とは、HTTPより、高速に表示させるための通信プロトコルです。
主要なWebブラウザはHTTP/2をサポートしています。
ただ、Webブラウザにおいては、HTTP/2は https 上でのみサポートされているので、SSL化されていないと HTTP/2 は使用されません。
他にもWebサーバー事態にも HTTP/2 モジュールが導入されていないとダメですが、随時使用できるようになると思います。

尚、以前はHTTPSの導入で表示が遅くなったと言う話が聞かれましたが、PCの高機能化やサーバーの高機能化に伴い暗号化/復号化にかかる時間が短縮されたため現在は気にする必要が有りません。

SSLとは

SSL

SSLとは
SSLとは、Secure Sockets Layer の略のことで、1994年にNetscapeによって開発された世界標準のセキュリティーテクノロジーです。

現在は、Transport Layer Security(トランスポート・レイヤー・セキュリティ、TLS)が正式な名称ですが、TLSの元になったプロトコルがSSLであったため、現在でもSSLと呼ばれることが多いです。
TSLもSSLも、インターネットなどの公開されたコンピュータネットワークにおいて安全性を担保し通信を行うためのプロトコルです。
主な機能として、「通信相手の認証」、「通信内容の暗号化」、「改竄の検出」があります。

バージョンは、以下のように推移しています。
SSL 1.0 :実装されず破棄されました。
SSL 2.0 :1995年
SSL 3.0 :1996年 後に脆弱性が問題になりTLSへ移行
TLS 1.0 :1999年
TLS 1.1 :2006年
TLS 1.2 :2008年 2017年12月現在に至る
TLS 1.3 :草案中

通信相手の認証

SSLを利用するためには、Webサーバーに証明書を登録する必要が有ります。
証明書のレベルにもよりますが、一定以上の証明と言えるでしょう。
しかし、フィッシング詐欺に使われることもありますので、注意が必要です。

SSLサーバ証明書は大きく分けて2つの種類があります。
ドメイン認証型と企業認証型のSSLサーバ証明書です。

企業認証のSSLサーバ証明書は、SSLによる暗号化機能に加えて、Webサイト運営組織が本当に存在しているかをSSL証明発行者が直に確認して発行されるSSLサーバ証明書です。
企業・組織の実在性を、登記事項証明書や第三者データベースに基づくインターネットを経由しない「電話による確認」が行われるため、ドメイン認証型よりも高い信頼性を実現しています。
そのため企業認証型のSSLサーバ証明書は、個人や個人事業主が取得することはできません。

ドメイン認証のSSLサーバ証明書は、SSL/TLSの暗号化のみに特化したSSLサーバ証明書です。
ドメイン名の所有名義を確認して、SSLサーバ証明書を発行します。
個人でも取得できます。
ドメイン名を所有していれば、誰でもSSLサーバ証明書の取得が可能なため、Webサイト運営組織が本当に存在しているかどうかは確認できません。
そのため、悪意のある個人や組織がパスワードやクレジットカード番号を盗み取ろうとするフィッシング詐欺に利用されるケースもあり、利用者側で注意が必要になります。

通信内容の暗号化

SSLを利用すると、通信される情報を暗号化できます。
インターネットは送受信中に情報を見られることがあります。
しかし、暗号化することによって情報が守られ、簡単に盗み見されることはありません。

ただし、SSLに使われる暗号方式によっては、危険があります。
例えば、TLS 1.2ではすでに危殆化したDES、RC4、MD5、SHA1が選択可能であり、この事が脆弱性の原因となっています。
TLS 1.2を使用しかつDES、RC4、MD5、SHA1で暗号化していた場合、最悪情報は盗み見されます。
しかし、あくまでも可能性の話ですので、適切にSSLを利用したWebサイトを利用している限りほぼ大丈夫です。

WordPressにおけるSSL

WordPressにおいてのSSLは、WebサーバーとWebブラウザーとの間で、データを暗号化し送受信できる通信方法です。
WordPressはもともと情報発信をするブログなので個人情報やクレジットカード情報をやり取りすることはありません。
コメントを登録する際に個人情報の一部を登録することになりますが、ニックネームやyahooメールなどを利用すれば十分ですので、あえて本名やメインメールアドレスを書くことはないと思います。
企業がWordPressで大々的な販売システムや情報システムやホームページを運営している場合は、上のことは当てはまりませんが、個人でブログ運営は上の通りと思います。

しかし、今やGoogle社が考えている通り、通常からSSLを使用する(常時SSL)のが当たり前となりそうです。
実際、WordPress環境を提供するレンタルサーバー会社は無料のSSLを提供しています。
ここは時代の流れと思い、WordPressにもSSL化をすべきでしょう。

StarServer 移転前動作確認URLでサブドメインの動作を確認したい

StarServer 移転前動作確認URLでサブドメインの動作を確認したい


現在、IX Web Hosting からネットオウルのスターサーバー(StarServer)へサーバー移動をしています。
その際、ネットオウルのスターサーバー(StarServer)では、移転前動作確認URLを利用できるのですが、少し悩んだのでメモしておきます。

ただ、特にWordPressに関係する話ではないので、自分の備忘録です。

移転前動作確認URL

移転前動作確認URLは、ドメインのネームサーバーを変更する前にサイトを確認できるURLを発行できます。
既に他社でサイトを運営している場合のサイト移転などの確認に活用できます。

ただ、注意点があります。
最初にドメインを登録した後、SSLを使用する前にすぐに取得する必要が有ります。
SSLを取得後は、発行の依頼を運営に行う必要が有り、時間を食うことになります。

移転前動作確認URLでサブドメインの指定方法

取得した移転前動作確認URLの後ろにサブドメインを含むURLを付加します。
例)
このドメインは「bia.jp」です。
サブドメイン「wordpress」です。
http://bia-jp.check-netowl.jp/wordpress.bia.jp/ でアクセスします。

この他、bia.jpのルートディレクトリの .htaccess ファイルでリダイレクトする方法も有るようです。

以上、備忘録まで。

WordPress 4.9.1 セキュリティ・メンテナンスリリース

WordPress 4.9.1 セキュリティ・メンテナンスリリース

2017年11月30日、WordPress 4.9.1 がリリースされました。

WordPress 4.9.1は、WordPress 4.9 およびそれ以前のバージョンで、4件の潜在的にマルチベクトル型攻撃の一部として機能し得るセキュリティ問題が存在していました。
セキュリティ強化コアチームの継続的なコミットにより、WordPress 4.9.1 でそのセキュリティ問題が修正されました。

また、セキュリティに関する問題に加えて WordPress 4.9.1 では11件のメンテナンス修正が実施されています。

詳しくは下のWordPress Codex 日本語版 Version 4.9.1 のページで確認してください。
『WordPress Codex 日本語版 Version 4.9.1』