【脆弱性対応】WordPress4.7.3へのアップデートをしよう。「Snapup」で簡単検証&リリース

【脆弱性対応】WordPress4.7.3へのアップデートをしよう。「Snapup」で簡単検証&リリース

※ 弊社サービスを用いたPR記事です

4.7.2からすぐ4.7.3がリリースに。


先日重大な脆弱性が見つかったWordPressで、4.7.2にアップデートされた方も多いかと思います。
そして今日3/7に新たに4.7.3がリリースされました。
https://ja.wordpress.org/2017/03/07/wordpress-4-7-3-security-and-maintenance-release/

WordPress 4.7.3 が公開されました。これは過去の全バージョンのためのセキュリティリリースであり、即時のサイト更新を強く勧告するものです。

引用:WordPress 4.7.3 セキュリティ・メンテナンスリリースより

前回の4.7.2で対応された脆弱性も大分重大なものでしたが、「全バージョンのためのセキュリティリリース」ということで今回はさらに対象が広がっているようです。

WordPressの脆弱性?改ざん?前回のはどんな感じだったの?

先日、WordPressの脆弱性(コンテンツインジェクション)が発表されました。WordPress4.7で有効となった「REST API」の処理に関する脆弱性で、認証をせずとも外部からコンテンツに変更を加えられるそうです(ざっくり)。攻撃手法は容易で、既に改ざん被害も確認されているようです。

IPAも警告

■ 概要

WordPress.org が提供する WordPress は、オープンソースのCMS(コンテンツマネジメントシステム)です。
WordPress には、REST API の処理に起因する脆弱性が存在します。

本脆弱性が悪用された場合、遠隔の第三者によって、サーバ上でコンテンツを改ざんされる可能性があります。

本脆弱性を悪用する攻撃コードが確認されていますので、対策済みのバージョンへのアップデートを大至急実施してください。

開発者は本脆弱性を 1 月 26 日に更新された「4.7.2」で修正しましたが、利用者の安全を確保するため、脆弱性の内容については 2 月 1 日まで公開を遅らせていたとのことです。今回のケースを教訓に、今後も最新版が公開された場合は早急にアップデートを実施してください。

■ 2/7 更新
Sucuri 社によると、本脆弱性を悪用して多数のウェブサイトが改ざんされたとの情報がありますので、対策済みのバージョンへのアップデートを大至急実施してください。

引用:IPA 独立行政法人 情報処理推進機構「WordPress の脆弱性対策について」より

被害サイト数は全世界で150万を越える?!

1月下旬のパッチで修正されたWordPressの深刻な脆弱性を突く攻撃が横行している問題で、
セキュリティ企業の米Feedjitは2月9日、同日までにFeedjitが把握しているだけで20あまりの集団が別々に攻撃を展開し、
改ざんされたページの総数は150万を超えていると報告した。

引用:ITmedia エンタープライズ  WordPressサイトの改ざん被害は150万件超に 「最悪級の脆弱性」

怖いですね。。4.7.2にアップデートされていない方はもちろんのこと、現状のバージョンが4.7ではないからとアップデートされていなかった方も今回は4.7.3へのアップデートが必要です。

CMSアップデートの面倒さ

それでもアップデートされていないwebページが存在するのは、以下のような理由ではないでしょうか?

  • あまり関心がない
  • そもそも担当者がいない

ただし自動アップデート機能などを有したWordPressでは、それ以外の理由もありそうです。

  • プラグインが対応しているかわからない
  • 大規模サイトのため実行していいか不安

など、セキュリティリスク軽減のためにアップデートの重要性は理解しているが、アップデート自体がその他に影響ないか、という面倒さが諸々疎かにしてしまう原因かもしれません。

Snapupなら手間なしで完了

先日こっそりリリースしたSnapupは、弊社が提供しているUniversions(制作者向けファイル管理、コラボレーションツール)から生まれたサーバーのスナップショットが取れたりステージングサーバーを構築できたりするサーバー管理向け新サービスです。

特徴

Snapupには以下のような特徴があります。

スナップショット

サイトを構成するデータ(DB含む)を保存することができます。スナップショット化されたサイトデータは他の管理サイトへも移すことができ、その時点のそのサイトを整合性を保ちます。

丸っと保存して、いろんなふうに使えますよ的な感じです。

検証環境

CMSを使ったWEBサイトでは、特にセキュリティリスクが高まります。
Snapupを使えば、本番環境ではなく、本番環境と同様の状況でアップデートや更新対応を検証できます。

丸っととったスナップショットをポンッとセットした検証環境をクラウド上に作れますよ的な感じです。しかもファイルマネージャーとか、アクセス認証とかも完備です。

バックアップ

ソフトウェアの更新をこまめに実施していても、リスクがなくなるわけではありません。いざというときはバックアップとして取得したスナップショットから、簡単に復元が可能です。

丸っととったスナップショットは制限数の中で保持できるため、検証環境だけでなく、本番に移すこともできますよ的な感じです。

つまり今回Snapupを使えば

  1. 本番からスナップショットを作る
  2. スナップショットから検証環境を作る
  3. 検証環境下でアップデートして検証してみる
  4. 良さそうだったら検証環境からスナップショットを作る
  5. アップデート後のスナップショットを本番にリリースする

という手順を簡単に行うことができます。
しかも全部Webブラウザ上で。

