今回は、WordPressの保守管理やWordPressのセキュリティ、そしてバックアップと復元についてお伝えしていきます。いざという時のWordPressの復旧・復元に備えて、WordPressのバックアップは非常に重要です。
WordPressのバックアップと復元で対応できるWordPressの保守と、個人情報保護の観点からそれ以上の対策が必要なケースまで、WordPressサイトの利用形態によって必要な範囲は様々です。
WordPressのメリットとデメリットでお伝えしておりますが、WordPressは世界的なCMSのため世界中のクラッカーの標的となっていることは事実であり、また、WordPress4.7.1の時のようなアップデートに伴う脆弱性によって、コンテンツの書き換えなどをされてしまうというケースもゼロではありません。
WordPressの保守やセキュリティについては、WordPressのホームページ制作お問い合わせ時に、稀にご質問いただく項目にはなりますが、よほどのセンシティブ情報を扱う場合でない限り、基本的にはバックアップによる保守管理で十分だと考えています。
それでは、トラブル時のWordPressの復旧のため、こうしたWordPressの保守やセキュリティ、バックアップと復元について少しずつ見ていきましょう。
WordPressの保守とバックアップ
まず、WordPressの保守とバックアップについてですが、原点から考えてみると、WordPressサイトは、WordPress本体とテーマ、プラグインといった基本的なサイトの構成に加えて、画像などのアップロードファイルなどが基本ファイルとしてサーバ―上にあります。
そして、投稿や固定ページなどの文章テキストや、プラグインでの設定などはMySQLに格納され、サーバー上の別の場所に保存されています。WordPressのシステム・デザイン関連ファイルに加え、MySQL内のデータが呼び出されることで、WordPressサイトのページが動的生成されている形になります。
WordPressサイトの構成
- WordPress本体、テーマ、プラグイン
- 画像などのアップロードファイル
- 投稿や固定ページなどの文章テキストや、プラグインでの設定(MySQL内のデータ)
WordPressサイトのバックアップファイルの構成
こうしたことから、WordPressの保守としてバックアップファイルの構成を考えた場合には、カスタマイズされたテーマやプラグイン、そのWordPressサイト独自の画像やテキストデータなど該当ファイルをローカル保存しておかないと代替がきかないファイル群が対象となります。
こうしたものがWordPress復旧の際に必要になります。
WordPress本体やWordPress管理画面で取得できるプラグインについてはいつでもWordPress公式サイトなどから最新バージョンや旧バージョンをダウンロードできるため、対象外として考えて良いでしょう。
WordPressサイトのバックアップの対象
そこで、WordPressサイトのバックアップの対象となるのは、オリジナルテーマやカスタマイズテーマであるのならばWordPressテーマの構成ファイル、そして、カスタマイズなどをしているのであれば、利用中のプラグイン、そして、画像などのアップロードファイルとMySQLデータです。
- WordPressテーマの構成ファイル
- カスタマイズプラグインの構成ファイル
- 画像などのアップロードファイル
- MySQLデータ
これらは、破損した時に同じものを他で取得できないことから、ローカル環境でバックアップしておく必要があります。これらのバックアップが無いと、WordPressにトラブルが起こった時に完全な復旧ができない場合があります。
ホームページ制作 京都 ファンフェアファンファーレでは、WordPressでのホームページ制作時には、WordPressテーマやカスタマイズプラグイン、そして、プラグインの初期設定値などについては、基本的にローカルでバックアップを取っています。
制作納品後に追加されたオリジナルデータはバックアップの必要が
しかしながら、WordPressサイトを運用されていくということは必然的にMySQLに格納されるコンテンツデータや画像データなどのアップロードファイルがホームページ制作時・納品時から増えていくことになります。
- MySQLに格納されるコンテンツデータ
- 画像データなどのアップロードファイル
こうした追加のオリジナルデータについては、WordPressバックアップのご依頼をいただかない限り弊社でも保存しておりませんので、データ損失時には復旧できない場合もあります。
WordPressサイト納品時の状態のデータは保存させていただいていたとしても、ページ追加やページの更新など、WordPressサイト納品後に追加されたものに関してはお客さま自身でのバックアップ、もしくはバックアップのご依頼による保守管理が必要になります。
WordPressの保守の必要性
WordPressの保守だけでなく、一般的なホームページの保守についての考え方としては、基本的に定期バックアップと必要に応じた復元だけで十分だと考えています(ただ、WordPressについては、本体、テーマ、プラグインのアップデートの必要がある他、サーバーのphpバージョンやデータベースのバージョンもアップデートされていくため、様々なメンテナンスが必要です)。
こうしたホームページの保守管理やサーバー保守についての取り扱いについては、「サーバー保守費用」Web制作会社による不透明なサーバー費用をご参照ください。
一般的な企業ホームページであれば、いわばWeb上での会社案内+オウンドメディアというような位置づけなので、万が一データが破損しても、復旧までの機会損失を除き、また同じような状態にさえ戻れば特に問題は無いと考えています。
極論を言えば、原本さえ保存しておけば、コピー用紙に印刷した「原本のコピー」が破れてしまっても、また原本からコピーを取ればいいだけ、といったイメージです。
WordPressにトラブルが起こった場合に、最終バックアップがあればその時点でのファイルを元に復旧作業をご依頼いただく形で復旧させていただきます。
保守の必要性と全体像
WordPressサイトの保守、ホームページの保守という点を考えると、「サイト状態を保てればよい」というものが中心になります。しかしながら、WordPressにはいくつかの注意点があります。
それは主に「改ざん等に対するセキュリティ」や「クラッキングの踏み台にされないためのセキュリティ」といったものや、「各種バージョンの不一致によるエラーを回避する」という点です。
そのために、WordPress本体、テーマ、プラグインをアップデート(更新)し、可能な限り最新の状態に保っておく必要が出てきます。
WordPress本体、テーマ、プラグインのアップデート(更新)
WordPress本体やテーマ、プラグインは常時アップデート(更新)されていきます。機能の追加がある他、セキュリティの問題を解消するために常にバージョンアップされていっています。
また、セキュリティや表示速度向上のためにサーバー上で上位のphpバージョンに変更する場合があります。WordPress本体やテーマ、プラグインがそれに対応するための更新も行われています。
アップデート(更新)のエラー
WordPress本体やテーマ、プラグインのアップデート(更新)作業自体は、WordPress管理画面内で行うことができますが、アップデートによってエラー(不具合)が発生する場合があります。
こうした時、手動で不具合を修正していく必要がある他、場合によってはバックアップ等による復元が必要になります。
テーマ・プラグインの不具合やphpバージョンとの不一致よるエラー(不具合)
WordPressに関する全てを最新の状態に保つということは良いのですが、それに伴い別の不具合が発生する場合があります。WordPress本体やテーマ、プラグインのアップデート(更新)を行った時、テーマの不具合やphpバージョンとの不一致よるエラーが発生する場合があります(phpバージョンを変更するつもりがなくても、サーバー会社側で変更される場合もあります)。
こうした時、WordPress本体は最新のバージョンになったとしても、サイト表示自体に影響が出ます。
バックアップによる復元等で元の状態に戻すことはできますが、「最新のセキュリティ状態を保つ」という意味での保守は叶わなくなります。
この場合、WordPressテーマやプラグインを修正するか、テーマ変更、代替プラグインの利用等、別の対策が必要になります。
バックアップ方法
さて、WordPressの保守としてのバックアップ方法ですが、基本ファイル群やアップロードファイルについてはFTPなどで一括ダウンロードしておくか、WordPressバックアッププラグインなどを利用し、MySQLデータについては、ツールのエクスポート機能を利用しxmlファイル形式で保存しておくと良いでしょう(厳密にはデータベース、sqlファイルをバックアップするのが理想です)。
WordPressのバックアップ自体は比較的容易に行うことができますが、データの復元を含めたWordPressの復旧・復元自体は高度な技術を要する場合があります。
MySQLのバックアップ
本格的なバックアップを実施する場合は、phpMyAdminを利用するか、データベースバックアッププラグインを利用して、MySQLをダンプ(生データのまま出力)します。
WordPressのツールのエクスポート機能によるxmlファイル(WordPress eXtended RSS)は、コンテンツデータの出力に対応していますが、ユーザー情報等やプラグインの設定には対応していません。
MySQLごとバックアップしておけば、コンテンツ内容だけでなくWordPressに関わるデータベース側の全設定・全データをバックアップすることができます。
WordPressのセキュリティ
次に根本的なWordPressのセキュリティについてですが、WordPressはブラウザでログインできるCMSであるため、一般的なHTMLの静的サイトと比べて、改ざんされやすいという面があります。
しかし、改ざんの可能性を考えたときは、例えばブルートフォースアタックで考えたときは、FTPログインに対して行われた場合と比較した場合は、それほど危険性の度合いは変わりません。
いっそ「FTP接続をブロックして操作はSSHのみ」という手もありますが、その分WordPressのプラグイン更新などで戸惑ってしまう可能性が上がります。この場合は、脆弱性が少し上がってしまいますが、functions.phpにフィルターを追記するなどで対応すると良いでしょう。
「FTP情報が必要」WordPressのプラグイン・本体の更新ができない
なお、通常のブルートフォースなどについては、WordPressのセキュリティ強化プラグインや二段階認証で概ね回避できると考えています。この点に関しては、WordPressに限らず、どの形式でのホームページ制作でも危険性はあると考えています。
後述しますが、特に海外の客層を対象としないサービスであれば、クラッカーの多い国や、いっそ日本国外からのアクセス自体を制限してしまうのも良いのではないでしょうか。
WordPress4.7.1のコンテンツ改ざんバグ
「WordPressのセキュリティについてはどう対応されていますか?」というご質問も稀にいただくのですが、特にWordPress4.7.1のコンテンツ改ざんバグがあったときは、この旨のご質問が多かったように記憶しています。
弊社は原則的にメジャーアップデートの際にはこうしたバグがあることが予測できるため、ある程度マイナーアップデートが行われた後のアップデートで対応しています。
「WordPress4.7.1のコンテンツ改ざんバグ」は、REST API の処理に起因する脆弱性によって、特にログイン情報が外部流出していない状態でもコンテンツの書き換えができてしまうという致命的なバグでした。なお、WordPress4.7.2以降でこの問題は修正されています。
WordPress4.7.1の時にあった、コンテンツ書き換えに関しても、コンテンツの改ざん時でもテキスト関連のデータのバックアップと復元で対応できると考えています。
もし、ハッキングで改ざん等があった場合は、最終バックアップからの復元で対応させていただきますが、定期バックアップをご利用いただいていない場合は、納品時のバックアップの復元で対応させていただいています(なお、ハッキング復旧に関しては、よほどの問題がない限り原則的に対応させていただいております)。
海外のクラッカーにハッキングされた事例
お客さまのWordPressサイトが、海外のクラッカーにハッキングされた事例があり、復旧させていただいた経験が数回あります。
本来はハッキングというよりもクラッキングと言いたいところですが、まあわかりやすくハッキングと表現させていただきます。
原因は非常に簡単で、お客さま側でWordPressのログインパスワードを極めて単純な英字で再設定されたことが原因でした。
WordPressホームページの納品時には、かなり長い大小混在の英字、数字、記号で設定させていただくのですが、やはり従業員の方々のWordPressのパスワード入力やパスワード忘れの対応が面倒だということになったようで、非常に簡単な英字4文字でパスワードを設定されたようでした。
ご連絡いただいたときには、特にWordPressサイトの表示は表面上問題は無かったのですが、お客さまがサーチコンソールと連携しているGoogleアカウントにログイン中に自社サイトを検索結果で確認したところ
「このサイトは第三者によってハッキングされている可能性があります」
とスニペットに表示されていたようで、ご連絡をいただきました。
ヘッダー部分とフッター部分に隠しリンク
そこで、WordPressサイトを確認してみると、ヘッダー部分とフッター部分に海外の詐欺サイトかウイルスサイトと思しきサイト(リンク先へは飛んでいませんので確認はしていません)への外部リンクが隠しリンクのような形で設置されていました。
海外クラッカーの目的は、どちらかと言うと、被リンク獲得か何らかの形でのリンククリックによるウイルスサイトへのアクセスだったのでしょう。
ドメイン種類を確認すると末尾は「.ru」、ということでロシアですね。
ロシアのクラッカーによりロシアのサイトへのリンクが設置されてしまっていたということですが、おそらく他のWordPressサイトにも同様の手口でリンク設置をしているのでしょう、Googleにパターンを検出されて、「ハッキングされている可能性があります」と検知されていたようでした。
ひとまずWordPressサイト内の全てのファイル群でそういった書き換え場所がないかチェックさせていただきましたが、幸いヘッダーとフッターのみの書き換えでした。
海外からのアクセス自体を遮断
そういうわけで、該当部分を削除させていただき、パスワードを強化し、同時にお客さまとのご相談の上、海外からのアクセス自体を遮断することにしました。
ハッキング(クラッキング)の危険性を軽減するためには、日本国外からのアクセス自体を制限してしまうのも良い方法だと考えています。企業の特性として海外の客層を対象としないサービスであれば特に問題は無いのではないでしょうか。
より高いセキュリティや保守を検討した方がいいケース
一般的な企業ホームページやメディアサイトなどでは、ホームページの本体と、コンテンツの復元さえできれば、セキュリティや保守についてはそれ以上血眼になって考える必要はありません。
しかし、より高いセキュリティや保守を検討した方がいいケースとして、WordPressをベースとしてECを行っていたり、CRMシステムのように顧客管理システム的な使い方をしているケースで、個人情報や個人情報の中でもセンシティブ情報を含む情報を扱っている場合です。
メールフォームなどに関しても、「送信先が改ざんされていた」という場合はかなりの問題ですので、そうした面でのセキュリティ強化は必要ですが、何よりMySQL内に顧客個人情報を保存し、管理する仕組みを導入している場合は、「元通りに戻せばそれでいい」というような問題では済みません。
こうしたWordPressの使い方やWordPressでなくとも他のCMSでECサイトなどを運営している場合には、より強固なセキュリティと保守管理を検討した方が良いでしょう。
WordPressのバックアップを復元する
どのようなホームページでもその危険性の度合いは異なれセキュリティ面では、完全にリスクを回避することはできません(究極的には全てのデータ保存サーバーに爆弾を仕込まれれば…と考えてください)。
ホームページの保守に関しては、月額で費用を請求しているところもあるようですが、先ほどお伝えしたとおり、そして「サーバ保守費用」のページでお伝えしているとおり、元通りにさえなればそれでいいと考えられるため、「自社でWordPressを運営しコンテンツを追加していて、ホームページ制作会社側で定期的に別途バックアップするという費用以外の名目」でのホームページ保守費用には違和感があります。
さて、WordPressサイトの復旧の要となる、WordPressのバックアップの復元についてですが、保守としての「バックアップ」自体はWordPressのプラグインなどでも可能ですが、復元となると一筋縄ではいきません。
投稿内容などのテキストデータが格納されているMySQLのデータのエクスポートとインポートだけでは完全に復旧させることができないケースがあります。
それについては後述するとして、まずは基本となるMySQLのデータのエクスポートとインポートから見ていきましょう。
MySQLのデータのエクスポートとインポート
MySQLのデータのエクスポートとインポートに関しては、復元時にインポートで対応できます。phpMyAdmin等で実施したバックアップファイルをインポートすれば、バックアップ時の状態に復元することができます。
xmlファイル(WordPress eXtended RSS)でもある程度復元することができますが、それのみではユーザーのプロフィール等、投稿や固定ページの内容以外の部分は復元できない場合があるため、可能な限りMySQLデータをバックアップしておいた方が無難です。
しかし、先の海外クラッカーによるWordPressテーマのヘッダー部分とフッター部分の書き換えのようにテーマファイルを改ざんされた場合には、該当部分をバックアップファイルで上書きする必要があります。
こちらに関してはWordPress管理画面からの操作でもできなくはないですが、FTPで一気にバックアップを復元したほうが効率が良いでしょう。
壊れたWordPressサイトを完全に復元することができない場合
こうした復元はまだ簡単ですが、「バックアップを取って、エラー時に上書きする」というだけでは壊れたWordPressサイトを完全に復元することができない場合があります。
なぜならば、クラッキングや悪意あるプラグインの操作、もしくはプラグインの誤操作によって、エラーの原因となるファイルが生成されていたり、サーバーの設定ファイルなどが上書きされていて、そのバックアップ自体は生成されていないというケースがあるからです。
該当ファイルを削除しないと元に戻らない場合
書き換えられているだけなら、バックアップファイルで上書きすれば元に戻りますが、こうしたエラーの原因となるファイルは「バックアップで上書き」という操作では対処できず、該当ファイルを削除しないと元に戻らない場合があるからです。
プラグインの停止とバックアップの上書きだけでは元に戻らない場合
また、「.htaccess」が書き換えられて、バックアッププラグインでは元の「.htaccess」はバックアップされていなかった、というケースもあるでしょう。
こうした問題はプラグインの停止とバックアップの上書きだけでは元に戻らない場合があります。別に悪意がないプラグインであっても、競合するプラグインを併用してしまった場合にはこうしたことも可能性としては起こりえます。
とりあえず復元できる程度にWordPress保守管理を
WordPressに限らず、ホームページの保守管理の目的は、「問題があった時に元の状態に復元できること」、つまり復旧し復元することであるため、WordPressサイトを利用する場合でも企業ホームページとオウンドメディア運営など、通常の使い方をするのであれば、特にそれほどリスクに怯える必要はないのではないでしょうか。
基本的にバックアップが必要ですが、バックアップがない場合でもある程度の形に復旧させることができればと考えています。
WordPressホームページ制作時の初期段階のファイルを手元に起きつつ、コンテンツ追加(テキストや画像など)を定期的に行っているのであれば、その周期に合わせたコンテンツの定期バックアップを実施するという形で心がけておけば、WordPress保守管理は十分ではないでしょうか。
パスワード強化と更新直前のバックアップ
海外クラッカーなどの脅威に対するセキュリティ強化は実施しておくに越したことはないですが、ひとまずはパスワード強化などで対応し、アップデートに伴うエラーなどについては、更新直前のバックアップで対応するという形でおそらく十分です。
あとは実験心に魔が差して変なプラグインを導入しないことでしょうか。
もし、新規プラグイン導入を検討している場合であれば、テストサイトでプラグインの導入テストを行ってからの方が良いかもしれません。エラーが起きてもプラグインの停止だけでは済まない場合がありますからね。
WordPressの復旧・復元ならお任せください
今回は、WordPressの保守管理やセキュリティ、バックアップと復元についてお伝えさせていただきました。
WordPressは便利なCMSですが、様々なシステムを組み合わせて稼働させているため、システムエラーなどのトラブルはつきものです。面倒ですが、いざという時復旧に備えてバックアップを取るということを習慣づけておいたほうが良いでしょう。
ひとまずはトラブル時にある程度の復旧ができるように備えておくことが大切です。
WordPressの復旧には、バックアップが必要ですが、バックアップファイルがない場合でも可能な限りテーマファイルの復元やエラーの修正を含めて復旧作業を手がけさせていただいております。
また、WordPress保守のためにバックアップと更新、エラー(不具合)発生時の復元を含めたアップデート作業の代行にも対応しています。アップデート作業時にそれまで使用できていたプラグインが使えなくなった場合、代替策等のご提案もしています。
ホームページ制作 京都 ファンフェアファンファーレでは、WordPressでのホームページ制作はもちろんWordPressサイトのカスタマイズや、WordPressのエラー復旧・復元など、様々なWordPressの関連のサービスを提供しています。WordPressでお困りの際は、ぜひお問い合わせください。WordPressのエラー復旧、エラー修正にも対応しています。
WordPress(ワードプレス)の復旧・復元・エラー修正