WordPressはPHPというプログラム言語を使って、ホームページを構築しています。PHPを始め、ソフトウェアは機能の改善や、セキュリティの担保のためセキュリティアップデートやバージョンアップを適切に行っています。今でも利用されているPHPの5.6と7.0のセキュリティサポートが2018年12月に終了する、ということについてその対策などを書きたいと思います。
PHP5.6は2018年12月31日まで、PHP7.0は2018年12月3日まででセキュリティサポートが終了します
PHPという言語は常に新しいバージョンが発表されています。おおよそのところ、発表されてから2年間はアクティブサポート期間、その後の1年間はセキュリティサポート期間となっているようです。
アクティブサポート:バグやセキュリティの問題を解決するためにアップデートする
セキュリティサポート:セキュリティの問題を解決するためにアップデートする
※ http://php.net/supported-versions.php 参照
この図にあるように、今現在が Today: 2 Aug 2018 で、現行のPHPバージョンでは PHP7.1、PHP7.2がアクティブサポート期間、PHP5.6、PHP7.0がセキュリティサポート期間です。
※ http://php.net/supported-versions.php 参照
また、こちらの図にそれぞれのバージョンとサポート期間の図があります。ここにあるようにPHP5.6は2018年12月31日まで、PHP7.0は2018年12月3日で、セキュリティサポート期間が終了します。おおよそ3年間ということですがPHP5.6は多く使われていたせいかセキュリティサポート期間が2年間ほど行われているようです。
このように、状況によってはセキュリティサポート期間が延長されることもあるようですが、本日(2018/08/02)現在ではPHP5.6とPHP7.0については今年の12月でセキュリティサポートが終了する、という認識になります。
セキュリティサポートが終了した場合の問題は?
セキュリティサポートは脆弱性などが報告された場合の修正を行う、ということになるのでその期間が終了すれば、脆弱性についての修正は行われないという認識で合っているかと思います。
つまり、セキュリティサポートが終了したPHPのバージョンを使っているとWEBサイトに脆弱性がある、ということになります。
PHPのセキュリティサポートは利用しているサーバーのOSなどによっては、セキュリティサポートを独自に行っていて、古いバージョンのPHPでもセキュリティを修正しているという場合もあります。
WordPressでホームページを作っている多くの方は、レンタルサーバーを利用されていると思いますので、レンタルサーバーでのPHPの対応状況を調べると良いと思います。
エックスサーバー(XSERVER)の場合
エックスサーバーのPHPバージョンについての情報は、
https://www.xserver.ne.jp/manual/man_program_php_ver.php
こちらにあります。
既にセキュリティサポートが終了しているPHP5.4以下のバージョンについてOSベンダーによるパッチにて、影響の大きな脆弱性を中心にセキュリティ修正が行われますと書いてあるので、今現在はこれらのバージョンを使っていても独自のセキュリティ修正は行われているようです。少し気になるのがPHP5.5もセキュリティサポートは終わっているのですが、独自のセキュリティ修正について書いてありません。OSベンダーによるパッチの予定もわからないので、安全性はグレーゾーンということかとも思われます。
しかし、PHP7.2.xへの移行を推奨しますとあるように、今後いつまでそのパッチも提供され続けるかわからないので現行バージョンの一番新しいPHP7.2.xとしておくことが良さそうです。
しかし、PHPのバージョンを上げる前に、後述の「PHPのバージョンを上げる前に考えておくこと」をお読み下さい。
ロリポップ!の場合
ロリポップ!のPHPバージョンに関する情報は、
https://lolipop.jp/manual/hp/cgi/
現在はPHP5.6もしくはPHP7.1のどちらかを選択することになっているようです。セキュリティサポートの終了したバージョンのPHPはないようでした。
また、
こちらにお知らせがありました。少し古い記事ですが、
この度、PHP7.1の提供開始とあわせまして、ロリポップ!では『PHP5.5』を新規に設定することができなくなりました。
現在『PHP5.5』を設定されているドメインは、引き続き『PHP5.5』をご利用いただくことができますが、現在『PHP5.5』を設定されていないドメインは、PHPバージョンを『PHP5.5』に設定いただくことができません。
なお、『PHP5.5』はPHP自体のサポート提供が既に終了しておりますので、脆弱性を突かれた改ざん防止、およびセキュリティ面を考慮し、今後ロリポップ!で提供自体を終了する可能性がございます。
『PHP5.5』をご利用の場合は、お早めに最新バージョンへの変更を行っていただきますようお願いいたします。
と、前回PHP5.5のサポートが終了したのが2016/07/10だったようですので半年後ぐらいにこのお知らせが書かれたようです。
ということで、現在ロリポップを利用されている場合はPHP7.1をにしておくことが、今後もPHPのセキュリティアップデートがされるので良さそうです。
しかし、PHPのバージョンを上げる前に、後述の「PHPのバージョンを上げる前に考えておくこと」をお読み下さい。
PHPのバージョンを上げる前に考えておくこと
ゆうそうとではお客さんのホームページをメンテナンスしたり、別のレンタルサーバーに移行する仕事もしています。
その際に
・WordPressの本体や、プラグイン、テーマなどのアップデートが溜まっていたのでアップデートしたらエラーが出た
・別のサーバーに移行したらエラーが出た
このような状況が起こることがあります。多くの場合、その原因はPHPのバージョン問題です。最新のWordPressは
https://wordpress.org/about/requirements/
こちらにあるように、
PHPバージョン7.2以上を推奨しています。
ということでPHPが古かったり、プラグインやテーマが最新のPHPに合わない古い記述(昔はエラーが出ない書き方だったけど、新しいPHPではエラーになる)が残っていたりしてエラーが出るようになります。
まずは今のホームページで利用しているPHPのバージョンは何なのか?ということを確認してみましょう。確認するには、利用しているサーバーの管理画面を見るかあるいは、Display PHP Versionプラグインを入れて、有効化すると
ダッシュボードの最初の画面
ここに、
このようにPHPのバージョンが表示されるようになります。まずは自分のホームページのPHPバージョンを知ることが重要です。
その他、
こちらの記事も参考になるかと思います。
バージョンを上げる、沢山のアップデートをする前にテストしてみると分かりやすい
PHPのバージョンが低く、上げた方がいいとか、沢山アップデートが溜まってしまっているがアップデートしたい場合は一度本番環境でないところでテストをしてみるといいと思います。
xamppなどのローカル環境や、レンタルサーバーにテストできるドメインがあればall in one migrationなどのプラグインでエクスポートしてインポートすれば、全く同じホームページを作ることができるので、PHPのバージョンを上げたり、アップデートを実行して問題が起こらないかなどのテストをすることができます。
慣れない人にはちょっと難しいかもしれませんが、これらができる方であれば試してみるのが一番確実です。
まとめ:WordPressやPHPは常に進化し続けるので、追随していく必要があります!
WordPressやPHPなどのオープンソースは、止まらない限り常に進化し続けていきます。そのため、一度作ったらそのまま置いておくということではなく「時々メンテナンスする」と必要があります。メンテナンスというのはphpのバージョンが古くなりすぎてセキュリティサポートが終了したら上げるとか、WordPressの本体、プラグイン、テーマのアップデートを行うとかのことを指します。
PHPやWordPressのバージョンアップでお困りの際は、ゆうそうとが有償で対応しますので、まずはお問い合わせ下さい!
コメント