本番へ対して影響が及ぼすのは最後の「スナップショットをリリースする」のひとつのみです。しかも上記の作業は、ほぼボタン一つ押すぐらいという簡単さ!

レンタルサーバーのコンパネとか、ターミナル(黒い画面)とか、MySQLを操作するためのツールとか、FTPソフトとか、そんなもの一切立ち上げる必要は無いんです!

実験

本メディア「UNITOPI」でやってみましょう。
早速、4.7.3にアップデートしてみます!

  1. 本番からスナップショットを作る
  2. スナップショットから検証環境を作る
  3. 検証環境下でアップデートして検証してみる
  4. 良さそうだったら検証環境からスナップショットを作る
  5. アップデート後のスナップショットを本番にリリースする

これらを簡単にスクリーンショットと合わせてご紹介します。


まずはサーバー登録!

対象のサーバーへの接続情報を入力していきます。
SSHの接続情報になります。秘密鍵も対応しています!

最近のレンタルサーバーもSSH接続ができるところが増えてきていますね。

サーバー内の管理したいディレクトリを登録します。(Snapup上ではこれをサイトと呼んでいます)
このサイト単位でスナップショットの管理やステージングサーバーの構築を行います。

Unitopiサイトの登録ができました!

本番からスナップショットを作る

「本番サーバーから取得」を押して…

コメントを入力すると…

スナップショットの取得が始まります!

スナップショットの取得が完了しました
スナップショットはクラウド上に保存されるから、PCの容量を圧迫することもありません。もちろん、一式をダウンロードもできます。

unitopiはファイル数18000, サイズにして774MBもあったようです。。積み上げた歴史ですね

スナップショットから検証環境を作る

アップデートを本番でいきなりやるのはなかなか勇気がいりますよね。
画面が真っ白になっちゃって、頭も真っ白っていう経験はきっと誰しもあるはず!

そこでステージングサーバーの出番です。

Snapupでは登録したサーバーとは別のSnapupのサービス上にステージングサーバーを構築することができます。

ステージングサーバーにはスナップショットをセットでき、本番と同じような環境を作ることができます。
WordPressにも対応しており、サイトURLの自動書き換えやステージングサーバーに標準搭載のMySQLへのデータのインポートまで自動で行います。

ステージングサーバーの名前を決めます。(ランダムで名前が出てくるのでそのまま進めても問題ありません)

ステージングサーバーができました!

ここにさっき取ったスナップショットをセットします。このボタンを押すだけです。

ステージングサーバーへのスナップショットの転送が始まりました。

転送が完了したら、ブラウザでステージングサーバーにアクセスしてみます。
ちゃんとunitopiが表示されてる!
URLはhttp://{ステージングサーバー名}.stg.snapup.jpです。

これ、本番に全く影響ないから、なんでもしていいんです。好きにしていいんです。最高かよ。

※ステージングサーバーのサイトには認証機能がついて、Snapupからボタンやリンクから開くと普通に開けますが、
このURLだけ知ってても先に認証が出てくるので誰でもは開けません。

検証環境下でアップデートして検証してみる

まずはこのステージングサーバー上でWordPressのアップデートをしてみます。
本番と同じWordPressが動いているので、アップデートしてOKなら本番に入れても問題ないはずです!

WordPressの管理画面にログインして。。(パスワードなども本番と同じものです)
アップデートのお知らせとか「今すぐ更新」をためらいなくクリックできます!

なんたって、なんでもしていいステージングサーバーですから

良さそうだったら検証環境からスナップショットを作る

アップデートが完了したらステージングサーバーのサイトで動作や表示の確認をします。
ここはまだまだ人の手に頼るところです。慎重にやってくださいね。

unitopiの場合はアップデートしても動作や表示には影響がありませんでした!
よかった。。
大丈夫そうなのでこれを丸ごと本番にリリースしてしまいましょう!

「ステージングサーバーから取得」をクリックして、アップデート後の一式のスナップショットを取得します。

取得完了しました!
アップデートでファイル数が変わっているのが分かります。

アップデート後のスナップショットを本番にリリースする

ステージングサーバーから取得したスナップショットを本番サーバーにリリースします。

スナップショットの「本番サーバーへリリース」をクリックします。確認画面が出ます。

本番サーバーへのリリースが始まりました。

今ご覧になっているこのサイトはこうやってアップデートされました。

いかがでしたでしょうか?
説明を中心に書き連ねたのでちょっと長く、面倒そうになってしまったかもしれませんが、実際に触っていただけると簡単さが分かるかと思います。

ここまでの作業を見ていただければおわかりの通り、
レンタルサーバーのコンパネとか、ターミナル(黒い画面)とか、MySQLを操作するためのツールとか、FTPソフトとか、一切立ち上げませんでした。
全部ブラウザ上で、ローカルにバックアップを取ったりもせずに完結しました。

一度でも苦労したことのある人にはこの便利さをきっと分かっていただけるはず!

今後も定期的なアップデートを!

WordPressは世界で最も使われているCMSであり、脆弱性を突いた攻撃の標的となり続けることが予想されます。
大切なサイトやコンテンツを守るためにも、常に最新にアップデートしましょう!

Snapupなら安心してアップデート作業ができますよ!

Snapup

Author Profile

Shinya Imaguma
株式会社ユニマル代表取締役CEO and エンジニア。
Web制作チームのためのクリエイティブ・プラットフォーム『universions』では開発・運用を担当。
早起きが得意。

フォローして続編をチェック

@universionsをフォロー